У меня есть база данных Access с несколькими таблицами, которые ежедневно обновляются некоторыми значениями. Мне нужно, чтобы в таблицах было поле ID
, которое автоматически генерируется при импорте других значений таблицы из Excel. Я хочу автоматизировать все, оставив кнопку и написав код VBA. Сейчас у меня есть форма, которая импортирует значение в таблицу, но она просто импортирует точные значения, которые у меня есть. Мне также нужен дополнительный столбец, который ID
должен автоматически генерироваться при импорте. Пожалуйста, помогите мне.
Образец таблицы Excel:
ProductName | ProductValue
------------+--------------
ABC | 76
SDF | 87
ТАБЛИЦА БАЗЫ ДАННЫХ
ID|ProductName| Product Value
--+-----------+--------------
1 | ABC |76
2 | SDF |87
Таблица Excel обновляется каждый день новым значением, и оно должно быть помещено в базу данных Access с ID
автоматическим увеличением. Таким образом, после ежедневного обновления значения увеличиваются с предыдущего значения.
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
решение1
Как указано в комментариях, лучший способ — установить ID
поле как AutoNumber
. Если у вас уже есть куча данных в этом поле, вам нужно будетсбросить поле.
После этого просто не включайте поле в свой запрос на добавление. Access автоматически заполнит следующее значение для каждой новой записи.