Office: (Office 2010) Recordset Datensatz ändern

Helfe beim Thema Recordset Datensatz ändern in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hi ich habe ein Problem. Ich möchte einen Wert von bestimmten Datensätzen in einer Tabelle ändern. Code: Set rs = CurrentDb.OpenRecordset("Für... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von steffen89, 5. September 2015.

  1. Recordset Datensatz ändern


    Hi

    ich habe ein Problem. Ich möchte einen Wert von bestimmten Datensätzen in einer Tabelle ändern.

    Code:
    Das Feld BestellungID ist ein Integer Feld.

    Als Fehlermeldung erhalte ich:

    Laufzeitfehler 3157:
    ODBC: Aktualisierung in einer verknüpften Tabelle 'Bestellung' fehlgeschlagen.


    Die Datenbank wird auf einem SQL-Server betrieben.

    :)
     
    steffen89, 5. September 2015
    #1
  2. Hallo!

    Wenn das BE auf einem SQL-Server liegt, mußt Du ein ADODB Recordset verwenden.
    Ein Beispiel:
    Code:
    Wolfgang
     
  3. bei "Dim rs As ADODB.Recordset" bekomme ich eine Fehlermeldung das der benutzerdefinierte Typ nicht definiert wurde.
     
    steffen89, 7. September 2015
    #3
  4. Recordset Datensatz ändern

    Hallo!

    Dann fehlt der Verweis auf die in A2010 aktuellste
    Microsoft ActiveX Data Objects x.x Library.

    Die Fehlerbehandlung ist nicht einmal ein Entwurf.
    Die mußt Du auf jeden Fall anpassen.
    Wenn keine Verbindung zustande kommt mußt Du aussteigen.

    Ist die Beschäftigung mit einem SQL-Server für Dich Neuland?

    Wolfgang
     
  5. Hi

    ja ist so ziemlich neuland für mich. Die Datenbank ist erst vor kurzem umgezogen.

    Habe das neuste ActiveX Data Object als Verweis aber er erkennt trotzdem nicht ADODB sondern nur ADO
     
    steffen89, 7. September 2015
    #5
  6. Hallo!

    1. Wenn Du im VBA Editor F2 drückst,
    werden die, auch über Verweise, verfügbaren Bibliotheken angezeigt.
    Schon probiert?
    Im obersten Kombi kannst Du die Bibliotheken auswählen.
    Da mußt Du ADODB auswählen können.

    2. Wenn Du ein Dim Statement "ADODB." (mit Punkt!) eingibst funktioniert dann
    Intellisense? Damit mußt Du eine Auswahl angezeigt bekommen, unter welcher ua. Connection ausgewählt werden kann.
    (mit F7 gehts wieder zurück.)

    Ohne ADODB wirst Du kein Recordset auf dem SQL-Server allozieren können!

    Wolfgang
     
  7. Da hätt' ich mal drei Fragen:
    1. Sicher, dass (zumal bei verknüpften Tabellen) nix ohne ADODB geht?
    2. Ist der zu ändernde Datensatz möglicherweise gerade als Datenherkunft eines Formulars o.ä. in Gebrauch?
    3. Wäre das Ganze nicht einfacher über ein SQL-Update zu machen?
    maike
     
  8. Recordset Datensatz ändern

    Ok ADODB ist nun verfügbar. Mal gucken ob ich das irgendwie hinbekomme.

    Die Fragen von Maike würdne mich auch interessieren. Insbesondere die 3.
     
    steffen89, 7. September 2015
    #8
  9. Hallo!
    ad 1. Sicher. Tabellen im SQL-BE sind im Access-FE immer eingebundene Tabellen
    ad 2. Das kann uns nur der TE sagen.
    ad 3. Natürlich! Aber ich denke daß der TE seine Gründe für die Updates via Recordsets hatte.
    Wenn die Quell- und Zieltabellen am Server liegen, sollte man besser
    mit stored Procedures am Server arbeiten. Und dort natürlich mit SQL.
    Damit entfällt der Transfer der Daten vom Server zum FE und wieder zurück.
    Aber am besten weiß das Josef!

    Wolfgang
     
  10. Zum Testen:
    Code:
    *boah Wo ich das so tippe, Frage 4: Änderst du da den Primärschlüssel?

    maike
     
  11. \@Wolfgang
    Das war nicht meine Frage *wink.gif*. Ich bin nicht so die SQL-Server Spezialistin, aber IMHO braucht es bei per ODBC verknüpften Tabellen kein ADO.
    Darüberhinaus habe ich läuten hören, dass die letzten Reste davon ab demnächst von MS auch nicht mehr unterstützt werden.

    maike
     
  12. Hallo Maike!

    Deine Frage lautete doch:
    Es geht nix ohne ADODB, falls es sich um verknüpfte Tabellen auf einem SQL-Server handelt und man diese mit Recordsets anspricht.
    Für verknüpfte Tabellen auf einer zB. MDB braucht man natürlich kein ADODB.

    Verwendet man SQL genügen die Tabellennamen. Ganz sicher. Und ohne sonstige Tricks.

    Ich meinte, da der TE von verknüpften Tabellen auf einem SQL-Server sprach
    in meiner Antwort auf Deine Frage auch nur solche.
    Du offenbar nicht.
    Deswegen kamen wir nicht zusammen.
    Ich auch.
    Ist aber irgendwie schade, da man mit ADODB relativ einfach Zeichencodes ändern konnte.
    Bei HTML-Daten war auch Bedarf danach.

    Wolfgang
     
  13. Recordset Datensatz ändern

    *boah Wo ich das so tippe, Frage 4: Änderst du da den Primärschlüssel?

    maike

    Nein ändere ich nicht. Aber ich bekomme den selben Fehler bei diesem Code wie zuvor auch.

    Bei dem ConnectionString mache ich wohl noch irgendwie was falsch. Es kommt keine Verbindung zustande.

    Der Provider ist doch Standardmäßig SQLOLEDB oder? bei data Source habe ich das gleich wie bei dem Programm womit ich auf den SQL Server zugreife. USer id und password habe ich auch schon mit und ohne ' '
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    steffen89, 7. September 2015
    #13
  14. Bau doch einfach erst mal NUR die Connection zum SQL-Server auf und schau, ob das funktioniert und Du die Tabellen sehen kannst.
     
  15. Das versuche ich derzeit gebe aber anscheinend im Connection String irgendwas falsch ein.
     
    steffen89, 7. September 2015
    #15
Thema:

Recordset Datensatz ändern

Die Seite wird geladen...
  1. Recordset Datensatz ändern - Similar Threads - Recordset Datensatz ändern

  2. Apostroph in sql Recordset

    in Microsoft Access Hilfe
    Apostroph in sql Recordset: Hallo Gemeinde, einen hätte ich noch: sqlTitel = "SELECT * FROM tbl_Files_Edited WHERE Titel='" & strTitel & "'" Set rs1 = db.OpenRecordset(sqlTitel) Enthält strTitel einen...
  3. Recordset auf einmal nicht mehr aktualisierbar

    in Microsoft Access Hilfe
    Recordset auf einmal nicht mehr aktualisierbar: Hallo, ich bin bei der Weiterentwicklung einer seit Jahren funktionierenden Prozedur, bei der u.a. per SQL Datensätze nach einem bestimmten Feld sortiert aus einer Tabelle in ein Recordset...
  4. Recordset wird nicht erfasst

    in Microsoft Access Hilfe
    Recordset wird nicht erfasst: Liebe Access-Profis, wieder bin ich am Ende der Weisheit; dieses Mal geht es um einen VBA-Code, der einen Recordset nicht identifiziert. Das Vorhaben: Im Formular 'Aktuelles Schuljahr' steht in...
  5. Datensätze eines ADO Recordset OHNE Schleife in Tabelle schreiben

    in Microsoft Access Hilfe
    Datensätze eines ADO Recordset OHNE Schleife in Tabelle schreiben: Hallo Zusammen, ich suche eine Möglichkeit, die Datensätze eines ADO-Recordsets (Abfrage vom SQLSERVER) ohne Schleife in eine Access-Tabelle zu schreiben. Wer kann mir helfen? Vielen Dank und...
  6. Kein aktueller Datensatz im Recordset

    in Microsoft Access Hilfe
    Kein aktueller Datensatz im Recordset: Guten Morgen Community, ich brauche mal dringend eure Hilfe. Ich bastel gerade an einem Algorithmus, der mit einem Recordset arbeiten und folgendes bewirken soll: In dieser Tabelle: [ATTACH]...
  7. Datensatz löschen aus ADO Recordset

    in Microsoft Access Hilfe
    Datensatz löschen aus ADO Recordset: Hallo, beim löschen eines Datensatz aus einem ADO.Recordset bekomme ich folgende Fehlermeldung: Laufzeitfehler '-2147217864 (80040e38)': Die zum Aktualisieren angegebene Zeile wurde nicht...
  8. DAO Recordset Datensatz löschen

    in Microsoft Access Hilfe
    DAO Recordset Datensatz löschen: Hallo nach langer Zeit melde ich mich mal wieder, (mein Computer hat sich für immer verabschiedet Hat etwas gedauert bis ein neuer wieder da ist) So nun zu meinem Problem. Ich will einen Datensatz...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden