Agregue valores a la tabla de Access desde Excel con ID generado automáticamente

Agregue valores a la tabla de Access desde Excel con ID generado automáticamente

Tengo una base de datos de Access con algunas tablas que se actualizan diariamente con algunos valores. Necesito que las tablas tengan un IDcampo que se genere automáticamente cuando los otros valores de la tabla se importen desde Excel. Quiero automatizar todo manteniendo un botón y escribiendo un código VBA. En este momento tengo un formulario que importa el valor a la tabla, pero solo importa los valores exactos que tengo. También necesito una columna adicional IDque debe generarse automáticamente cuando importo. Por favor, ayúdame.

Muestra de hoja de Excel:

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

TABLA DE BASE DE DATOS

ID|ProductName| Product Value
--+-----------+--------------
1 | ABC       |76
2 | SDF       |87

La hoja de Excel se actualiza cada día con un nuevo valor y debe colocarse en la base de datos de Access con IDincrementos automáticos. Entonces, después de la actualización diaria, los valores se incrementan con respecto al 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

Respuesta1

Como se indica en los comentarios, el mejor método es configurar el IDcampo como AutoNumber. Si ya tiene una gran cantidad de datos en ese campo, deberárestablecer el campo.

Establecer un número automático

Una vez hecho esto, simplemente no incluya el campo en su consulta de anexo. Access completará automáticamente el siguiente valor para cada nuevo registro.

información relacionada