Ich habe eine Access-Datenbank mit einigen Tabellen, die täglich mit einigen Werten aktualisiert werden. Ich brauche in den Tabellen ein ID
Feld, das automatisch generiert wird, wenn die anderen Werte der Tabelle aus Excel importiert werden. Ich möchte alles automatisieren, indem ich eine Schaltfläche behalte und einen VBA-Code schreibe. Im Moment habe ich ein Formular, das den Wert in die Tabelle importiert, aber es importiert nur die genauen Werte, die ich habe. Ich brauche auch eine zusätzliche Spalte, die ID
beim Importieren automatisch generiert werden muss. Bitte helfen Sie mir.
Beispiel für eine Excel-Tabelle:
ProductName | ProductValue
------------+--------------
ABC | 76
SDF | 87
DATENBANKTABELLE
ID|ProductName| Product Value
--+-----------+--------------
1 | ABC |76
2 | SDF |87
Die Excel-Tabelle wird jeden Tag mit neuen Werten aktualisiert und diese müssen ID
automatisch inkrementiert in die Access-Datenbank eingegeben werden. Nach der täglichen Aktualisierung werden die Werte also vom vorherigen Wert aus inkrementiert.
Dim filepath As String
filepath = "E:\rt.xlsx"
If FileExist(filepath) Then
DoCmd.TransferSpreadsheet acImport, , "TempfromExcel", filepath, True
DoCmd.OpenQuery "qryAppend", acViewNormal
Else
MsgBox ("File not found.")
End If
Antwort1
Wie in den Kommentaren erwähnt, ist die beste Methode, das ID
Feld als zu definieren AutoNumber
. Wenn Sie bereits eine Menge Daten in diesem Feld haben, müssen SieFeld zurücksetzen.
Sobald dies erledigt ist, schließen Sie das Feld einfach nicht in Ihre Anfügeabfrage ein. Access füllt den nächsten Wert für jeden neuen Datensatz automatisch aus.