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

como jalar datos de un combo box

Estas en el tema de como jalar datos de un combo box en el foro de Visual Basic clásico en Foros del Web. Disculpen alguien me pueden ayudar tengo un proyecto conecte una bd de acees con v.basic 6.0 tengo una tabla que se llama personas con 4 ...
  #1 (permalink)  
Antiguo 08/05/2010, 14:39
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
como jalar datos de un combo box

Disculpen alguien me pueden ayudar tengo un proyecto conecte una bd de acees
con v.basic 6.0 tengo una tabla que se llama personas con 4 campos:
nombre,apellido,tel y edad.

bueno el campo nombre lo carge a un combo que se llama comboNombre. bueno esos datos del campo ya se cargan al combobox
mi duda es
¿como acer que cuando seleccione un dato del combo me parascan en otros textbox con los datos de: apellido,tel y edad.?

txtApellido, me aparesca el apellido del nombre
txtTel, el telefono
txtEdad, la edad

y asi me balla generando los datos.
pues tengo este codigo
pero solo me falta como acer que me aparesca los otros datos en unos textbox.





Public con As New ADODB.Connection
Public rst As New ADODB.Recordset

Private Sub Form_Load()
cadena = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
con.Open cadena & App.Path & "/usuario.accdb"

SQL = "SELECT * FROM personas"
rst.Open SQL, con, adOpenDynamic, adLockBatchOptimistic


With rst
Do Until .EOF
ComboNombre.AddItem .Fields(0)
.MoveNext
Combo1.ListIndex = 0

Loop

End With

End Sub
  #2 (permalink)  
Antiguo 08/05/2010, 17:29
 
Fecha de Ingreso: mayo-2007
Mensajes: 26
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

Buenas
Para haceer lo que queires debes generar una sql en funcion del campo del combobox que haya seleccionado. Para ello haz lo siguiente

-Lo primero es crear un objeto command:
Public com as ADOB.Command
Set com = New ADODB.Command

-Genera tu SQL en el objeto com que has creado en funcion del valor del combo box:
com.commandText = "SELECT * FROM personas where Nombre like '" & ComboNombre & '"

(vigila al construir la sql. EL valor debe ir entre comillas simples '
pero para introducir el valor del combo debes separar el setring de la variable, por eso las comillas dobles despues de la simple. Es decir: like "comilla simple" + comilla doble")

-Guarda la ejecucion del com en el recordset:
set rs = com.Execute

-Ahora coloca cada valor en el textbox correspondiente
txtApellido = rs("apellido")
txtEdad = rs("edad")
txtTel = rs("tel")

(el campo entre comillas del rs debe ser el mismo que la columna de la tabla. Exactamente igual: Myusculas, acentos, todo)


Con eso debes ver los valores en los TextBox.
  #3 (permalink)  
Antiguo 09/05/2010, 07:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

oye me marca un error en

Set com = New ADOdB.Command

nose que sea pero bueno en si como quedaria ya estructurado

el codigo del formulario

por que no se en que estoy fallando


graxxxxx
  #4 (permalink)  
Antiguo 09/05/2010, 16:23
 
Fecha de Ingreso: mayo-2007
Mensajes: 26
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

Cierto. Fallo mio.
Da error porque la declaracion en la linia anterior es incorrecta. Debe ser:

Public com As New ADODB.Command
Set com = New ADODB.Command

Como puedes ver me deje el "New" detras del "As"

Sorry
  #5 (permalink)  
Antiguo 10/05/2010, 08:48
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

no se que sea pero me mar ca error en

set


y no funsiona
que sera lo que estoy asiendo mal


como quedaria estructurado pues completo?



upppppppsssssssssss
  #6 (permalink)  
Antiguo 10/05/2010, 08:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

nome sale no se cual sea el error
  #7 (permalink)  
Antiguo 10/05/2010, 16:01
 
Fecha de Ingreso: mayo-2007
Mensajes: 26
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

He mirado tambien la parte de codigo que tienes tu y puede ser que el fallo este en que no hay union entre tu objeto connection y el command que te he dicho yo que crees.
Si es eso, hay que añadir una linia mas.

Resumiendo debe quedar asi:

Public con As New ADODB.Connection
Public com As New ADODB.Command
Public rst As New ADODB.Recordset

Private Sub Form_Load()

Set con = New ADODB.Connection 'Con esto inicializamos las variables
Set com = New ADODB.Command
Set rst = New ADODB.Recordset

cadena = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
con.Open cadena & App.Path & "/usuario.accdb"
Set com.ActiveConnection = db 'Esta linia faltaba. Une el command al connection

com.commandText = "SELECT * FROM personas where Nombre like '" & ComboNombre & '"

set rs = com.Execute

txtApellido = rs("apellido")
txtEdad = rs("edad")
txtTel = rs("tel")

End Sub


Mira a ver si asi te va. En caso de que no avisa y te digo como abro yo las bases de datos que es algo diferente a como lo haces tu. Pero creo que eso da igual.
  #8 (permalink)  
Antiguo 11/05/2010, 11:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

com.commandText = "SELECT * FROM personas where Nombre like '" & ComboNombre & '"

en esta linea me marca error de sintaxis

pero creo que sera mejor que me enseñes acerlo de la formaque tu lo aces

oki doki

gracias
por tu apoyo

  #9 (permalink)  
Antiguo 12/05/2010, 13:04
 
Fecha de Ingreso: mayo-2007
Mensajes: 26
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: como jalar datos de un combo box

De nada hombre. Ya que hemos llegado a este punto no lo vamos a dejar aqui.

Si el error es de sintaxis imagino que la forma de abrir la base de datos es correcta.
Fijate que este bien escrito. Al escribirlo aqui, en el foro, puede que no se vea bien pero el valor de ComboNombre va entre comillas simples (para indicar a la sentencia sql que es un valor), y las comillas simples van entre comillas dobles (para indicar a visual basic que es un string).

Es decir:
like +comilla simple+comilla doble + & + ComboNombre + & + comilladoble+comilla simple
fijate que entre like y comilla siple hay un espacio
Las sentencias sql son extremadamente estrictas con el tema de la sintaxis. Cualquier cosa que no este en su sitio te dara error.


Por otra parte, la forma en la que yo habro la base de datos es:
Public db As New ADODB.Connection 'Declaracion de variables
Public com As New ADODB.Command
Public rs As New ADODB.Recordset

Set db = New ADODB.Connection 'Inicializacion de variables
Set com = New ADODB.Command
Set rs = New ADODB.Recordset

'Apertura de la base de datos donde path es la cadena con la direccion de la base de datos
db.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & path & "; Persist Security Info=False"
db.Open

'Unimos el command a la base de datos
Set com.ActiveConnection = db

'A partir de aqui todo igual que antes

A ver que tal. Aunque seguro que el problema, como te he comentado, es la construccion de la sentencia sql.

Etiquetas: box, combo
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 00:17.