Hallo!
ich hab da einen datentyp fehler in der prozedur
beide daten aus den tabelen sind ein long
schreibe ich Dim lngV_ID As Long dann ist in der zeile lngV_ID = "SELECT tb.... laufzeitfehler 13
schreibe ich Dim lngV_ID As Variant klappts nur ist dann in der zeile
.Recordset.FindFirst "[Veranstalter_ID] = " & lngV_ID die fehler meldung Syntaxfehler
Dim Frm As Form
Dim lngV As Long
Dim lngV_ID As Long
Set Frm = Forms!frm_Veranstaltung
lngV = InputBox("Bitte geben Sie eine Veranstaltung´s ID ein", "Veranstaltung´s Suche")
lngV_ID = "SELECT tbl_Veranstaltung.Veranstaltung_Veranstalter_IDRef" & _
" From tbl_Veranstaltung" & _
" WHERE tbl_Veranstaltung.Veranstaltung_ID = " & lngV
If Nz(lngV_ID, 0) > 0 Then
With Frm
If .FilterOn = True Then .FilterOn = False
.Recordset.FindFirst "[Veranstalter_ID] = " & lngV_ID
End With
Me.Recordset.FindFirst "[Veranstaltung_ID] = " & lngV
Else
MsgBox "Die Veranstaltungs ID ist nicht vorhanden!", vbInformation Or vbOKOnly, "nicht Vorhanden!"
End If
Zum vergleich in der prozedur klappt alles
Private Sub lst_Suchergebnis_DblClick(Cancel As Integer)
'Sub Verbessert
Dim Z As Integer
Dim Msg As String
Dim Frm As Form
If fncPruefen Then
For Z = 0 To lst_Suchergebnis.ListCount - 1
If Me!lst_Suchergebnis.Selected(Z) = True Then
Set Frm = Forms!frm_Veranstaltung
With Frm
If .FilterOn = True Then .FilterOn = False
.Recordset.FindFirst "[Veranstalter_ID] = " & Me!lst_Suchergebnis.Column(2)
End With
Me.Recordset.FindFirst "[Veranstaltung_ID] = " & Me!lst_Suchergebnis.Column(0)
End If
Next Z
Me!lst_Suchergebnis = Null
Me!txt_Suche.SetFocus
Me!lst_Suchergebnis.Visible = False
End If
End Sub
gruß Frank
Hi,lngV_ID = "SELECT tb....dies ist eine Stringzuweisung, wie unschwer zu erkennen ist. Zum Ausführen der Abfrage kannst du bspw. die OpenRecordset-Methode einsetzen.
Das sähe dann so aus:lngV_ID = CurrentDB.OpenRecordset("SELECT tbl_Veranstaltung.Veranstaltung_Veranstalter_IDRef" & _
" From tbl_Veranstaltung" & _
" WHERE tbl_Veranstaltung.Veranstaltung_ID = " & lngV)(0)
Dann hast du aber ein Problem, wenn die ID nicht vorhanden ist. Besser, du lässt die ID per Kombifeld auswählen, damit du sicher sein kannst, dass es auch einen Datensatz dazu gibt.
Hi!
ok des war vor dem ersten kaffee wohl peilich :-)
ich hab im leichtsinn versucht das DLookup zu umgehen ;D
Danke MaggieMay
Ok, DLookUp empfiehlt sich, wenn du nicht sicher bist, ob etwas gefunden wird.
Das sähe dann so aus: lngV_ID = NZ(DLookUp("Veranstaltung_Veranstalter_IDRe f", "tbl_Veranstaltung", "Veranstaltung_ID = " & lngV), 0)
If lngV_ID > 0 Then