Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
HOLA, BUENAS NOCHES. SOY NUEVA PROGRAMANDO CON gambas, Y NECESITO QUE POR FAVOR ALGUIEN ME AYUDE CON LO SIGUIENTE:
REALICE UN SELECT CON LA FINALIDAD DE TRAER LOS DATOS DE DOS CAMPOS DE UNA BASE DE DATOS, EL CAMPO CLAVE Y LA DESCRIPCION; LA INFORMACION DE ESE SELECT LA INSERTE EN UN COMBOBOX DE LA SIGUIENTE MANERA:

consulta = modulofunciones.conexion.Exec("select tipos_persona.tipo_pers,tipos_persona.descrip from tipos_persona where tipos_persona.descrip='V-' OR tipos_persona.descrip='E-'")
 IF consulta.Count > 0
 FOR i = 0 TO consulta.Count - 1
 ME.ComboBox1.Add(consulta["tipos_persona.descrip"], consulta["tipos_persona.tipo_pers"])
 consulta.MoveNext
 NEXT

EL PRIMER CAMPO INSERTADO ES LA DESCRIPCION DEL TIPO DE PERSONA Y EL SEGUNDO ES LA CLAVE DEL TIPO DE PERSONA QUE ME TRAJE DE LA BD.

EL PROBLEMA QUE TENGO ES QUE AL SELECCIONAR UN ELEMENTO DEL COMBOBOX QUIERO TOMAR LA CLAVE QUE INSERTE DE LA BD OSEA (consulta["tipos_persona.tipo_pers"]). NO CONSIGO LA PROPIEDAD QUE ME PERMITA LOGRAR ESTO.

INTENTE CON EL CAMPO INDEX,  SEGUN LA DECRIPCION QUE DA gambas ES UNO DE LOS  PARAMETROS DEL COMBO EN EL QUE YO INSERTE LA CLAVE DE LA BD.PERO ESA PROPIEDAD ME DA EL INDEX DEL COMBO COMO TAL MAS NO LA CLAVE QUE YO INSERTE.

LES AGRADECERIA SI ALGUIEN ME PUEDE AYUDAR CON ELLO. GRACIAS
 



 
victoria - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
Utiliza la propiedad Tag del comboBox. Es una propiedad que no hace nada, pero que te permite almacenar información dentro del propio objeto.
Te pongo un ejemplo:

  DIM res AS Result
  dim arList as String[]  'utilizo un array local para luego meterlo en el .list del combo
  micombo.Tag = NEW Variant[]   'aquí inicializas el valor de Tag

  consulta = miconexion.Exec("select tipo_pers, descrip from tipos_persona where descrip='V-' OR descrip='E-' order by descrip") 'Importante que la consulta ya devuelva los valores ordenados
  WHILE consulta.available
    arList.Add(consulta!descrip)  'aquí almacenas el contenido de la lista en el combo
    micombo.Tag.Add(consulta!tipo_pers)           'aquí almacenas las claves únicas en el tag
    res.MoveNext
  WEND
  micombo.list=arList  'añades al combo la lista para mostrar
 


Luego para localizar el tipo_pers que seleccione el usuario:
  
 
mi_tipoPer=micombo.tag[micombo.index]


Suerte
 



 
última edición por shordi el Lunes, 14 Febrero 2011, 07:06; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
Está bien shordi pero ¿para que necesitas ArList?

Con tu propio código
DIM res AS Result
 micombo.Tag = NEW Variant[]   'aquí inicializas el valor de Tag

 consulta = miconexion.Exec("select tipo_pers, descrip from tipos_persona where descrip='V-' OR descrip='E-' order by descrip") 'Importante que la consulta ya devuelva los valores ordenados
 WHILE consulta.available
   micombo.Add(consulta!descrip)  'aquí almacenas el contenido de la lista en el combo
   micombo.Tag.Add(consulta!tipo_pers)           'aquí almacenas las claves únicas en el tag
   res.MoveNext
 WEND
 


Yo hago eso mismo pero no había caído en la cuenta de que los códigos podían ir en el TAG. A partir de ahora lo haré así porque es mas limpio.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
PERFECTO, UN MILLON DE GRACIAS PORQUE ESTO PARA UN TRABAJO DE LA UNIVERSIDAD Y ES PARA ESTE FIN DE SEMANA Y NECESITAVA SABER RAPIDAMENTE COMO HACERLO POR EL POCO TIEMPO QUE TENEMOS PARA ENTREGAR. LES CUENTO QUE HICE ESTO USANDO LA PROPIEDAD tag QUE USTEDES ME FACILITARON Y TAMBIEN FUNCIONA.

consulta = modulofunciones.conexion.Exec("select tipos_persona.tipo_pers,tipos_persona.descrip from tipos_persona where tipos_persona.descrip='V-' OR tipos_persona.descrip='E-' order by tipos_persona.descrip")
 IF consulta.Count > 0
 FOR i = 0 TO consulta.Count - 1
 ME.ComboBox1.Add(consulta["tipos_persona.descrip"])
 ME.ComboBox1.Tag = consulta["tipos_persona.tipo_pers"]
 consulta.MoveNext
 NEXT


DE TODAS FORMAS VOY A PROBAR BIEN A VER SI NO ARROJA NINGUN TIPO DE ERROR, PORQUE SI ES ASI YA TENGO A LA MANO LA OPCION QUE USTEDES ME FACILTARON. GRACIAS.
 



 
victoria - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
Hola Victoria, bienvenida a los foros de Gambas-es

En adelante, si es posible, no escribas todo el texto en mayúsculas. Aparte de estar en las Normas del Foro (7º párrafo), no está bien visto en general en Internet ni en ningún otro foro ni comunidad.

Gracias y que disfrutes del foro.
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
bien, la verdad ni me dio chance de leer las normas, es que ando de apuros  ingresando datos de prueba en una base de datos en mayuscula y se me olvido quitarla pero gracias por la observacion, la tomare en cuenta y voy a leer las normas.  
 



 
victoria - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE INSERTADO DE UNA BASE DE DATOS 
 
Soplo, si actualizas directamente el .list del combo, no se refresca y no se ve la lista. A veces me he encontrado que ni siquiera con una orden refresh lo hacía (no recuerdo en qué versión de gambas). También recuerdo que si metías un WAIT 0.1 después de actualizar el list se veía... pero utilizando un Array local y metiéndolo de golpe en el list sí que se ve de una y sin problemas... Al final son "vicios" o soluciones, no sé, que uno adopta y funcionan...

Suerte.

Edito: No había visto con detalle tu código. Yo nunca había intentado eso de mycombo.Add("valor"). Lo que ho había intentado es micombo.list.Add("valor")... Supongo que el evento Add del combo incluye el refresco... Simplificaré así, que queda mejor.
 




===================
No podemos regresar
 
última edición por shordi el Martes, 15 Febrero 2011, 10:15; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes AYUDA CON COMBOBOX ale Controles/Librerías/Componentes 5 Domingo, 16 May 2010, 08:20 Ver último mensaje
Shell
No hay nuevos mensajes PREGUNTA BASE DE DATOS Dervins Bases de Datos 7 Miercoles, 02 Febrero 2011, 10:28 Ver último mensaje
ahtonio
No hay nuevos mensajes BASE DE DATOS jsjessysantana Bases de Datos 2 Domingo, 19 Junio 2011, 11:15 Ver último mensaje
jguardon
No hay nuevos mensajes COMO VACIAR EL CONTENIDO DE UN TABLEVIEW A... sayeret Bases de Datos 2 Viernes, 06 Enero 2012, 19:22 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron