Flameboy Geschrieben 11. April 2002 Geschrieben 11. April 2002 Hi Leute! Ich komme einfach nicht mehr weiter! Ich hab in VB ein ADO-Steuerelement auf mein Formular gesetzt, dass wie gewünscht die Verbindung zu meiner Datenbank herstellt! Wenn ich nun zum Beispiel den Befehl: Dim var As String var = "SELECT Spalte1 FROM Tabelle Where Spalte1 =" & "'" & txtTextfeld.Text & "'" AdoStundensatz.RecordSource = var AdoStundensatz.Refresh eingebe funktioniert das einwandfrei! Gebe ich zum Beispiel folgendes ein! Dim Variable As String Variable = "INSERT INTO Tabelle values('100','300','10000')" AdoErfassung.RecordSource = Variable AdoErfassung.Refresh Dann schreibt mir das Programm zwar die Werte in die Tabelle(was eigentlich schon viel wert ist), ABER es kommt zu einer Fehlermeldung und Programmabbruch: Schlüsselwort Into nicht erwartet. Gültige Token: For With Order Union Optimize Ich verwende einen ODBC-Treiber dessen Einstellungen ich auf Lesen/Schreiben (alle SQL-Anweisungen zulässig) konfiguriert habe! Hat jemand von Euch ne Ahnung warum sich das Programm daran aufhängt?? Wäre echt sau gut, da ich einfach nicht mehr weiterkomme! Bye Flameboy Zitieren
Tiana Geschrieben 11. April 2002 Geschrieben 11. April 2002 Hi, mhhhh, also das Dein SQL Statement so funktiniert wundert mich , ich kenne den Insert befehl nur so: Insert Into Tabelle (Feld1, Feld2) Values (Wert1,Wert2) Probiere das doch einfach mal aus. Gruß, Tiana Zitieren
Flameboy Geschrieben 11. April 2002 Autor Geschrieben 11. April 2002 Hi! Das funktioniert leider auch nicht! Als Fehlermeldung bekomme ich jetzt: Die Operation ist für ein geschlossenes Objekt nicht zugelassen! Laufzeit Fehler '3704' Anwendungs-oder objektdefinierter Fehler Zitieren
fireworker Geschrieben 11. April 2002 Geschrieben 11. April 2002 Welches Steuerelemt soll das - AdoStundensatz und AdoErfassung - sein? Ich mache das mit ADODB.Connection und ADODB.Recordset. öffne die Connection am Anfang mit: strConn = "dsn=;uid=;pwd=;database=" Set Connection= New ADODB.Connection Connection.Open strConn und lade das Recordset, wenn ich es benötige mit: Set rs = New ADODB.Recordset rs.Open 'String', 'Connection', adOpenStatic, adLockOptimistic z.B.: String="select ...." Wenn ich was zurückgebe, dann mit: 'Connection'.execute string z.B.: string="insert into ...." Noch Fragen? Zitieren
Tiana Geschrieben 11. April 2002 Geschrieben 11. April 2002 Hi, ich denke auch, dass es besser ist mit Connection.execute zu arbeiten, ich mache das persönlich auch so. Deine 2. Fehlermeldung deutet auch darauf hin, wo das Problem liegt,an irgendeiner Stelle wird dein Recordset geschlossen, daher sagt er auch beim ersten mal "Into" unzulässig. Ich persönlich schreibe immer eine Sub FillRecordset und führe diese nach dem Update der Datenbank durch, somit bekomme ich keinerlei Probleme damit, das meine Daten nicht stimmen. Gruß, Tiana Zitieren
Flameboy Geschrieben 11. April 2002 Autor Geschrieben 11. April 2002 Hi Leute! Ihr habt mir echt viel geholfen! :) BIG THX!! Ich hab bisher das Adodc-Steuerelement benutzt und war eigentlich im Glauben, das beim Programmstart die Connection hergestellt wird und erst wieder beim Programmende die Verbindung beendet wird, aber anscheinend wurde die Verbindung schon vorher zum Teil beendet! Naja, jetzt funzt es! Nochmal Danke! Bye Flameboy 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.