Sv Community El Salvador

Soporte y Tecnología => Programación => VB => Mensaje iniciado por: ernestoelunico en septiembre 21, 2008, 08:35:33 pm

Título: [resuelto?]añadir registros a una base de datos en access 2003 desde vb6
Publicado por: ernestoelunico en septiembre 21, 2008, 08:35:33 pm
necesito su grandicima colaboracion necestio enlazar una base de datos creas en access 2003 a visual basic 6 sp6

lo intente con el objeto adodc y miscrosoft jet 4 pero no me fuciono si alguin me puede colaborar con el codigo se los agradeceria mucho

La idea es agregar registros a la base de datos los registros son nuevos
Título: Re: Ayuda Vb6 y access 2003
Publicado por: vlad en septiembre 22, 2008, 07:16:40 am
En Proyecto -> Referencias:

Desactiva: Microsoft DAO 3.51 Object Library
Activa: Microsoft DAO 3.6 Object Library

Referencia (para que no digan que lo inventé magicamente  x_x):
Código: [Seleccionar]
http://support.microsoft.com/default.aspx?scid=kb;en-us;238401
Y una discusión bien interesante al respecto:
Código: [Seleccionar]
http://www.daniweb.com/forums/thread25336.html
Título: Re: Conectar Vb6 con Access 2003
Publicado por: Juancho en septiembre 22, 2008, 09:13:31 am
Mira y esta pregunta ya lo solucionastes o seguis teniendo problemas??
Título: Re: Conectar Vb6 con Access 2003
Publicado por: ernestoelunico en septiembre 23, 2008, 12:44:57 am
Mira y esta pregunta ya lo solucionastes o seguis teniendo problemas??
no aun no esta solucionada
Título: Re: añadir registros a una base de datos en access 2003 desde vb6
Publicado por: vlad en septiembre 23, 2008, 06:16:20 am
¿Y en que tuviste problemas o que te fallo?
Título: Re: añadir registros a una base de datos en access 2003 desde vb6
Publicado por: ernestoelunico en septiembre 29, 2008, 10:08:24 pm
¿Y en que tuviste problemas o que te fallo?

ok pude conectar la base de datos el problema es que no me añade registros ya use diferentes codigos y ninguno sale unos dicen que el error de objeto no declarado o no permitido..................

Trato de abrir diferentes tablas a la vez por que los datos van en diferente tablas usO:
base de datos access 2003 
microsoft jet4.0
el objeto adodc
Vb6. sp6

me dieron este codigo pero si me conecta pero no me es util

Citar
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
With rs
    .ActiveConnection = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=c:\MiBaseDeDatos.mdb"
    .CursorType = adOpenKeyset
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Open "Select * From Tabla1"
End With
////////////////////////////////////////
With Adodc1.Recordset
    .AddNew
    !Campo1 = Text1.Text
    !Campo2 = Text2.Text
    ' ... etc
    .Update
End With



lo primero yo por logica creo que va en el evento form load y el segundo en el boton de añadri pero me dice que .addnew no declarado
lo declaro y me dice que imposible encontrar el archivo
Título: Re: añadir registros a una base de datos en access 2003 desde vb6
Publicado por: vlad en octubre 03, 2008, 06:11:03 am
Me parece que no leiste entonces el tutorial de ADO que te puse unos cuantos temas arriba.

Aqui esta de nuevo: http://www.timesheetsmts.com/adotutorial.htm

Lo que pusiste es valido, pero otro metodo es:

    With rstRecordSet
      .AddNew
      .Fields(0) = "New"
      .Fields(1) = "Record"
      .Update
    End With




Ademas, si pones "aquella primera parte" de tu código en el form_load, en especial esto:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset


El objeto rs va a ser destruido al terminar el procedimiento form_load y ya no lo vas a poder usar en aplicación. Lo que tenes que hacer es que rs sea una variable con un alcance para todo el formulario o todo el proyecto, depende de tu necesidad.

Por lo anterior y en vista de que no veo declarado el Adodc1 por ningun parte en tu código, te sugiero enormemente leer esto:
ADO sin DataControl (http://www.elguille.info/vb/ejemplos/ADO_sin_datacontrol.htm)

Claro, modificando el provider para ser Jet4.0