Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

confundida con itemdata de combobox en vb

Estas en el tema de confundida con itemdata de combobox en vb en el foro de Visual Basic clásico en Foros del Web. hola, buenos dias, a pesar de que he revisado varios foros y paginas webs, me siento confundida al utilizar el itemdata de un combobox, entiendo ...
  #1 (permalink)  
Antiguo 31/10/2008, 09:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 15 años, 6 meses
Puntos: 0
confundida con itemdata de combobox en vb

hola, buenos dias, a pesar de que he revisado varios foros y paginas webs, me siento confundida al utilizar el itemdata de un combobox, entiendo la estructura de los ejemplos pero al aplicarlo a mi codigo me confundo, la verdad soy principiante. Tengo 2 combobox, el 1ero se carga desde access 2003, dependiendo de lo que se seleccione, se cargara el 2do combobox. (Los ejemplos que he visto o son con combobox no dependientes o no trabajan con base de datos)
Los datos que se cargan en los combobox son texto, pero en la tabla de access tienen un codigo numerico, es decir, cumplo un requisito del itemdata.
Espero puedan ayudarme, tengo la idea pero no logro concretarla. Aqui mi codigo para que puedan tener mejor la idea:

Private Sub Combo1_Click()
Set rsProd = dbsemp.OpenRecordset("PRODUCTOS", dbOpenTable)
rsProd.MoveFirst
Combo2.Clear
Codigo = Combo1.ItemData(Combo1.NewIndex) = 0
Codigo = Combo1.ListIndex = 0
Do While rsProd.EOF = False
Select Case Combo1.Text
Case "LIMPIEZA"
If rsProd!Cod_Articulo = "101" Then
Combo2.AddItem rsProd!Nombre_Pro
Combo2.ItemData(Combo2.NewIndex) = rsProd.Fields!Cod_Producto
rsProd.MoveNext
Else
rsProd.MoveNext
End If
Case "OFICINA"
If rsProd!Cod_Articulo = "102" Then
Combo2.AddItem rsProd!Nombre_Pro
rsProd.MoveNext
Else
rsProd.MoveNext
End If
Case ""
Combo2.Clear
End Select
Loop
End Sub

¿Como hago para que al seleccionar en el combo1 y combo2 se me guarde el codigo en la tabla que he destinado para ello? cualquier sugerengia estare agradecida.
  #2 (permalink)  
Antiguo 31/10/2008, 10:48
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: confundida con itemdata de combobox en vb

Cita:
Iniciado por ybruiz Ver Mensaje
hola, buenos dias, a pesar de que he revisado varios foros y paginas webs, me siento confundida al utilizar el itemdata de un combobox, entiendo la estructura de los ejemplos pero al aplicarlo a mi codigo me confundo, la verdad soy principiante. Tengo 2 combobox, el 1ero se carga desde access 2003, dependiendo de lo que se seleccione, se cargara el 2do combobox. (Los ejemplos que he visto o son con combobox no dependientes o no trabajan con base de datos)
Los datos que se cargan en los combobox son texto, pero en la tabla de access tienen un codigo numerico, es decir, cumplo un requisito del itemdata.
Espero puedan ayudarme, tengo la idea pero no logro concretarla. Aqui mi codigo para que puedan tener mejor la idea:

...

¿Como hago para que al seleccionar en el combo1 y combo2 se me guarde el codigo en la tabla que he destinado para ello? cualquier sugerengia estare agradecida.
Hola, buenas tardes!

Lo que entiendo: Tienes un ComboBox (Combo1) cargado desde una tabla Access que sólo tiene dos registros ('LIMPIEZA' y 'OFICINA') y al seleccionar el item primero (con la condición de que el campo 'Cod_Articulo' sea igual a 101)debe cargar el Combo2 con el campo 'Nombre_Pro' y en la propiedad ItemData el campo 'Cod_Producto' y al seleccionar la segunda opción (también con su condición) cargará en el Combo2 el campo 'Nombre_Pro'.
Si lo que entendí es lo correcto, puedes poner un código como éste:

Código:
Set rsProd = dbsemp.OpenRecordset("PRODUCTOS", dbOpenTable)
Combo2.Clear
Do Until rsProd.EOF
    If Combo1.Text = "LIMPIEZA" And rsProd!Cod_Articulo = "101" Then
        Combo2.AddItem rsProd!Nombre_Pro
        Combo2.ItemData(Combo2.NewIndex) = rsProd.Fields!Cod_Producto
    ElseIf Combo1.Text = "OFICINA" And rsProd!Cod_Articulo = "102" Then
        Combo2.AddItem rsProd!Nombre_Pro
        ' aquí no le ponemos la propiedad ItemData??
    End If
    rsProd.MoveFirst
Loop
Lo que no entiendo:
¿Como hago para que al seleccionar en el combo1 y combo2 se me guarde el codigo en la tabla que he destinado para ello?

  #3 (permalink)  
Antiguo 31/10/2008, 12:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: confundida con itemdata de combobox en vb

Si es correcto, muchisimas gracias de verdad, no sabe cuanto necesite esta respuesta y de la ayuda, disculpe mi ignorancia.... en cuanto a la ultima pregunta de ¿como hago para guardar? me referia a que en mi formulario estan los 2 combos y varios textbox, una vez que el usuario los llene, deben guardarse los datos en otra tabla, para lo cual tengo:
rstemp.AddNew
rstemp!RIF = Text1
rstemp!Cod_Articulo = Combo1 ¿Es correcto? ¿me guardara el codigo en la tabla?
rstemp!Cdo_Producto = Combo2 ¿Es correcto?¿me guardara el codigo en la tabla?
rstemp!Fecha_Compra = Text5
rstemp!Cantidad_Compra = Text3
rstemp!Costo_unidad = Text4
rstemp!Nro_Factura = Text6
rstemp.Update
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
Text6 = ""
Combo1 = ""
Combo2 = ""
Text1.SetFocus
End If
End If
End If
End Sub

Los datos que se cargan en los combobox son de una tabla, y al guardar el registro en otra tabla. por eso preguntaba que si seran guardados los codigos.
y una vez mas muchisimas gracias por su disposicion para ayudarme.
  #4 (permalink)  
Antiguo 31/10/2008, 14:28
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: confundida con itemdata de combobox en vb

Cita:
Iniciado por ybruiz Ver Mensaje
.... en cuanto a la ultima pregunta de ¿como hago para guardar? me referia a que en mi formulario estan los 2 combos y varios textbox, una vez que el usuario los llene, deben guardarse los datos en otra tabla, para lo cual tengo:
rstemp.AddNew
rstemp!RIF = Text1
rstemp!Cod_Articulo = Combo1 ¿Es correcto? ¿me guardara el codigo en la tabla?
rstemp!Cdo_Producto = Combo2 ¿Es correcto?¿me guardara el codigo en la tabla?

Los datos que se cargan en los combobox son de una tabla, y al guardar el registro en otra tabla. por eso preguntaba que si seran guardados los codigos.
y una vez mas muchisimas gracias por su disposicion para ayudarme.
No!, según lo pones en rstemp!Cod_Articulo grabaría "LIMPIEZA" u "OFICINA"
Para que guarde el Cod_Articulo de la la tabla "PRODUCTOS" debería ser:

rstemp!Cod_Articulo = rsProd!Cod_Articulo

y

rstemp!Cdo_Producto = Combo2.ItemData(Combo2.NewIndex)

Espero que así funcione, pues tampoco tengo muy claro qué es lo que quieres.

  #5 (permalink)  
Antiguo 03/11/2008, 07:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: confundida con itemdata de combobox en vb

hola buenos dias, muchisimas gracias por tu disposicion para ayudarme, Lo que necesito es que al seleccionar cada combo (donde se visualiza texto) se guarde el codigo correspondiente a lo seleccionado en ambos combos. Ejemplo: si en el combo 1 seleccionan limpieza, guarde 101; si en el combo 2 seleccionan bolsas negras guarde su codigo. (el combo 2 depende de la que seleccionen en el combo 1) En ambos combos, necesito que se guarde el codigo correspondiente; Pero probare con lo que me has recomendado a ver y te contare.... gracias nuevamente.

Última edición por ybruiz; 03/11/2008 a las 09:43
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:26.