Programación General > Bases de Datos

 [SOLUCIONADO]Problema con combobox

(1/1)

korsakof:
Buenas estoy intentando cargar unos combobox, 3 en concreto y lo que me ocurre es que carga uno y el resto no, No se cual es el motivo



--- Código: Visual Basic ---Dim tablahispacientes As TableDefDim registrohispacientes As Recordset Dim tablaenfermedades As TableDefDim registroenfermedades As Recordset Dim tablatratamientos As TableDefDim registrotratamientos As Recordset Dim tablamedicos As TableDefDim registromedicos As Recordset  Private Sub Form_Load()Rem cargo los valores de la tabla hispacientes        Set tablahispacientes = dbclinica.TableDefs("Hispacientes")    Set registrohispacientes = tablahispacientes.OpenRecordset(dbOpenDynaset)    Rem cargo pacientes               tbarhispacientes.Buttons(1).Enabled = False            tbarhispacientes.Buttons(2).Enabled = False            tbarhispacientes.Buttons(3).Enabled = False  Rem cargo combo enfermedades    Dim slinea As String            Set tablaenfermedades = dbclinica.TableDefs("Enfermedades")    Set registroenfermedades = tablaenfermedades.OpenRecordset(dbOpenDynaset)        registroenfermedades.Sort = "[codeENF] Asc"        If Not registroenfermedades.EOF Then        cbbenfermedades.Clear                    While Not registroenfermedades.EOF            slinea = Format(registroenfermedades.Fields("codeENF")) & Space(1) & Left$(registroenfermedades.Fields("nomENF"), 50)                        cbbenfermedades.AddItem slinea                       registroenfermedades.MoveNext        Wend    End If    cbbenfermedades.Text = cbbenfermedades.List(0)    registroenfermedades.Close Rem cargo combo tratamientos[b]Este es el unico que carga de todos[/b]       Set tablatratamientos = dbclinica.TableDefs("Tratamientos")   Set registrotratamientos = tablatratamientos.OpenRecordset(dbOpenDynaset)          registrotratamientos.Sort = "[codtTRAT] Asc"        If Not registrotratamientos.EOF Then        cbbenfermedades.Clear                    While Not registrotratamientos.EOF            slinea = Format(registrotratamientos.Fields("codtTRAT")) & Space(1) & Left$(registrotratamientos.Fields("nomTRAT"), 50)                        cbbtratamientos.AddItem slinea                       registrotratamientos.MoveNext        Wend    End If    cbbtratamientos.Text = cbbtratamientos.List(0)    registrotratamientos.Close    Rem cargo el combo box de medicos    Set tablamedicos = dbclinica.TableDefs("Medicos")   Set registromedicos = tablamedicos.OpenRecordset(dbOpenDynaset)       registromedicos.Sort = "[codmMED] Asc"        If Not registromedicos.EOF Then        cbbmedicos.Clear               While registromedicos.EOF                slinea = Format(registromedicos.Fields("codmMED")) & Space(1) & Left$(registromedicos.Fields("nomMED"), 50) & Space(1) & Left(registromedicos.Fields("apelMED"), 50)                cbbmedicos.AddItem slinea                registromedicos.MoveNext        Wend    End If    cbbmedicos.Text = cbbenfermedades.List(0)    registromedicos.Close    End Sub 

Gracias y perdonad de nuevo.

m0skit0:
Fíjate en la línea 59:


--- Código: Visual Basic ---cbbenfermedades.Clear ¿No debería ser cbbtratamientos.Clear? Porque vacías cbbenfermedades pero ya no lo vuelves a rellenar.

Me gustaría también que especificaras qué combos quedan sin rellenar (uno supongo que es cbbenfermedades).

Salud

korsakof:
Ya me di cuenta del error muchas gracias. Ahora no puedo probarlo, mañana por la mañana lo pruebo y comento lo que ocurre
Limpio los combobox por si existe algo simplemente para asegurarme.
Lo que hacia, metia los tres combobox y solo me cargaba el ultimo.

Muchas gracias.

korsakof:
Ya encontre el error. Al final era que como copie el codigo que hice en el primero los borraba.

Gracias.

Navegación

[0] Índice de Mensajes

Ir a la versión completa