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. 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. Intelligente Tabelle Filter fixieren

    in Microsoft Excel Hilfe
    Intelligente Tabelle Filter fixieren: Moin, ich habe eine Tabelle wo ich eine Intelligente Tabelle von gemacht habe. Dann habe ich den dazu gehörigen Filter eingestellt. Wenn ich jetzt etwas Filtere, wird das Filterfenster auch...
  7. Datenübernahme in andere Tabelle ohne Leerzeilen, Anfänger

    in Microsoft Excel Hilfe
    Datenübernahme in andere Tabelle ohne Leerzeilen, Anfänger: Hallo, Auch wenn dieses Thema schon mehrere Male gepostet wurde, hab ich dennoch ein Probelm damit. Ich möchte Werte aus einer Tabelle in eine andere auflisten. Die ausgangs Tabelle enthält...
  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