PDA

Vollständige Version anzeigen : HILFE bei Fehlermeldung


Din
11.05.2004, 09:17
Hallo Leute,

hab jetzt schon eine ganze Weile im Forum gesucht, aber nicht das passende gefunden.

Habe eine Suchprozedur erstellt, die soweit auch (durch Eure Hilfe) funktioniert.

Jetzt wird mir die Fehlermeldung " 1 Parameter wurde erwartet, aber es wurden zu wenige Parameter übergeben". Hab leider keine Ahnung was diese Meldung bedeutet.

Hier mein SQL-String: SELECT * FROM tblGetriebedeckel WHERE WocoNr Like '02 12345*';

falls dieser nötig ist.

Und hier der Prozedurausschnitt in dem die Fehlermldung angezeigt wird (in Zeile vier "Set Liste = ..."):



sql = "SELECT * FROM tblGetriebedeckel WHERE " & sql & ";"



'Testen, ob Datensätze vorhanden

Set db = CurrentDb
Set Liste = db.OpenRecordset(sql, dbOpenSnapshot)
If Liste.RecordCount < 1 Then 'Suche erfolglos

MsgBox "Es konnte kein entprechender Datensatz gefunden werden!", 48, "Erfolglos"
FokusSetzen

Else 'Suche erfolgreich

DoCmd.OpenForm "Ergebnis_Getriebedeckel"
Forms!Ergebnis_Getriebedeckel.RecordSource = sql


End If



Hoffe mir kann jemand weiterhelfen!

J_Eilers
11.05.2004, 09:23
Hi,

das hier hat IMO keinen konkreten Wert:

sql = "SELECT * FROM tblGetriebedeckel WHERE " & sql & ";"

Woher soll diese Nummer kommen?

Din
11.05.2004, 09:33
Die Nummer ist mein Suchkriterium! Die hatte ich schon eingegeben, als ich mir den SQL-String habe anzeigen lassen.

Arne Dieckmann
11.05.2004, 09:34
Wie sieht denn nun der komplette Code aus?

J_Eilers
11.05.2004, 09:34
Aber du überschreibst deine SQL-Variable wieder. Wie sieht das davor des Codes aus?

Din
11.05.2004, 09:38
Genauso nur ohne die nummer.

J_Eilers
11.05.2004, 09:40
Und woher soll diese Nummer kommen?

Arne Dieckmann
11.05.2004, 09:41
Soll das hier zum Ratespiel mutieren? :rolleyes:

Noch einmal: Bitte poste den kompletten Code Deiner Suchroutine und versuche mal wieder mit Debug.Print die String-Variable vor dem Öffnen des Recordsets auszugeben. Evtl. siehst Du dann den Fehler

Benenne auch einmal den Datentyp von WocoNr im Tabellenentwurf. Ist das wirklich ein Textfeld? Heisst das Feld wirklich so?

Din
11.05.2004, 09:42
Du meinst doch die Nummer ' 02...'. Das ist mein Suchkriterium, das ich in mein Suchformular eingegeben habe.

J_Eilers
11.05.2004, 09:44
Dann beziehe dich doch auch einfach auf dieses Textfeld:

sql = "SELECT * FROM tblGetriebedeckel WHERE '" & Me!Suchfeld & "*'"

Din
11.05.2004, 09:50
@arne:

So ich habe den Debug.Print nochmal ausgeführt (nachdem ich zwei meiner vier Suchkriterien eingegeben habe). Dabei kam das heraus:

SELECT * FROM tblGetriebedeckel WHERE WocoNr Like '02 12345A*' AND Kunde Like 'Daimler Crysler*';


und ja, WocoNr ist ein Textfeld:



@jan:

ich kann es nicht auf !meinSuchfeld' beschränken, da ich mehrere suchkriterien habe.

Arne Dieckmann
11.05.2004, 10:02
Tritt der Fehler denn immer auf? Oder kommt es nur zum Fehler, wenn Du keine Suchkriterien eingegeben hast?

Übrigens erhalte ich den Fehler, wenn ich z.B. einen falschen Feldnamen verwende. Du musst auf jeden Fall den korrekten Namen verwenden. Wenn Du eine Beschriftung für das Feld "WocoNr" im Tabellenentwurf vergeben hast, dann muss ebenfalls der Feldname und nicht die Eigenschaft "Beschriftung" verwendet werden.

len00x
30.07.2004, 11:10
EDIT: Es war ein Tippfehler drinnen, den ich immer wieder übersehen hatte

Bei mir tritt die selbe Fehlermeldung immer bei diesem Code auf:


rSource = Form_Rezepte_Sub.RezeptID.Value
rDestination = Form_Rezepte_Sub_Kopieren.RezeptID
strSql = "INSERT INTO Rezept_Zutatenzuordnung (RezeptID,Datum,Menge,Anmerkung,ZutatenID,ZutatenID_2) " & _
"SELECT " & rDestination & " AS RezeptID,Datum,Menge,Anmerkung,ZutatenID,ZutatenID_2 FROM Rezept_Zutatenzuordnung " & _
"WHERE RezeptID=" & rSource & ""

CurrentDb.Execute (strSql)


Hat jemand eine Idee, woran das liegen könnte?

btw: der Code dient zum kopieren aller Datemsätze mit der RezeptID=rSource in die selbe Tabelle, wobei der neue Datensatz die RezeptID=rDestination bekommen soll.