Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ignorantev1.1 en 4 Diciembre 2010, 04:35 am



Título: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: ignorantev1.1 en 4 Diciembre 2010, 04:35 am
Lo siento, hace dias hice un tema con el mismo titulo pidiendo ayuda sobre Acces y VB, despues "aparentemente" solucione el problema y decidi dar por terminado aquel tema.
Bueno pues voy con "casi" lo mismo:
Se trata de que quiero insertar, eliminar, modificar, buscar en una base de datos de acces a travez de vb6. Hay millones de manuales y he leido algunos, pero no logro encontrar alguno que realmente me ayude:

Esta es la manera en que leo los datos:

bd es un controldata...
Código
  1.    bd.Recordset.MoveFirst
  2.    txtNombre.text=bd.Recordset.Fields(0)
  3.    txtEdad.text=bd.Recordset.Fields(1)
  4.    bd.Recordset.MoveNext
  5.  

No se si es la mejor forma de hacerlo, pero me funciona.

El problema es al querer insertar datos:

Código
  1.    MsgBox bd.Recordset.Fields.Count
  2.    bd.Recordset.AddNew
  3.    bd.Recordset.Fields(0) = "juanito"
  4.    bd.Recordset.Fields(1) = 88
  5.    bd.Refresh
  6.    bd.Recordset.MoveFirst
  7.    MsgBox bd.Recordset.Fields.Count
  8.  

por que no los inserta...

Pido de favor que me ayuden, pero OJO: busco hacerlo de esa manera, ya que hay una forma mas facil(creo yo) de ligar las cajas de texto con los campos de la base de datos, pero no quiero eso: lo que realmente quiero es trabajar con variables corrientes y con ellas modificar a placer la base de datos. Tambien hay otra forma de usar emmm, no se como llamarlo: comandos?, pero no...
gracias!


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: PeterPunk77 en 4 Diciembre 2010, 06:05 am
Creo que nunca he usado un objeto data, pero casi seguro que será así:
Código
  1.    bd.Recordset.AddNew    
  2.    bd.Recordset.Fields(0) = "juanito"
  3.    bd.Recordset.Fields(1) = 88
  4.    bd.Recordset.Update

Saludos.


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: ignorantev1.1 en 4 Diciembre 2010, 06:11 am
Amigo, eres grande! gracias!... estuve al borde del suicidio!... bueno al borde de ponerme a escuchar a RBD que es casi lo mismo...


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: BlackZeroX (Astaroth) en 4 Diciembre 2010, 06:57 am
.
ignorantev1.1

De que parte de méxico eres?

Dulces Lunas!¡.


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: karmany en 4 Diciembre 2010, 10:04 am
Si necesitas:
Código:
bd.Recordset.Update
es porque estás utilizando un control de datos DATA.

Yo te recomiendo que uses ADO. Yo he trabajado con los dos. Esto ya se ha comentado en el foro pero si estás empezando a programar con bases de datos hazlo con ADO, hay muchísima información en la red.

Un saludo


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: ignorantev1.1 en 6 Diciembre 2010, 19:07 pm
Hola pues con otro problema de lo mismo  :-\

Para insertar un nuevo dato hice algo asi:

Código
  1. sub XXX()
  2.    Dim datos(0 To 3) As Variant
  3.  
  4.    datos(0) = txtNombre
  5.    datos(1) = txtDireccion
  6.    datos(2) = txtTelefono
  7.  
  8.    Call bdNuevo(bdMain.Recordset, datos())
  9. end sub
  10.  
  11. Public Sub bdNuevo(tdb As Recordset, datos() As Variant)
  12.    Dim i As Integer
  13.    tdb.AddNew
  14.    For i = 0 To UBound(datos)
  15.        tdb.Fields(i) = datos(i)
  16.    Next
  17.    tdb.Update
  18. End Sub
  19.  

y resulta esto:

Código:
Data type conversion error!

que paso?

gracias?


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: ssccaann43 © en 6 Diciembre 2010, 19:30 pm
http://www.recursosvisualbasic.com.ar/htm/utilidades-codigo-fuente/formulario-abm-con-access-ado.htm


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: 79137913 en 6 Diciembre 2010, 19:48 pm
HOLA!!!

Digo, soy el unico loco :rolleyes: que usa DAO? :P

Igual odio las Bases de datos empaquetadas, uso texto plano. XD

GRACIAS POR LEER!!!


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: ignorantev1.1 en 6 Diciembre 2010, 20:03 pm
hey ssccaann43 ese ejemplo ya lo tengo desde hace tiempo y lo estuve revisando pero no me convencion mucho... de todas formas muchas gracias! :xD

Que hay con "Data type conversion error"?


Título: Re: [Ayuda] Acces y VB6 (y dale con eso)
Publicado por: ignorantev1.1 en 6 Diciembre 2010, 22:04 pm
Ya lo solucione, gracias. Bueno por si les interesa el error era el siguiente:

el Recordset que mandaba como parametro a la funcion "bdNuevo", era global: lo puse en un formulario que siempre estuviera cargado para que otros formularios lo aprovecharan y lo mandaba como parametro asi: "FormularioMain.bdMain.Recordset"

Y pues, tuve que poner uno para cada formulario y ya me funciona... :laugh: