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. temporäre Auswahl von Datensätzen

    in Microsoft Access Hilfe
    temporäre Auswahl von Datensätzen: Hallo zusammen, ich stehe hin und wieder mal - und auch jetzt - vor einer Aufgabe bei der ich mir über den besten Weg unklar bin. Ich habe einen ganzen Haufen Datensätze und mit einem Teil davon...
  3. Excel-Tabelle mit Funktionen in Word einfügen

    in Microsoft Excel Hilfe
    Excel-Tabelle mit Funktionen in Word einfügen: Hoi Excel-Profis! Folgende Ausgangslage: Ich habe in Excel eine Tabelle erstellt, in der ein Datum, eine Beginn-Zeit und eine End-Zeit zu befüllen sind. Es werden dann automatisch die Stunden...
  4. intelligente Tabelle nur Summe für Eingeblendet

    in Microsoft Excel Hilfe
    intelligente Tabelle nur Summe für Eingeblendet: In der intelligenten Tabelle habe ich in einer Spalte zwei Textkriterien und in einer anderen Spalte Zahlen. Wenn eins der Kriterien ausgeblendet wird, wollte ich das dann nur aus den sichtbaren...
  5. Tabelle "erstellt sich selbst neu"??

    in Microsoft Excel Hilfe
    Tabelle "erstellt sich selbst neu"??: Ich habe hier einen Sonderbaren "Fehler". Und zwar ist mir kürzlich aufgefallen, dass mein VBA-Code nicht funktioniert, der eigentlich auf dem Tabellenblatt aktiv sein sollte. Mit ist dann...
  6. Kontrollkästchensteuerelment fügt Tabellen mit Inhalten ein

    in Microsoft Word Hilfe
    Kontrollkästchensteuerelment fügt Tabellen mit Inhalten ein: Hallo zusammen, ich suche nach einer Möglichkeit wie ich mit entsprechenden Feldern in Word, für die Firma ein Dokument erstellen kann, welches bereits formatierte Tabellen mit Inhalt einfügt...
  7. Datenimport: Zwei Tabellen die gegenseitig auf sich zugreifen

    in Microsoft Excel Hilfe
    Datenimport: Zwei Tabellen die gegenseitig auf sich zugreifen: Mal eine Frage, bevor ich einen Grundlegenden Fehler mache: Ich möchte gerne meine Arbeitsmappen dahingehend ändern, dass ich ein "Master-Arbeitsblatt" habe, in der alle unsere Artikel...
  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