Tenho um banco de dados Access com algumas tabelas que são atualizadas diariamente com alguns valores. Preciso que as tabelas tenham um ID
campo que seja gerado automaticamente quando os demais valores da tabela forem importados do Excel. Quero automatizar tudo mantendo um botão e escrevendo um código VBA. No momento tenho um formulário que importa o valor para a tabela, mas apenas importa os valores exatos que possuo. Também preciso de uma coluna extra ID
que deve ser gerada automaticamente quando eu importo. Por favor me ajude.
Amostra de planilha Excel:
ProductName | ProductValue
------------+--------------
ABC | 76
SDF | 87
TABELA DE BANCO DE DADOS
ID|ProductName| Product Value
--+-----------+--------------
1 | ABC |76
2 | SDF |87
A planilha do Excel é atualizada a cada dia com novo valor e deve ser colocada no banco de dados Access com ID
incremento automático. Assim, após a atualização diária, os valores são incrementados em relação ao valor anterior.
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
Responder1
Conforme declarado nos comentários, o melhor método é definir o ID
campo como AutoNumber
. Se você já possui muitos dados nesse campo, precisaráredefinir o campo.
Feito isso, simplesmente não inclua o campo em sua consulta de acréscimo. O Access preencherá automaticamente qualquer que seja o próximo valor para cada novo registro.