Anexar valores à tabela do Access do Excel com o ID gerado automaticamente

2

Eu tenho um banco de dados do Access com algumas tabelas que são atualizadas diariamente com alguns valores. Eu preciso que as tabelas tenham um campo ID 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 tenha que ser gerada automaticamente quando eu importar. Por favor me ajude.

Exemplo de folha do Excel:

ProductName | ProductValue
------------+--------------
ABC         | 76
SDF         | 87

TABELA DA BASE 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 automaticamente incrementada. 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
    
por Arun Raja 17.04.2015 / 06:40

1 resposta

0

Como afirmado nos comentários, o melhor método é definir o campo ID como AutoNumber . Se você já tiver muitos dados nesse campo, precisará redefinir o campo .

Depois disso, simplesmente não inclua o campo na sua consulta de acréscimo. O acesso preencherá automaticamente o valor seguinte para cada novo registro.

    
por 25.01.2016 / 21:38