• Viernes 8 de Noviembre de 2024, 10:38

Autor Tema:  Guardar Campo Relacionado Con Combo Box  (Leído 2505 veces)

Tetin

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Guardar Campo Relacionado Con Combo Box
« en: Viernes 15 de Septiembre de 2006, 15:29 »
0
De antemano muchas gracias por la colaboración que me puedan prestar.

Tengo una tabla en acces que cuenta con campos id_profesor, nombres, apellidos.

Para anexar un nuevo registro muestro en un combobox nombres y apellidos, pero requiero guardar en alguna variable el id de profesor relacionado al nombre seleccionado en el combo.

Atento a sus respuestas.

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Guardar Campo Relacionado Con Combo Box
« Respuesta #1 en: Viernes 15 de Septiembre de 2006, 16:27 »
0
Que tal Tetin!

Te puedo recomendar que uses el datacombo, con este control puedes configurar que columna quieres que muestre y cual almacenara en la bd.

Con la propiedad BoundColumn, estableces con que campo se enlaza el combo. Para tu caso seria el id del profesor. También esta la propiedad DataField. En la propiedad ListField va el nombre del campo para llenar la lista del combo, para tu caso seria el nombre del profesor. La propiedad RowSource te indica cual recordset tiene la información para llenar el combo.

Espero te sirva de ayuda, cualquier duda nos consultas.

Saludos.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Guardar Campo Relacionado Con Combo Box
« Respuesta #2 en: Domingo 24 de Septiembre de 2006, 07:16 »
0
Aqui te dejo para que manejes los dos eventos del usuario.

Primero en el evento gotfocus del combo, cargas el nombre del usuario y el codigo lo cargas de forma implicita.
Código: Text
  1.  
  2. Private Sub combousuario_GotFocus()
  3.  
  4. combousuario.Clear
  5. Set conexion = New ADODB.Connection
  6. Set recordset = New ADODB.recordset
  7. conexion.Open "Ruta Base de Datos"
  8.  
  9. sql = "select * from usuarios "
  10. recordset.Open sql, conexion
  11.  
  12. With recordset
  13.      While Not recordset.EOF
  14.        combousuario.AddItem !Nombres
  15.        combousuario.ItemData(cmbUsuario.NewIndex) = !Codigo 'Obtienes el codigo del usuario sin mostrarlo en el combo
  16.        recordset.MoveNext
  17.      Wend
  18. End With
  19. conexion.Close
  20. End Sub
  21.  
  22.  

Luego en el evento click del combo le agregas a una variable el codigo del usuario que hayas seleccionado.
La variable la creo en un modulo para poderla utilizar en cualquier formulario sin ningún problema.

Código: Text
  1.  
  2. Private Sub combousuario_Click()
  3.  
  4. ContenedorCodigo = combousuario.ItemData(combousuario.ListIndex) 'Este es el truco que necesitas
  5.  
  6. End Sub
  7.  
  8.  

Espero te sirva.  :comp:
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.