Just nu i M3-nätverket
Gå till innehåll

Problem med Dlookup


intelinside

Rekommendera Poster

Hej

 

Jag har ett formulär där jag vill populera en textbox med ett värde som jag hämtar i en tabell baserat på ett invärde som jag vill hämta i ett annat fält i samma formulär.

 

Om jag skulle skriva SQL direkt skulle SQL queryn skulle sett ut typ såhär: select huvudkategori from kategori where underkategori = 'Bensin';

 

Nu vill jag alltså hämta ett värde i fältet (drop down) fieldUnderkategori i formulär Form1 och använda det för att hämta huvudkategori och lägga det i fieldHuvudkategori.

 

Jag har provat att för fieldHuvudkategori ange följande Dlookup:

 

=DLookup("huvudkategori", "kategori", "underkategori = "' & Forms![Form1]!fieldUnderkategori & "'" )

 

Men det funkar inte. Jag får #value? fel.

 

Någon som kan hjälpa mig?

 

 

Länk till kommentar
Dela på andra webbplatser

Cege Anderson

Hej

 

Jag hinner inte skriva exakt hur du skall göra men kanske kan du ha hjälp av nedanstående exempel. Jag använder inte DLookup.

 

Mitt exempel bygger på att jag väljer ett företag i en kombobox och sedan, utifrån det valda företaget vill jag i komboboxen för Kontaktperson, bara se kontakter från det företaget .

 

Det är ju inte exakt som ditt men ...

 

Jag lägger in som radkälla ikomboboxen för Kontaktperson att den skall kolla i komboboxen för Företag vilket företag som valts:

 

SELECT DISTINCTROW [frgKontaktperson.Namn], [frgKontaktperson.IDPerson] FROM frgKontaktperson WHERE ((([tblKontaktperson.FöretagNr]) Like Forms!NamnetPåFormuläret!cboFöretag));

 

Hoppas du har hjälp av detta exempel på lösning.

 

// Cege

[inlägget ändrat 2010-01-20 12:47:07 av Cege Anderson]

[inlägget ändrat 2010-01-20 15:00:57 av Cege Anderson]

Länk till kommentar
Dela på andra webbplatser

:thumbsup: Det funkar ju fint med ditt exempel men en följdfråga kommer direkt.

 

Direkt när formuläret laddas (eller refreshas genom refreshknappen i menyn (2007)) så populeras ju comboboxen baserat på värdet och queryn. Men om jag ändrar invärde (i ditt exempel byter företag) hur får jag då formuläret att fatta att den skall köra queryn igen och uppdatera det andra fältet (i ditt exempel kontaktpersoner?

 

Uppskattar din (och andras) hjälp

 

Länk till kommentar
Dela på andra webbplatser

Cege Anderson

Good point :-)

 

Förslag:

För den första oberoende komoboboxen, mitt fall heter den Företag" stoppar du in följande kod i egenskapen för EfterUppdatering

 

Private Sub Företag_AfterUpdate()

 

Me!cbo2 = Null

Me!cbo2.Requery

 

End Sub

 

och där cbo2 då är namnet på den andra, beroende, komboboxen

 

Jag tror dessutom att jag har med denna kod när hela formuläret laddas också

 

testa

 

// Cege

 

[inlägget ändrat 2010-01-23 13:01:52 av Cege Anderson]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...