Office: (Office 2010) Tabelle mit Recordset abgleichen

Helfe beim Thema Tabelle mit Recordset abgleichen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Christian, Das ganze lässt sich komplett in einer Aktualisierungsabfrage verwursten, ganz ohne Schleife. Code: UPDATE tbl_vertraege AS VE INNER... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Christian Janik, 30. Mai 2018.

  1. Tabelle mit Recordset abgleichen


    Hallo Christian,
    Das ganze lässt sich komplett in einer Aktualisierungsabfrage verwursten,
    ganz ohne Schleife.
    Code:
    gruss ekkehard


    @Eberhard
    Hättest mir ruhig schon mal deinen Vergleich mit den Wasserkisten um die
    Ohren hauen dürfen *wink.gif*
     
    Beaker s.a., 13. Juni 2018
    #16
  2. Ach ja, dein Code reduziert sich damit im Kern auf (Fehlerbehandlung aussen vor)
    Code:
     
    Beaker s.a., 13. Juni 2018
    #17
  3. Hallo Beaker s.a.,
    das rennt jetzt, super. *Smilie Danke für die Unterstützung und Geduld von Allen. Eine Baustelle weniger.
     
    Christian Janik, 20. Juni 2018
    #18
  4. Tabelle mit Recordset abgleichen

    Hallo Christian,
    Freut mich.
    Dann kannst du den Thread auch auf "erledigt" setzen.
    gruss ekkehard
     
    Beaker s.a., 20. Juni 2018
    #19
  5. Hi zusammen,
    aaaah Kommando zurück. Ich habe doch noch ein Fehler.
    Das löschen nach Abgleich funktioniert nicht.
    Ich will ja ein Abgleich zwischen dem Recordset und der Tabelle tbl_vertraege machen. Verträge die in der tbl_vertraege vorhanden sind aber nicht im Recordset sollen naus der Tabelle gelöscht werden. *mad.gif* Ich baruche doch nochmal Eure Hilfe.

    beste Grüße
    Christian

    Code:
     
    Christian Janik, 20. Juni 2018
    #20
  6. \@Christian,
    vielleicht solltest du dich mal mit SQL auseinander setzen.
    Ich verstehe nicht wie du Datenbanken reorganisieren sollst, wenn die Materie für dich fremd ist und du bei jedem Beistrich auf fremde Hilfe angewiesen bist.

    Im Code Archiv unter SQL ist Leicht 1 bis 10 usw findest du gute Anleitung von Eberhard:

    https://www.ms-office-forum.net/foru...sql+ist+leicht
     
    markusxy, 20. Juni 2018
    #21
  7. Hallo Christian,
    Zunächst brauchst du im späteren Subselect nur das Schlüsselfeld
    Code:
    Das RS "rsVertraege" brauchst du gar nicht.
    Eine Löschabfrage muss man allerdings auch ausführen
    Code:
    gruss ekkehard
     
    Beaker s.a., 20. Juni 2018
    #22
  8. Tabelle mit Recordset abgleichen

    Hallo Beaker s.a.
    nach Krankheit und Urlaub bin ich zurück und habe leider noch eine Baustelle in der DB gefunden die noch nicht geschlossen habe. Ich will ja Datensätze mit einem String vergleichen und wenn die VSNR nicht im String enthalten ist soll in der Tabelle gelööscht werden. Du hattest ja ein Beispiel geschrieben was mir aber ein komischen Fehler auswirft und zwar das er die dbo.mdb im Verzeichnis C:BenutzerMein BenutzerEigene Dokumente nicht findet. Weißt Du Rat?

    Laufzeitfehler 3024:
    Datei C:UsersAnwenderIDDocumentsdbo.mdb nicht gefunden.

    So hab ich es jetzt eingebaut. Ist noch verbesserungswürdig aber es sollte vorerst einmal.

    Danke im voraus.

    Code:
     
    Christian Janik, 1. August 2018
    #23
  9. Hallo Christian,
    Hm, mit ADO bin ich nicht so fit. Mir fällt aber auf, dass die Abfrage "DelSQL"
    immer noch nicht ausgeführt wird; - es fehlt immer noch
    Code:
    Dann fällt mir auf, dass IMO der Connectionstring den kompletten Pfad zur
    Db benötigt, - du übergibst nur den Namen.
    Und die Datei aus der Fehlermeldung ist bis jetzt noch nirgends aufgetaucht.
    Was ist das für eine Db?

    gruss ekkehard
     
    Beaker s.a., 2. August 2018
    #24
  10. Hallo ekkehard,
    genau in dieser Zeile wirft er mir ja den Fehler aus.

    db.Execute DelSQL, dbFailOnError

    Die Connection baut er zum Server auf und ließt mir aus brav die vsnr aus. Danach geht er auch noch in den DelSQL und dann ist Schluss. Ich werde halt nicht schlau aus der Fehlermeldung mit der dbo.mdb. Die Datenbank ist eine einfache Access-DB mit 5 Tabellen und ein e handvol Formularen und Abfragen. Als Ergänzung noch, bei dbFailOnError gibt ermir die Nummer 128 an.
     
    Christian Janik, 2. August 2018
    #25
  11. Hallo Christian,
    Tja, ADO …
    Vielleicht können die Experten was dazu sagen, ob diese Mischung mit DAO
    überhaupt funktionieren kann.
    Aber was das für eine Db ist und wo die liegt kannst ja nur du wissen. Meine
    diesbezügl. Frage hast du nicht beantwortet.
    In deinem Code wird ja eine ganz andere Db verwendet ("HAGEL_PROD")
    gruss ekkehard

    P.S. OT
    Das ist einfach nur der Wert dieser Konstanten. Du könntest die Zeile also
    auch so schreiben
    Code:
     
    Beaker s.a., 2. August 2018
    #26
  12. Hi ekkehard,
    sorry da habe ich Dich falsch verstanden *eek.gif* . Der Aufbau der DB ist wie folgt.

    Ich habe eine SQL DB die den aktuellen Datenbestand täglich bereit stellt (HAGEL_PROD). Aus dieser DB lese ich jetzt mit der unten stehenden Sub die dbo.VwExport aus. In diesem Fall nur speziell die VSNR. In meiner Access-DB habe ich die VSNR ebenfalls hinterlegt (ja doppelte Datenhaltung Katastrophe, das System habe ich so geerbt und soll in zwei Jahren komplett auf eine andere Plattform umgestellt werden) und jetzt will ich prüfen ob in der Access-DB VSNR vorhanden sind die nicht in der dbo.VwExport, sprich im strSQL, sind. Wenn in der Access-DB noch vorhanden dann in der Access-DB löschen.

    Ich habe den Code jetzt glaube ich soweit komplett auf ADODB umgestellt. Er wirft mir aber weiterhin den Fehler mit Verweiß auf die fehlende dbo.mdb raus und ich weiß nicht warum *upps



    Code:
     
    Christian Janik, 2. August 2018
    #27
  13. Tabelle mit Recordset abgleichen

    Ehe man auf eine Tabelle zugreifen kann, braucht man eine Verbindung zu deren Datenbank, also eine ADODB-Connection oder eine DAO-Referenz auf die DB oder eine Verknüpfung der Tabelle.
    Eine Verknüpfung einer externen Tabelle in die eigene Accessanwendung macht diese im Handling zur internen Tabelle . Das liegt hier aber nicht vor.
    ADODB und DAO kann man natürlich nicht beliebig mischen, das sind unterschiedliche Objekte und haben nichts miteinander zu tun.

    tblVerträge ist Tabelle der Access-DB?
    Pragmatischer Weg:
    1) ADODB-Recordset auf Servertabelle wie gehabt mit folgender Abweichung:
    Code:
    Also nur laden, was man braucht, und nicht das ganze Dorf mitnehmen.

    2) Getstring mit Trennzeichen Komma einsetzen. Der entstehende String ist dann als Filter für die Löschabfrage in Access/Jet einsetzbar, entspricht dem bisher verwendeten strSQL (Bezeichnung dann aber etwas irritierend).
    Auf Indexnutzung - mit der derzeitigen Gestaltung nicht vorhanden - kommt es wohl nicht an ...?

    Ja, und der Fehler kommt daher, dass die Löschabfrage per DAO ausgeführt wird, und dort ist die aufgeführte Servertabelle in der Unterabfrage unbekannt.
     
  14. Hi ebs17,
    das heißt in meinem Fall genau? Ich habe leider nicht das tiefe Expertenwissen und muss diese DB mit bearbeiten. Leider fehlt mir auch die Zeit mich in die Materie einzulesen da ich mit VBA Entwicklung nur am Rande zutun habe.
    Könntest Du daher mir unter die Arme greifen?

    Gruß Christian
     
    Christian Janik, 2. August 2018
    #29
  15. \@Eberhard
    Danke.
    Darauf hatte ich ihn auch schon hingewiesen, und er hat es auch geändert.

    @christian
    Wenn wir Eberhard nicht hätten,

    Ich kann es zwar nicht testen, aber im Prinzip sollte es gehen, wenn du einfach an
    strSQL (vielleicht in "strFilter" umbenennen) VwExport.GetString übergibst.
    Code:
    gruss ekkehard
     
    Beaker s.a., 2. August 2018
    #30
Thema:

Tabelle mit Recordset abgleichen

Die Seite wird geladen...
  1. Tabelle mit Recordset abgleichen - Similar Threads - Tabelle Recordset abgleichen

  2. Schriftart einer Tabelle im Unterformular verändern

    in Microsoft Access Hilfe
    Schriftart einer Tabelle im Unterformular verändern: Hallo, wie kann ich die Schriftart einer Tabelle ( Datenblatt ) im Unterformular verändern. Also nicht Global für alle! Mit freundlichen Grüßen
  3. Tabellenränder beim Druck ausblenden

    in Microsoft Word Hilfe
    Tabellenränder beim Druck ausblenden: Hallo zusammen, in meiner Vorlage habe ich eine Adressbox mit 2 Spalten und 3 Zeilen, sowie als Fußzeile eine Tabelle mit 4 Spalten und 3 Zeilen eingefügt. Zur besseren Orientierung möchte ich...
  4. 2 Tabellen nach bestimmten Kriterien synchronisieren

    in Microsoft Excel Hilfe
    2 Tabellen nach bestimmten Kriterien synchronisieren: Ich habe 2 identische Excel Dokumente -TB1 und TB2 haben gleiches Layout/ bedingte Formatierungen und Formeln enthalten -in TB1 Pflege ich alle Daten täglich (meine Daten) (mehrere Sheets) -in...
  5. Zusammenfassen von Tabellen

    in Microsoft Excel Hilfe
    Zusammenfassen von Tabellen: Guten Morgen zusammen, ich habe folgendes Problem bei dem ich nicht weiterkomme. Ausgangs Situation ist: Es gibt mehrere Tabellen mit Bestellungen z.b. so: Tabelle 1 = Bestellung1; Tabelle 2 =...
  6. 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...
  7. Recordset in Tabelle einfügen

    in Microsoft Access Hilfe
    Recordset in Tabelle einfügen: Hallo zusammen, ich habe hier eine Sub mit der ich die Daten aus einem Recorset in eine Tabelle einfügen will. Irgendwie funktioniert das nicht. Bis zur MsgBox habe ich die Daten (VertragDaten)...
  8. Recordset in Tabelle speichern

    in Microsoft Access Hilfe
    Recordset in Tabelle speichern: Hallo, Ich habe eine Backend-Datenbank und ein Access-Frontend. Ich verbinde mich mit dem Backend mittels ADODB und ziehe mir so die Daten in ungebundene Formulare, Die Felder in einem Bericht...
  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