Office: Tabellen täglich vergleichen und Neuerungen hinzufügen

Helfe beim Thema Tabellen täglich vergleichen und Neuerungen hinzufügen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe hier ein Projekt von einem Kollegen übernommen und darf es in die Zukunft führen. Derzeit gibt es eine Tabelle mit Barcodes, die jedes... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Doming, 29. August 2023.

  1. Doming
    Doming Erfahrener User

    Tabellen täglich vergleichen und Neuerungen hinzufügen


    Hallo,

    ich habe hier ein Projekt von einem Kollegen übernommen und darf es in die Zukunft führen.
    Derzeit gibt es eine Tabelle mit Barcodes, die jedes Mal von Excel mit weiteren Daten gefüllt wird. Es gibt keinen eindeutigen Schlüssel, in der Vergangenheit wurden schon Barcodes mehrfach vergeben. Die Barcodes sind zehnstellig, es sind etwa 35.000 Datensätze vorhanden.
    Jetzt kommen zusätzlich Datensätze aus SAP, selbstredend auch ohne eindeutigen Schlüssel.
    Es wurde entschieden, dass sich ein Schlüssel aus mehreren Einzelfeldern generiert wird, mit dem man die Datensätze eindeutig identifizieren kann. Das funktioniert so weit, leider ist der Barcode dadurch 16stellig.
    Dadurch kann Access ihn nicht mehr als Long-Variable nutzen.
    Nun ich habe die Aufgabe, dass unser Scanner beide Datensätze lesen können soll.

    Ich habe mir überlegt, eine neue Tabelle zu generieren, in der der alte (numerische) Barcode und der neue 16-stellige als String abgelegt wird, so kann man später mit dem Schlüssel dieser Tabelle arbeiten.

    Nun möchte ich, das beim morgenlichen Start von Access jeden Tag nach neuen Datensätzen gesucht wird, um sie dann der neuen Tabelle hinzuzufügen. Das EinMalAmTag bekomme ich hin, indem ich bei jeder Prüfung das aktuelle Datum eintrage und dieses dann vor der Prüfung abfrage.
    Allerdings dauert die Prüfung so jedes Mal über eine Minute. Ich könnte mir vorstellen, dass das auch schneller geht

    Code:
    Public Sub SAPPalImport()
    On Error GoTo Fehler
     Dim rsSAP As DAO.Recordset, rsInd As DAO.Recordset
     Dim strSQL As String
     Dim a As Long, b As Long, Laufzeit As Date
        Debug.Print "Beginn " & Now
        Laufzeit = Now
        If DLookup("Tagesdatum", "tbl_Status", "WasWirdGespeichert = 'PalettenUpdate'") = fncDatSQL(Date) Then
            Exit Sub ' ein Mal am Tag reicht
        End If
       
        Set rsSAP = CurrentDb.OpenRecordset("SELECT * FROM abfr_SAPmitKey")
          rsSAP.MoveFirst
          Do Until rsSAP.EOF
              If DCount("IndID", "BeideBarcodes", "Barcode = '" & rsSAP!Key & "'") = 0 Then
                  strSQL = "INSERT INTO BeideBarcodes (Barcode, Eintrag) VALUES ('" & _
                            rsSAP!Key & "', " & _
                            fncDatSQL(Date) & ")"
                  Debug.Print "Barcode2 :" & strSQL
                  CurrentDb.Execute strSQL
                  a = a + 1
              End If
              rsSAP.MoveNext
          Loop
          rsSAP.Close
     Debug.Print "Halbzeit " & Now
        Set rsInd = CurrentDb.OpenRecordset("SELECT * FROM abfr_Barcode1 WHERE IND > 1000035000")
        Do Until rsInd.EOF
            If DCount("IndID", "BeideBarcodes", "Barcode = '" & CStr(rsInd!Ind) & "'") = 0 Then
                strSQL = "INSERT INTO BeideBarcodes (Barcode, Eintrag) VALUES ('" & _
                          CStr(rsInd!Ind) & "', " & _
                          fncDatSQL(Date) & ")"
                  Debug.Print "Barcode1 :" & strSQL
                  CurrentDb.Execute strSQL
                  b = b + 1
              End If
        '      Debug.Print rsInd!Ind
              rsInd.MoveNext
        Loop
        rsInd.Close
           
        CurrentDb.Execute "UPDATE tbl_Status SET Tagesdatum = " & fncDatSQL(Date) & " WHERE WasWirdGespeichert = 'PalettenUpdate'"
        Set rsSAP = Nothing
        Set rsInd = Nothing
        Debug.Print "Ende " & Now
        Debug.Print "Ich habe " & a & " neue und " & b & " alte Datensätze hinzugefügt"
        Debug.Print "Dafür habe ich " & Format((Now - Laufzeit), "HH:nn:ss") & " an Zeit benötigt"
    Ende:
        Exit Sub
    Fehler:
        Debug.Print "Fehler " & Err.Number, Err.Description
        Resume Ende
    End Sub
    
    Ich stehe gerade auf dem Schlauch, könnt Ihr mir weiterhelfen?

    Gruß
    Doming
     
  2. Doming
    Doming Erfahrener User
    Moin,
    Thema ist erledigt, den Code oben habe ich komplett wieder gelöscht.
    Stattdessen habe ich mir nach diesem Schema zwei Abfragen gebastelt, die nacheinander ausgeführt, den gleichen Job wie oben in etwa 10 Sekunden erledigen.
    Ich danke dem dortigen Eberhard für seine Anleitung.
    Gruß
    Doming
     
Thema:

Tabellen täglich vergleichen und Neuerungen hinzufügen

Die Seite wird geladen...
  1. Tabellen täglich vergleichen und Neuerungen hinzufügen - Similar Threads - Tabellen täglich vergleichen

  2. Summewenns über mehrere Tabellen

    in Microsoft Excel Hilfe
    Summewenns über mehrere Tabellen: Hallo zusammen, die gelben Werte möchte ich per Formel ausrechnen. Problem ist, dass ich nicht einfach =summewenns() machen kann, da die beiden nötigen Bedingungen in unterschiedlichen Tabellen...
  3. Tabelle mit verbundenen Zellen zur Weiterverarbeitung umwandeln

    in Microsoft Excel Hilfe
    Tabelle mit verbundenen Zellen zur Weiterverarbeitung umwandeln: Hallo, ich habe eine Tabelle mit über 500.000 Zeilen. In der Tabelle sind verbundene Zellen unterschiedlicher Anzahl jeweils in den Spalten A und B und ich möchte, dass die Zellen alle nicht mehr...
  4. Tabellen werden nicht eingetragen

    in Microsoft Access Hilfe
    Tabellen werden nicht eingetragen: hallo, ich habe folgende Datenbank und möchte via VBA die Tabellennamen in die tblTabellen eintragen, irgendwie funktioniert das aber nicht, kann mir jemensch sagen warum? Wo habe ich den Fehler...
  5. Pivot Tabelle: Quelle per VBA verändern

    in Microsoft Excel Hilfe
    Pivot Tabelle: Quelle per VBA verändern: Hi all, gibt es eine Möglichkeit, wie ich die Quelle einer Pivot Tabelle mit einem Klick aktualisieren kann? 1) Beispiel Quelle: [Datum_Dateiname.xlsx]Tabelle1!$A:$AA 2) Beispiel wie es je nach...
  6. Tabellen zusammenführen

    in Microsoft Excel Hilfe
    Tabellen zusammenführen: Hallo ich habe diese Frage schon bei .ms-office-forum gestellt, leider ist dieses Froum nicht mehr erreichbar. Daher hier nochmal anbei eine Beispieltabelle, ist in wirklichkeit natürlich viel...
  7. 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
  8. Tägliche automatische Verschiebung eines Rechtecks

    in Microsoft Excel Hilfe
    Tägliche automatische Verschiebung eines Rechtecks: Hallo zusammen, ich habe folgendes Anliegen und hoffe jemand kann mir dabei helfen. Wie kann ich das rote Rechteck (siehe Anhang) automatisch am jeweiligen Tag beim erstmaligen Öffnen auf den...
  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