Druid Geschrieben 6. August 2002 Geschrieben 6. August 2002 Hallo Leute.. Ich hab folgende Funktion geschrieben und die ging auch immer (in allen anderen Programmen), aber jetzt auf einmal nicht mehr: Public Function GetWert(ByVal sSQL As String) As String Dim dbs As Database, qdfTemp As QueryDef, rs As Recordset Set dbs = CurrentDb With dbs Set qdfTemp = .CreateQueryDef("", sSQL) Set rs = qdfTemp.OpenRecordset If Not rs.EOF Then If Not IsNull(rs.Fields(0).Value) Then GetWert = Trim(rs.Fields(0).Value) End If End If End With End Function sSQL ist vom Typ String und enthält die SQL-Anweisung Die Funktion gibt mir einen Wert als String zurück, den ich dann in eine Variable schreiben kann... Wenn ich mein Programm jetzt ausführe kommt folgende Fehlermeldung: "1 Parameter wurden erwartet, aber es wurden zu wenige übergeben" Der Fehler taucht in der Zeile set rs = qdftemp.openrecordset auf! In der Access-Hilfe stehen ein paar optionale Argumente. Wenn ich die hinzufüge, bringt er eine andere Fehlermeldung: "Datentypen stimmen nicht überein" Ich brauch dringend ne Lösung!!! Ich weiß echt nicht weiter :confused: MFG Druid :cool: Zitieren
Meenzer Geschrieben 6. August 2002 Geschrieben 6. August 2002 Hi! Ich glaube, Du musst beim Öffnen des Recordsets noch die Quelle angeben. Also in Deinem Fall die QueryDef oder das SQL. Quasi so: --------------------------------------------------------------------------- Public Function GetWert(ByVal sSQL As String) As String Dim dbs As Database, qdfTemp As QueryDef, rs As Recordset Set dbs = CurrentDb With dbs 'Set qdfTemp = .CreateQueryDef("", sSQL) Set rs = .OpenRecordset(sSQL) If Not rs.EOF Then If Not IsNull(rs.Fields(0).Value) Then GetWert = Trim(rs.Fields(0).Value) End If End If End With End Function ------------------------------------------------------------------------ Wenn ich Dich richtig verstehe willst Du prüfen, ob es einen Datensatz für Dein SQL gibt. Also brauchst Du doch nur das Recordset mit Deinem SQL zu öffnen. Ich hoffe, ich konnte Dir helfen. Gruss Zitieren
Druid Geschrieben 6. August 2002 Autor Geschrieben 6. August 2002 Dankeschön.. aber daran lag es nicht.. In meiner SQL-Anweisung hab ich einen Fehler gemacht. Ich hab einen Spaltennamen abgefragt, den es gar nicht gibt *schäm* Aber Access kann mir da ja nicht sagen, dass ich nur die Spalte falsch geschrieben hab, sondern muss gleich mit kryptischen Fehlermeldungen beeindrucken *grrrr* Aber trotzdem Danke für deine Hilfe MFG Druid :cool: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.