¿Cómo puedo guardar registros en la base de datos si usar el ADDNEW del DATA?

¿Hola, cómo estas?, bueno, tengo una duda en Visual Basic, con SQL. Aquí va:
Tengo este código en un formulario y quiero guardar registros en la base de datos, puedo usar el ADDNEW del DATA pero es un poco inestable, ya que me da errores de vez en cuando, por eso opte por usar algo de SQL.
Si no entendés el código te lo explico, pero es el mismo que me mandaste tu un poco modificado. Bueno Te agradezco.
Saludos. Nico.
'''''''''''''''Código'''''''''''''''
Public db As Database
Public gWorkSApace As Workspace
Dim rs As Recordset
Consulta = "insert into agenda values(" & "'" & _
Text1(0).Text & "','" & _
Text1(1).Text & "','" & _
Text1(2).Text & "','" & _
Text1(3).Text & "','" & _
Text1(4).Text & "','" & _
Text1(5).Text & "','" & _
Text1(6).Text & "','" & _
Text1(7).Text & "')"
Set gWorkSApace = DBEngine.Workspaces(0)
Set db = DBEngine.Workspaces(0).OpenDatabase("C:\windows\escritorio\Agenda.MDB", False, False)
Set rs = db.OpenRecordset(Consulta)
rs.Close
Si por la dudas encuentras el código bien, te digo que me sale un mensaje que dice:"Operación no Válida", en esta linea de código:
Set rs = db.OpenRecordset(Consulta)
Nico.

1 respuesta

Respuesta
1
Si vas a ejecutar consultas de acción, es decir INSERT, UPDATE, DELETE, las cuales ejecutan operaciones en la base de datos sin regresar nada, es mejor que lo hagas en una transacción, esto se puede hacer con DAO de la siguiente manera, intentalo.
Consulta = "insert into agenda values(" & "'" & _
Text1(0).Text & "','" & _
Text1(1).Text & "','" & _
Text1(2).Text & "','" & _
Text1(3).Text & "','" & _
Text1(4).Text & "','" & _
Text1(5).Text & "','" & _
Text1(6).Text & "','" & _
Text1(7).Text & "')"
Set gWorkSApace = DBEngine.Workspaces(0)
Set db = DBEngine.Workspaces(0).OpenDatabase(gdbPath, False, False)
GWorkSApace. BeginTrans 'nicia la transaccin a la base de datos
db. Execute Consulta, dbFailOnError 'transaccion 1
'aqui puedes poner mas transacciones
'se ejecutaran todas o ninguna
GWorkSApace. CommitTrans 'fin de la transaccion

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas