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
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
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
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?
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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden