Eu tenho um banco de dados do Access com algumas tabelas que são atualizadas diariamente com alguns valores. Eu preciso das mesas para ter um ID
campo que é gerado automaticamente quando os outros valores da tabela são importados do Excel. Eu quero automatizar tudo, mantendo um botão e escrevendo um código VBA. Agora eu tenho um formulário que importa o valor para a tabela, mas apenas importa os valores exatos que eu tenho. Eu também preciso de uma coluna extra de ID
que tem que ser gerado automaticamente quando eu importo. Por favor me ajude.
Exemplo de folha do 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 atualiza todos os dias com novo valor e deve ser colocada no banco de dados do Access com ID
incrementado automaticamente. Então, após a atualização diária, os valores são incrementados a partir do 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
fonte
AutoNumber
campo para a sua tabela do Access, Então, se você quer ter um campo que sempre retorna de 1 para as contagens de linha da sua tabela, você deve criar umView
por isso ;).Respostas:
Como afirmado nos comentários, o melhor método é definir o
ID
campo para ser umAutoNumber
. Se você já tiver muitos dados nesse campo, precisará redefinir o campo .Feito isso, simplesmente não inclua o campo na sua consulta de acréscimo. O acesso preencherá automaticamente o valor seguinte para cada novo registro.
fonte