tabla - ¿Cómo puedo usar VBA para insertar un nuevo registro en una base de datos de Access 2007?
insertar registros de una base de datos a otra en sql server (2)
Probé esto en Office 2013, espero que también funcione para ti. Estas líneas abren la conexión, insertan nuevas entradas y cierran la conexión.
Dim Path As String
Dim strCon As String
Dim con As Object
Path = "C:/TestDatabase.accdb"
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Path
Set con = CreateObject("ADODB.connection")
con.Open strCon
con.Execute "INSERT INTO Table1 (Field1, Field2) VALUES (""" & empUserName & """, """ & Completed & """)"
con.Close
Set con = Nothing
Tabla1 - su nombre de tabla
Campo1 - nombre de la columna donde desea poner empUserName
Field2 - nombre de la columna en la que desea poner Completed
Todavía estoy tratando de aprender, así que por favor sé gentil. Mi objetivo es hacer un seguimiento de los usuarios que completaron la visualización de un MS PowerPoint independiente haciendo que hagan clic en un botón en la última diapositiva.
Cuando se hace clic en CompleteButton, captura el nombre de usuario y la fecha de Windows. ¿Cómo puedo hacer que el evento también inserte las dos variables como un nuevo registro en una base de datos existente de MS Access 2007 (detrás de escena)?
''Click button
Private Sub completeButton_Click()
''Get Windows user
Dim empUserName As String
empUserName = Environ("UserName")
''Get Date
Dim Completed As Date
Completed = Date
''Set Path to database
Dim Path As String
Path = "C:/TestDatabase.accdb"
''Open connection to database
''Insert empUserName and Completed variables as new record
''Close connection to database
''Display message
Msgbox("Thank you for viewing the material")
''Close presentation
With Application.Presentations
For i = .Count To 1 Step -1
.Item(i).Close
Next
End With
Se puede hacer con un comando:
DoCmd.RunSQL "INSERT INTO C:/TestDatabase.accdb.Table1 ( Field1, Field2 ) VALUES (""" & empUserName & """, """ & Completed & """);"
Puedes añadir
DoCmd.SetWarnings False
antes de insertar para suprimir la advertencia.