Tengo una base de datos de Access con algunas tablas que se actualizan diariamente con algunos valores. Necesito que las tablas tengan un ID
campo 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 ID
que 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 ID
incrementos 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 ID
campo como AutoNumber
. Si ya tiene una gran cantidad de datos en ese campo, deberárestablecer el campo.
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.