Jusky Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 Hallo, ich möchte einen Datensatz in Access unter VB ändern. Folgenden Code habe ich dazu bereits programmiert: Dim strSQL As String Dim rsLoadInfos As ADODB.Recordset Set rsLoadInfos = New ADODB.Recordset strSQL = "SELECT Wert FROM Tabelle WHERE eintrag = '" & Name & "'" Debug.Print strSQL rsLoadInfos.Open strSQL, AdminDB, adOpenStatic, adLockBatchOptimistic, -1 'Wert bei Name soll auf 1 gesetzt werden ??????? rsLoadInfos.Close Set rsLoadInfos = Nothing Name ist ein Parameter und wird beim Aufruf übergeben. Wie kann ich nun den Inhalt in der Spalte "Wert" abändern? Der Datentyp des Inhalts ist long und soll in der Zeile, wo eintrag = Name ist, von 0 auf 1 gesetzt werden. Danke für die Hilfe!!! MfG, Jusky Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 Kann mir denn keiner helfen??? Die Sache ist leider sehr dringend!!! Eine verzweifelte Jusky. Zitieren
Klotzkopp Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 VB ist lange her... rsLoadInfos.Fields.Item(0) = 1 rsLoadInfos.Update ...alles ohne Gewähr, könnte auch Item(1) sein. Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 Hallo Klotzkopp, erst einmal danke für die schnelle Hilfe! Ich habe es gleich mal ausprobiert, aber er bringt mir ne Fehlermeldung: das Objekt kann nicht gefunden werden... Weitere Tips? Zitieren
Klotzkopp Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 Was sagt denn der Debugger an der Stelle? Hat der Recordset eine Fields-Collection mit Items? Zitieren
Der Kleine Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 Probiers mal mit : rsLoadInfos.Edit rsLoadInfos("Wert") = 1 rsLoadInfos.update Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 @Klotzkopp Wie kriege ich das denn raus? (Er zeigt mir nur ne Fehlermeldung, die ich aber nicht debuggen kann.) @Der Kleine Da meckert er bei mir auch rum: Methode oder Mitgliedsdaten nicht gefunden. Der kennt Edit nicht.... Zeigt bei mir nur EditMode an, wenn ich die Methodenauflistung bekomme. - Das geht aber auch nicht, da es anscheinend eine ungültige Methode ist... Zitieren
Klotzkopp Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 Originally posted by Jusky @Klotzkopp Wie kriege ich das denn raus? (Er zeigt mir nur ne Fehlermeldung, die ich aber nicht debuggen kann.)Setze einen Breakpoint auf die Zeile nach dem Open, und starte das Programm im Debugger. Wenn das Programm an dieser Stelle hält, kannst du dir ansehen, was im Recordset drinsteht. Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 Da kommt irgendwie nix gescheites: rsLoadInfos.Fields...=<Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden. Und nun? :confused: Zitieren
Klotzkopp Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 Gibt es denn einen Datensatz, auf den der Name passt? Was ist, wenn du = durch LIKE ersetzt? Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 Habe das Ganze nochmal mit rsLoadInfos.Fields.Item(0) = 1 probiert. - Der Compiler bringt mir jetzt keine Fehlermeldung mehr. Aber wenn ich unter Access in die DB gehe und mir die Daten anschaue, dann ist der alte Wert immer noch da. Es wurde nichts geändert! Habe ich vielleicht irgendwas vergessen? - Sind vielleicht die Parameter beim SQL-Abruf vielleicht falsch? rsLoadInfos.Open strSQL, AdminDB, adOpenStatic, adLockBatchOptimistic, -1 Oder muss ich vielleicht irgendwas noch mit AdminDB anstellen? Zitieren
Klotzkopp Geschrieben 20. Februar 2003 Geschrieben 20. Februar 2003 Was steht denn drin? Das Passwort kannst du ja aus-xxxen. Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 Da steht der Provider drin (MS Jet...), die UserID, Passwort, der Pfad (in welchem Verzeichnis die DB liegt), MODE: Share Deny None... Ist das denn für die Datenspeicherung relevant? Zitieren
Jusky Geschrieben 20. Februar 2003 Autor Geschrieben 20. Februar 2003 Hey, Moment mal... Ich habe es soeben geschafft!!!!!! Mit folgendem Aufruf klappt es: rsLoadInfos.Open strSQL, AdminDB, adOpenStatic, adLockBatchOptimistic, -1 rsLoadInfos.Fields.Item(0) = 1 rsLoadInfos.Fields.Refresh rsLoadInfos.UpdateBatch rsLoadInfos.Close Dank dir für die Denkanstöße!!! MfG, Jusky 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.