Gegevens ophalen met Dlookup met variabel in criteria

Status
Niet open voor verdere reacties.

fmeca

Gebruiker
Lid geworden
7 sep 2009
Berichten
95
Hoi,

Ik wil waarden in een tabel ophalen met volgende werkende instructie;

Code:
                    T_Afschak = DLookup("Aardlek_MaxAfschakTijd_ms", "tbl_Aardlekschakelaar", _
                        "Aardlekschakelaar_30 = " & T_Afschak)

Dit werkt. Nou zijn in de tabel van de variabele 'Aardlekschakelaar_30' ook nog 'Aardlekschakelaar_300' en Aardlekschakelaar_'500' aanwezig. Dit zijn de kolomkoppen. Ik zoek de waarde in de betreffende kolom
Ik wil dezelfde code gebruiklen door in de criteria de 30 te vervangen door een veld 'Meet_Aardlek_Idn'.

Onderstaande code of varianten hierop krijg in niet aan het werken.

Code:
T_Afschak = DLookup("Aardlek_MaxAfschakTijd_ms", "tbl_Aardlekschakelaar", _
                        "Aardlekschakelaar_& Meet_Aardlek_Idn = " & T_Afschak)

Zelfs door de het compleet in de string 'test' te plaatsen en vervolgens in de criteria op te nemen werkt niet. Terwijl het geheel in de msgbox wel juist wordt weergegeven.

Code:
 test = "Aardlekschakelaar_" & Meet_Aardlek_Idn
        'MsgBox test
            Select Case Meet_Aardlek_IUit
                Case (0.5 * Meet_Aardlek_Idn) To (0.99 * Meet_Aardlek_Idn) 'van tot Idn
                    T_Afschak = (0.5 * Meet_Aardlek_Idn)
                    T_Afschak = DLookup("Aardlek_MaxAfschakTijd_ms", "tbl_Aardlekschakelaar", _
                        "Test = " & T_Afschak)

Wie kan mij de oplossing geven!!!

B.v.d.
 
Uit je voorbeeldje krijg ik de indruk dat je de DLookup toepast op een formulier, gezien althans de Msgbox die je hebt uitgeprobeerd om de variabele samen te stellen. Dat brengt mij bij een oplossing die in mijn ogen beter en sneller is dan DLoopup:
Code:
iSchakelaar = "Aardlekschakelaar_" & Me.Meet_Aardlek_Idn.Value
Select Case Meet_Aardlek_IUit
    Case (0.5 * Meet_Aardlek_Idn) To (0.99 * Meet_Aardlek_Idn) 'van tot Idn
        T_Afschak = (0.5 * Meet_Aardlek_Idn)
        strSQL = "SELECT Aardlek_MaxAfschakTijd_ms FROM tbl_Aardlekschakelaar WHERE " _
            & iSchakelaar & " = " & T_Afschak & ")"
        With CurrentDb.OpenRecordset(strSQL)
            If .RecordCount > 0 Then T_Afschak = .Fields(0).Value
            .Close
        End With
End Select
 
Hei Michel,

Bedankt,
Het werkt perfect, nadat ik de laatste )"verwijdert heb uit:

Code:
       strSQL = "SELECT Aardlek_MaxAfschakTijd_ms FROM tbl_Aardlekschakelaar WHERE " _
            & iSchakelaar & " = " & T_Afschak & ")"

Mijn dank is wederom groot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan