Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Lupiss en 29 Junio 2006, 20:34 pm



Título: Como llenar un combo con los registros de una tabla, visual bas 6 con sql server
Publicado por: Lupiss en 29 Junio 2006, 20:34 pm


Tengo una pantalla para el registro de carreras y otra para el registro de materias y necesito que al registrar una materia, de un combo pueda seleccionar la carrera a la que pertenecerá dicha materia ¿como puedo hacerle para que el combo se llene con las carreras ya registradas?


Título: Re: Como llenar un combo con los registros de una tabla, visual bas 6 con sql se
Publicado por: Hans el Topo en 29 Junio 2006, 22:32 pm


Tengo una pantalla para el registro de carreras y otra para el registro de materias y necesito que al registrar una materia, de un combo pueda seleccionar la carrera a la que pertenecerá dicha materia ¿como puedo hacerle para que el combo se llene con las carreras ya registradas?

bueno la cosa queda en programar el click si es que tienes las materias en un combo también ... xd

la cosa esta en enviar una sentencia pidiendo las carreras asociadas a esa materia.... como no explicas como tienes las tablas sql... pues no te puedo poner la consulta pero sería algo asi...

alfanumérico
Código:
"select carrera from carreras where materia like '" & loqueseacarrera.loquesea & "'"
numérico
Código:
"select carrera from carreras where materia =" & loqueseacarrera.loquesea
'con eso solo seleccionas de tu base de datos de las carreras que corresponden a la materia seleccionada

como nose si estas trabajando con un control o con objetos... pues la cosa esta un poco confusa...

//objetos
'se supone que ya has creado los objetos y tal
'rec=recordset  cmd=command consulta=sentencia a enviar,lo anterior   xd

cmd.commandtext=consulta
set rec=cmd.execute
Código:
//ahora llenas el combo
while not rec.eof
    variable=rec.fields("carrera")
    cbocarreras.additem variable
    rec.next
wend
' o algo asi.... xd


Título: Re: Como llenar un combo con los registros de una tabla, visual bas 6 con sql server
Publicado por: soplo en 29 Junio 2006, 23:32 pm
Hola

Declaro una variable a nivel de formulario de tipo conexión
Código:
Dim Cn as adodb.Connection

Al cargar el formulario abro un recordset y lleno el combo.
Fíjate que hago
dbcombo1.additem "" & rec!NombreTotal
De esa forma aunque NombreTotal fuera null no tendría error, como máximo guardaría una entrada en blanco
Fíjate que al seleccionar un dato del combo siempre tienes el código que te permite acceder a la totalidad del registro en
combo1.itemdata(combo1.listindex)
Código:
sub form_load
Dim  Rec as adodb.Recordset

Set Cn=new adodb.Connection
Cn.open " ... connectionstring ..."

Set Rec=new adodb.Recordset
Rec.open "select codigo, ape1+" "+nombre as NombreTotal where poblacion='Madrid' order by ape1"

do while not rec.eof
   combo1.additem "" & rec!NombreTotal
   combo1.itemdata(combo1.newindex) = "" & rec!codigo
   rec.movenext
loop

rec.close
end sub
Al cerrar el formulario cerrar la conexión
Código:
sub form_unload
Cn.close
end sub

Un saludo
 ;D