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

Combo

Estas en el tema de Combo en el foro de Visual Basic clásico en Foros del Web. lcmb.AddItem lrsCombos.Fields("sif_catfact_vchr_nombre"), CStr(lrsCombos.Fields("strid")) ese es mi codigo de un combo en la parte de Addimte donde lo primero se supone que es lo que aparece ...
  #1 (permalink)  
Antiguo 31/08/2006, 09:53
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
Combo

lcmb.AddItem lrsCombos.Fields("sif_catfact_vchr_nombre"), CStr(lrsCombos.Fields("strid"))


ese es mi codigo de un combo en la parte de Addimte
donde lo primero se supone que es lo que aparece en la parte del combo y lo que estas despues de la coma es el id que quiero madnar a la bd, el prblema de esto es que me dice que no es un tipo de datos correcto. type mismatch.

Cual podra ser la solución??

gracias!!
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #2 (permalink)  
Antiguo 31/08/2006, 10:04
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 18 años, 9 meses
Puntos: 2
mmm nunca eh usado de esa forma el additem del combo, pero si strid es del tipo numerico (aunque a simplevista parece que no) puedes ingresarlo en el itemdata del combo
lcmb.ItemData(lcmb.NewIndex) = lrsCombos.Fields("Strid")

a lo mejor en tu codigo si es numerico y el cstr quitalo (asi no lo transformas a string)

y la otra forma (al menos la que yo prefiero usar) es cargar un listbox con el codigo del id ejemplo
list_lcmb.AddItem Trim(lrsCombos.Fields("strid")) <-- si es texto

y despues lo busco asi

msgbox "El Id Seleccionado es " + trim(list_lcmb.list(lcmb.listindex))
  #3 (permalink)  
Antiguo 31/08/2006, 10:10
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
suena bien. lo que pasa esque me quede con la ideadel javascript donde solo ponia el value y despues la cadena a mostrar..., deja lo intento asi como dices con el
lcmb.ItemData(lcmb.NewIndex) = lrsCombos.Fields("Strid")

lo unico que no entiendo es como mostrar los dos valores al mismo tiempo.
el ID y luego el texto? No c si me explico???
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #4 (permalink)  
Antiguo 31/08/2006, 10:11
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
este es el codigo
While Not lrsCombos.EOF = True

lcmb.AddItem lrsCombos.Fields("sif_catfact_vchr_nombre")

lrsCombos.MoveNext

Wend
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #5 (permalink)  
Antiguo 31/08/2006, 10:20
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 18 años, 9 meses
Puntos: 2
ok vamos por parte, tu quieres mostrar ambos valores en el combo box puedes hacerlo pero de paso te recomiendo hacerlo con espacios definidos para que no sea mas ordenado

ejemplo
lcmb.AddItem lrsCombos.Fields("sif_catfact_vchr_nombre") & "-" & trim(rsCombos.Fields("Strid"))

ese es uno donde separas el valor del campo con el id por un guion -

o asignarlo de la siguiente forma
fuera del ciclo de recorrido
vardetalle=space(30)
varid=space(5)

dentro del ciclo

lset vardetalle= lrsCombos.Fields("sif_catfact_vchr_nombre")
rset varid = trim(lrsCombos.Fields("Strid"))
lcmb.AddItem vardetalle & " " & varid
  #6 (permalink)  
Antiguo 31/08/2006, 10:26
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
ahhhhhh ya te entedi!!!! Ahora me doy cuenta que el sonso soy yo... poruqe no me doy a explicar!!!!

Ya la utlima si no me doy un tiro... hay va!!

Lo que no c hacer es como poner el ID y mi texto en el combo
esto quiere decir que con el c´difo que puse pues si me muestra la info en el combo, pero cuando quiero guardarlo en la base de datos quiero madnar el id que le corresponse a ese campo!.

con este c´digo
lcmb.AddItem lrsCombos.Fields("sif_catfact_vchr_nombre")

en donde diablo ke pongo el id? No quiero que lo muestre! solo quiero que ese dato lleve su id para cuando lo tenga que guardar en la base de datos...

Si ya no me quieres contestar no hay problem.. jijijijijijjiji
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #7 (permalink)  
Antiguo 31/08/2006, 10:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
el problema que tengo es que
lcmb.AddItem lrsCombos.Fields("sif_catfact_vchr_nombre")
lcmb.ItemData(lcmb.NewIndex) = CStr(lrsCombos.Fields("sif_catfact_vchr_nombre"))

me dice que el tipo de dato no es el correcto para un indice, pero pue que hago si el id de mi base de datos es texto??
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #8 (permalink)  
Antiguo 31/08/2006, 10:56
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 18 años, 9 meses
Puntos: 2
jejeje amigo... al parecer no as probado con la segunda opcion que te di en mi primer post... que es como dice ahi la que me gusta trabajar a mi, con un listbox (orbiamente con su propiedad visible a false) y como vez sale ahi como cargar la informacion en el y como recuperarla xD
  #9 (permalink)  
Antiguo 04/09/2006, 14:26
 
Fecha de Ingreso: diciembre-2004
Mensajes: 129
Antigüedad: 20 años, 4 meses
Puntos: 0
CboServicio.AddItem rst!detalle
CboServicio.ItemData(CboServicio.NewIndex) = rst!id

id debe ser numerico
  #10 (permalink)  
Antiguo 04/09/2006, 17:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
gracias

muchas gracias
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
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 09:11.