Veteran
Beiträge: 137
| HQbauer - 30.06.15 23:26
ich möchte in einem Formular nach der Daten eingabe prüfen ob diese Nummer (ZbNr) in der Stammdatentabelle schon vorhanden ist wenn ja soll nicht passieren wenn nicht dann soll ein Formular zur Stammdaten eingabe auf gehen.
Dim strWHERE As String
strWHERE = "[ZbNr]=" & Nz(Me!tbxSuchZbNr, 0)
If DCount("*", "Hunde", strWHERE) = 0 Then
' Nicht vorhanden
DoCmd.OpenForm "Hunde", acNormal,,,acFormedit
Rein für sich gesehen ist dein Code so korrekt. Es lässt sich daraus aber nicht ersehen, ob er zu den zugrundeliegenden Objekten passt.
Damit diese Code funtkioniert, müsste sowohl eine Tabelle (oder Abfrage) "Hunde", als auch ein Formular "Hunde" existieren. - Das ist ungünstig, weil Du mit dem Namen allein nicht klar erkennen kannst, was genau gemeint ist. Deshalb ist es empfehlenswert ein vom Objekttyp abgeleitetes Präfix vor jeden Namen zu setzen.
Also "tblHunde" für eine Tabelle und "frmHunde" für ein Formular.
Hat das Feld [ZbNr] in der Tabelle den Datentyp Zahl? Andernfalls musst Du Kriterien in Hochkommata einschließen.
Das würde dann so aussehen:
strWHERE = "[ZbNr]='" & Nz(Me!tbxSuchZbNr, 0) & "'"
----- https://codekabinett.com/ |