PDA

Vollständige Version anzeigen : Fehler über Fehler - und alle bei mir . . .


Xena
08.10.2001, 11:13
Hi @ll,

ich komme mal wieder nicht weiter . . .


Private Sub Mitarbeiter_anlegen_Click()
On Error GoTo Err_Mitarbeiter_anlegen_Click

'Dim rs As recordset
'Dim db As Database
Dim rst As ADODB.recordset
Set rst = New ADODB.recordset

'Dim sql_string As String
'sql_string = "INSERT INTO Mitarbeiter_Daten ( Vorname, Name, Geburtsdatum, Privat_Strasse, Privat_Hausnr, Privat_PLZ, Privat_Ort, Privat_Telnr, Mobil_Telnr ) values (Formulare!Mitarbeiter_hinzufuegen!Vorname,Formulare!Mitarbeiter_hinzufuegen!Nac hname,Formulare!Mitarbeiter_hinzufuegen!Geburtsdatum,Formulare!Mitarbeiter_hinzu fuegen!Strasse,Formu lare!Mitarbeiter_hinzufuegen!Hausnummer,Formulare!Mitarbeiter_hinzufuegen!PLZ,Fo rmulare!Mitarbeiter_hinzufuegen!Ort,Formulare!Mitarbeiter_hinzufuegen!Telefonnum mer,Formulare!Mitarb eiter_hinzufuegen!Handynummer);"
'DoCmd.RunSQL sql_string
'Set db = Application.CurrentDb
'sql_string = "select ID from Mitarbeiter_Daten where Vorname = Formulare!Mitarbeiter_hinzufuegen!Vorname and Nachname = Formulare!Mitarbeiter_hinzufuegen!Name"
rst.Open "select ID from Mitarbeiter_Daten where Vorname = Formulare!Mitarbeiter_hinzufuegen!Vorname and Nachname = Formulare!Mitarbeiter_hinzufuegen!Name", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
'Set rs = db.OpenRecordset(sql_string, dbopendynaset)

Exit_Mitarbeiter_anlegen_Click:
Exit Sub

Err_Mitarbeiter_anlegen_Click:
MsgBox Err.Description
Resume Exit_Mitarbeiter_anlegen_Click

End Sub


Ich wollte nichts weiter, als ein bestimmtes Feld aus einer Tabelle auszulesen, damit ich den Wert weiter benutzen kann. Nun bekomme ich bei meinem Code die Fehlermeldung : "Für mindestens eine erforderlichen Parameter wurde kein Wert angegeben."
Ich weis nur, dass der Fehler an der Stelle rst.open ist, hab aber keine ahnung warum . . .

Gruß Xena

Bwacki
08.10.2001, 11:20
Hallo Xena,

der Fehler schein IMHO bei der Verkettung des Suchstringes zu liegen:
rst.Open "select ID from Mitarbeiter_Daten where Vorname = Formulare!Mitarbeiter_hinzufuegen!Vorname and Nachname = Formulare!Mitarbeiter_hinzufuegen!Name",

müßte heißen "...where Vorname = '" & Formulare!Mitarbeiter_hinzufuegen!Vorname & "'" & " AND Nachname = '" & Formulare!Mitarbeiter_hinzufuegen!Name & "'"

Viel Glück

Bwacki

Xena
08.10.2001, 11:24
Hi Bwacki,

das hab ich auch schon versucht, scheint aber nicht das Problem zu sein - ich hab mittlerweile festgestellt, dass der Fehler nur auftritt, wenn ich in dem SQL-Statement eine WHERE-Bedingung hab. *verwirrtguck*
Das gibt für mich aber genausowenig Sinn . . .

holgii
08.10.2001, 11:32
Hallo,


...AND Nachname = '" & Formulare!Mitarbeiter_hinzufuegen!Name...

Kuck mal, ob's besser wird, wenn das Formularfeld für "Nachname" nicht mehr "Name" heisst.
"Name" ist ein reserviertes Wort innerhalb Access...

Nur ne Vermutung.

Gruß
holgii

Bwacki
08.10.2001, 11:34
Hallo
man muss natürlich vorher genau lesen, bevor man etwas schreibt <Asche_auf_mein_Haupt>
ich denke mal, der Befehl rst.Open kann da nicht so ganz stimmen : Open ist eigentlich eher für Im/Export von externen Daten, aber nicht für SQL-Statements bzw. Abfragen.
Da müsste rst.Openrecordset ("...") stehen, oder ?!?

Viel Glück

Bwacki

Xena
08.10.2001, 11:43
hmm, also soweit ich es aus der Hilfe entnehmen konnte, kann man schon ein SQL-Statement dort verwenden - nur steht da natürlich nicht, ob auch mit WHERE-Bedingung . . .
ich werds mal mit Openrecordset versuchen

Gruß Xena