• Domingo 22 de Diciembre de 2024, 23:47

Autor Tema:  Ayuda Con Combobox  (Leído 1473 veces)

jpardo84

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Ayuda Con Combobox
« en: Martes 9 de Marzo de 2004, 17:52 »
0
Cordial saludo, necesito una pequeña ayudita... cuando despliegue un comboBox me muestre cod_articulo y Descripcion_aticulo desde una tabla Articulos, y que cuando seleccione un registro cualquiera de la lista, sólo me ponga en el cuadro de edición del combobox el cod_articulo, (la descripción es sólo como ayuda visual en a lista para saber qué artículo estoy escogiendo). Se que con el método .Aditem se pueden agregar datos uno a uno, pero no se como agregar datos de varias columnas de una tabla, muchas gracias...Saludos

carlosjrey

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Ayuda Con Combobox
« Respuesta #1 en: Martes 9 de Marzo de 2004, 20:01 »
0
Te voy a dar dos ejemplos hechos en DAO pero aplican en las otras tecnologias de acceso a datos..

General
Option Explicit
Dim StrCod_Articulo as String 'Si el codigo es string

Cargar el combo:

Private Sub Form_Load()
 CargarCombo
end sub

Sub CargarCombo
      Dim StrDesc_Articulo as  String

       SqlSELECTQry = "SELECT Cod_Articulo, Descripcion_Articulo  FROM Articulos"
        Set Rst = db.OpenRecordset(SqlSELECTQry)
            With Rst
                While Not .EOF
                    if isNull(!desc_Articulo)
                        StrDesc_Articulo = ""
                    else
                         StrDesc_Articulo = !Descripcion_Articulo
                    end if

                    Cmb_Articulo.AddItem !Cod_Articulo & " " & StrDesc_Articulo
                    .MoveNext
                Wend

                 Rst.Close 'Nunca olvide cerrar Los Rst, Pueden traer problemas
                                'no interceptables
                End With
               CmbNombA.Text = CmArticulo.List(0) 'elemento 0 de las lista.
End Sub


Public Sub CmArticulo_Click() 'evento click del combo
S_SelectCod_Uo
end sub

Public Sub CmArticulo_Click() 'evento Changue del combo
S_SelectCod_Uo
end sub

Sub S_SelectCod_Uo()
StrCod_articulo = CmbArticulo.text
StrCod_articulo = (Trim(Mid(StrCod_articulo, 1, 7))) 'aqui supongo que el tamaño
'campo en la base de datos es 7 y como solo te interesa el codigo entoces lee los 7 caracteres y eliminas los espacios restantes con trim. Sigo:
CmbArticulo.Clear 'borras el contenido del combo
CmArticulo.AddItem = StrCod_articulo 'le agregas al combo solo el dato
'que selecciona el usuario..
end sub


Private Sub Cualquier_Proceso() 'al final de procesar el dato:
Cmb_Articulo.Clear 'borras el contenido del combo
CargarCombo 'y lo vuelves a cargar
end sub

Saludos y discupa los si encuentras errores, esta hecho al vuelo...
 Carlos Rey  :hola:

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Ayuda Con Combobox
« Respuesta #2 en: Miércoles 10 de Marzo de 2004, 07:24 »
0
Hola jpardo84!

Este codigo tambien te puede ser util para llenar el ComboBox

Código: Text
  1.  
  2. Public Sub LlenaCboConCampo(ByVal Combo As Object, ByVal strSQL As String, ByVal Campo As String)        
  3. Dim Rst   As ADODB.Recordset
  4. Dim iCont As Long
  5.  
  6.      On Error GoTo ErrHandler        
  7.      If TypeName(Combo) = "ComboBox" Then          
  8.           Set m_ComboBox = Combo      
  9.      Else          
  10.           Exit Sub      
  11.      End If        
  12.      Set Rst = New ADODB.Recordset      
  13.      Rst.Open strSQL, gDB, adOpenDynamic, adLockReadOnly      
  14.      m_ComboBox.Clear      
  15.      Rst.MoveFirst      
  16.      For iCont = 1 To Rst.RecordCount            
  17.           m_ComboBox.AddItem Rst.Fields(Campo).Value          
  18.           Rst.MoveNext
  19.       Next iCont
  20.       Rst.Close
  21.       Set Rst = Nothing
  22.       Set m_ComboBox = Nothing
  23.       Exit Sub    
  24.  
  25. ErrHandler:      
  26.       Set Rst = Nothing  End Sub  
  27.  
  28.  



:devil: ------------------ :angel:
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...

jpardo84

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Ayuda Con Combobox
« Respuesta #3 en: Lunes 15 de Marzo de 2004, 14:32 »
0
ok, muchas gracias a los dos por la ayuda. Ya puse en práctica el código y me funcionó, aunque en un principio pensé que sería posile vincular con código directamente a la recordset con el combobox, pero concatenando también en una buena idea, lo que peligroso es tener cuidado de no cambiar el ancho o tamaño del campo en la bases de datos, porque despues de que genere un ejecutable toca y volver a cambiar y el código y generarlo de nuevo. En verdad gracias por su ayuda y buen día...

sercas

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Ayuda Con Combobox
« Respuesta #4 en: Lunes 22 de Marzo de 2004, 17:45 »
0
:hola:
Salu2
 Me gustaria que me regalaras el programa en zip, Yo quiero Hacer algo asi pero no sé ni como empezar.

sergiocastrohn@yahoo.com

Hasta Luego.