Supportnet / Forum / Datenbanken
DLookup
Frage
[b]Hallo und guten Morgen,[/b]
In einem UFO habe ich diverse ArtikelNR den jeweiligen Usern im HF zugeordnet.
Nun möchte ich gerne überprüfen, ob eine Artikel Nummer die ich neu Eingebe schon vorhanden ist im UFO.
Dlookup sollte da helfen, aber irgenntwie komm ich mit der Syntax nit klar ( Hausbreites Brett vorm Kappes :)
Gruß Ralf
Antwort 1 von Teddy7
laut Access-Hilfe:
DLookup(Ausdr, Domäne, Kriterien)
z.B.
Dim varX As Variant
varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")
reicht Dir das ?
Gruß
Teddy
DLookup(Ausdr, Domäne, Kriterien)
z.B.
Dim varX As Variant
varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")
reicht Dir das ?
Gruß
Teddy
Antwort 2 von RalfH
@ Teddy, Danke für Deine immer bereite Hilfsbereitschaft !
Ich habe folgendes Versucht bekomme aber leider ne Fehlermeldung, dass das Objekt nicht geöffnet ist:
Dim a As String
a = InputBox("Bitte die Artikel-Nummer eingeben")
If DCount("*", "[Bestelldetails]", "ArtikelNR = " & a) > 0 Then
MsgBox "Diese ArtikelNr ist der Kostenstelle schon zugeordnet!"
Else
DoCmd.GoToRecord acForm, "[Bestelldetails Unterformular]", acNewRec
Forms!Bestellungen![Bestelldetails Unterformular]!ArtikelNr = a
Gruß Ralf
End If
Ich habe folgendes Versucht bekomme aber leider ne Fehlermeldung, dass das Objekt nicht geöffnet ist:
Dim a As String
a = InputBox("Bitte die Artikel-Nummer eingeben")
If DCount("*", "[Bestelldetails]", "ArtikelNR = " & a) > 0 Then
MsgBox "Diese ArtikelNr ist der Kostenstelle schon zugeordnet!"
Else
DoCmd.GoToRecord acForm, "[Bestelldetails Unterformular]", acNewRec
Forms!Bestellungen![Bestelldetails Unterformular]!ArtikelNr = a
Gruß Ralf
End If
Antwort 3 von Teddy7
Hi Ralf !
a ist doch ein string - muß also in Hochkommas gesetzt werden:
If DCount("*", "[Bestelldetails]", "ArtikelNR = ´" & a & "´") > 0 Then
Ist ArtikelNr allerdings eine Zahl, dann solltest Du die Variable auch als Zahl definieren - und dann geht der dcount-Befehl so wie er ist.
Gruß
Teddy
a ist doch ein string - muß also in Hochkommas gesetzt werden:
If DCount("*", "[Bestelldetails]", "ArtikelNR = ´" & a & "´") > 0 Then
Ist ArtikelNr allerdings eine Zahl, dann solltest Du die Variable auch als Zahl definieren - und dann geht der dcount-Befehl so wie er ist.
Gruß
Teddy
Antwort 4 von RalfH
Hi Teddy,
Access schimpft bei:
gruss ralf
Access schimpft bei:
DoCmd.GoToRecord acForm, "[Bestelldetails Unterformular]", acNewRecgruss ralf
Antwort 5 von Teddy7
immer noch mit "Objekt nicht geöffnet " ??
Ist denn das Unterformular geöffnet ?
Evtl. geht der Befehl auch nur, wenn man sich im UF befindet.
Das ist jetzt mit langen Stangen im Nebel fischen !
Ist denn das Unterformular geöffnet ?
Evtl. geht der Befehl auch nur, wenn man sich im UF befindet.
Das ist jetzt mit langen Stangen im Nebel fischen !
Antwort 6 von RalfH
Hi Teddy,
Sorry wahr aufm Lehrgang.
Das Problem hat sich gelöst.
Hier mal der funktionierende Code:
Hier musste erst der Focus auf das UFO gesetzt werden, und das ganze in eckige Klammern, also auch das HF ( muss ja einen auch mal gesagt werden ;-) dann ging es !
Trotzdem Dankeschön für Deine Hilfe !
Gruß Ralf
Sorry wahr aufm Lehrgang.
Das Problem hat sich gelöst.
Hier mal der funktionierende Code:
Dim a As String
a = InputBox("Bitte die Artikel-Nummer eingeben:")
If DCount("*", "[Bestelldetails]", "ArtikelNR = " & a) > 0 Then
MsgBox "Diese ArtikelNr ist der Kostenstelle schon zugeordnet!"
Else
Forms![Bestellungen]![Bestelldetails_Unterformular].SetFocus
DoCmd.GoToRecord , , acNewRec
Forms![Bestellungen]![Bestelldetails_Unterformular]![ArtikelNr] = a
End IfHier musste erst der Focus auf das UFO gesetzt werden, und das ganze in eckige Klammern, also auch das HF ( muss ja einen auch mal gesagt werden ;-) dann ging es !
Trotzdem Dankeschön für Deine Hilfe !
Gruß Ralf

