Como llenar un combo con los registros de una tabla, visual bas 6 con sql server

Iniciado por Lupiss, 29 Junio 2006, 20:34 PM

0 Miembros y 1 Visitante están viendo este tema.

Lupiss



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?

Hans el Topo

#1
Cita de: 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?

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
"select carrera from carreras where materia like '" & loqueseacarrera.loquesea & "'"
numérico
"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
//ahora llenas el combo
while not rec.eof
    variable=rec.fields("carrera")
    cbocarreras.additem variable
    rec.next
wend

' o algo asi.... xd
 

soplo

Hola

Declaro una variable a nivel de formulario de tipo conexión
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)
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
sub form_unload
Cn.close
end sub


Un saludo
;D
Callar es asentir ¡No te dejes llevar!