Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema al insertar nuevos datos en una tabla de acces mediante VB6

Estas en el tema de Problema al insertar nuevos datos en una tabla de acces mediante VB6 en el foro de Visual Basic clásico en Foros del Web. Estimados. Tengo la siguiente conexion por ODBC a mi BD (alojada en un equipo de mi red) Dim con As New ADODB.Connection Dim rs As ...
  #1 (permalink)  
Antiguo 26/10/2008, 16:51
 
Fecha de Ingreso: agosto-2006
Mensajes: 92
Antigüedad: 17 años, 8 meses
Puntos: 0
Problema al insertar nuevos datos en una tabla de acces mediante VB6

Estimados.
Tengo la siguiente conexion por ODBC a mi BD (alojada en un equipo de mi red)

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim txtsql As String
con.Open ("dsn=bodega")

Tengo en mi BD una tabla llamada tb_agendamientos, en la cual deseo guardar ciertos datos tales como fecha_agend, cod_agend.

Cuales deben ser las instrucciones para actualizar, insertar y eliminar???

Por lo que he leido ADO puede trabajar tanto INSERT como ADD.NEW.
Me podrian ayudar. Estoy detenido en esto. La conexion funciona bien y de echo la he testeado desde 10 ordenadores conectados por red a esta pequeña base de datos y no hay problema.
Ahora, solicito de su ayuda para las operaciones.
Gracias.

  #2 (permalink)  
Antiguo 26/10/2008, 18:25
Avatar de ernestoelunico  
Fecha de Ingreso: septiembre-2008
Mensajes: 96
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema al insertar nuevos datos en una tabla de acces mediante VB6

bueno yo acupo este codigo para agregar datos espero que te sirva

Cita:
Option Explicit
Public base As DAO.Database
Public db1 As DAO.Recordset
Public db1 As DAO.Recordset
Dim ruta As String
/ la primera abre la base de datos, la segunda la tabla y la tercera es la ruta

Private Sub Form_Load()

ruta = App.Path & "\registros.mdb "
Set base = OpenDatabase(ruta)

Set db1 = base.OpenRecordset _
("Select*from compra", dbOpenDynaset, dbOptimistic)
db1.AddNew
db1!Fecha = Calendar1.Value
db1!Concepto = Text7.text
db1!Debe = Val(Text1.text)
db1.Update
db1.Close

end sub
  #3 (permalink)  
Antiguo 26/10/2008, 19:09
 
Fecha de Ingreso: agosto-2006
Mensajes: 92
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Problema al insertar nuevos datos en una tabla de acces mediante VB6

Cita:
Iniciado por ernestoelunico Ver Mensaje
bueno yo acupo este codigo para agregar datos espero que te sirva

MUCHISIMAS GRACIAS

PROBE ESTE Y ME DIO RESULTADOS:


Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim txtsql As String
con.Open ("dsn=bodega")
On Error Resume Next
txtsql = "INSERT INTO tb_agendamiento(cod_agend,fecha_agend,nom_usuario, modelo_equipo,simcard)Values('" & Text4 + "','" + Text5 & "','" + Label22 + "','" + Label9 + "','" + Label11 + "')"

Set rs = con.Execute(txtsql)

con.close

' End If

End Sub
  #4 (permalink)  
Antiguo 27/10/2008, 03:10
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Problema al insertar nuevos datos en una tabla de acces mediante VB6

Cita:
Iniciado por mumo2006 Ver Mensaje
MUCHISIMAS GRACIAS

PROBE ESTE Y ME DIO RESULTADOS:


Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim txtsql As String
con.Open ("dsn=bodega")
On Error Resume Next
txtsql = "INSERT INTO tb_agendamiento(cod_agend,fecha_agend,nom_usuario, modelo_equipo,simcard)Values('" & Text4 + "','" + Text5 & "','" + Label22 + "','" + Label9 + "','" + Label11 + "')"

Set rs = con.Execute(txtsql)

con.close

' End If

End Sub
Bueno, el código así funciona, pero en las consultas de actualización (INSERT, UPDATE, DELETE) no es necesario abrir un recordset, se puede hacer directamente sobre la BD.

El código funcionaría igual se eliminas el recordset y pones:

con.Execute txtsql


Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:01.