PDA

Vollständige Version anzeigen : Datentyp einer Variablen; Laufzeitfehler 3077


Mickey
03.05.2001, 09:21
Hallo Leute,
wie läßt sich denn während der Laufzeit der Datentyp einer Variablen feststellen?
Das Problem ist, daß bei folgendem Code eine Fehlermeldung auftritt:
Laufzeitfehler 3077, Syntaxfehler(Fehlender Operator in Ausdruck)

If Me.Listenfeld1.ItemsSelected.Count > 0 Then

For J = 0 To Me.Listenfeld1.ItemsSelected.Count - 1
auswahl = Me.Listenfeld1.ItemData(Me.Listenfeld1.ItemsSelected(J))
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("tbl_select", dbOpenDynaset)
rst.FindFirst "Nachname= " & auswahl
If rst.NoMatch = True Then
rst.AddNew
rst![Nachname] = auswahl
rst.Update
End If
rst.Close
Next
End If

Der Fehler tritt bei der FindFirst Methode auf.
Da ich den Code aber in einem anderen Form und Modul genau identisch laufen lasse (ohne Fehlermeldung), kann ich mir nicht erklären, wo der Fehler liegen sollte. Vielleicht an falsch deklarierten Variablen?
Bin für jede Hilfe dankbar.

Ciao Mickey

Kurt aus Kienitz
03.05.2001, 10:13
Hallo,

Kann mir höchstens Vorstellen, daß da die Anführungszeichen für einen Stringvergleich fehlen.
Probier es mal so:

rst.FindFirst "Nachname= '" & auswahl & "'"

A.S.
03.05.2001, 10:25
Hallo Mickey,

für Tabellenbasierte Felder kannst Du die Type-Eigenschaft der entsprechenden Field-Auflistung abfragen.


Dim db As Database
Dim tb as TableDef
Dim fl as Field
Dim fType as String

Set db = CurrentDB
For each tb in db.TableDefs
Debug.Print "Tabellenname: ", tb.Name
For each fl in tb.Fields
Debug.Print " Feldname: ", fl.Name
Select Case fl.Type
Case dbText
fType = "Text"
Case dbInteger
fType = "Integer"
.
.
End Select
Debug.Print " Typ: ", fType
Next fl
Next tb
Set fl = nothing
Set tb = nothing
Set db = nothing


Den Rest der Feldtypen-Konstanten findest Du, wenn Du im Code-fenster mit F1 auf dbText arbeitest.

In Deinem Fall sollte die Zeile mit dem FindFirst aber IMHO so lauten:


rst.FindFirst "[Nachname] = '" & auswahl & "'"


HTH

Arno

Mickey
03.05.2001, 10:32
Danke Ihr zwei,

werde mich gleich mal dransetzen, hoffentlich finde ich ja den Bug.

Ciao Mickey

Mickey
03.05.2001, 10:35
Habe ihn schon,

@ Kurt Du hattest recht, es fehlten die Anführungszeichen. Nochmals vielen Dank und bis bald.

Ciao Mickey