Una ayudita en Visual

Muy buenas. Mi problema es el siguiente:
Necesito que aparezca en un combo dos datos concatenados, es decir, coger los datos de dos campos diferentes de una tabla y hacer que aparezcan juntos en la lista del combo. En resumen, necesito que salgan en un combo, el código y el nombre concatenados.
No se si me he explicado bien, espero que me puedas ayudar. Gracias

2 Respuestas

Respuesta
1
Supongo que te refieres a un DBCombo, porque para un Combo que lo llenas manualmente, habría otras soluciones más fáciles.
Te pongo un ejemplo: Tengo una tabla "TiposArchivo" de una base de datos con dos campos de nombres "Extension" y "Descripcion" y quiero ver ambos campos en el DBCombo.
Sitúo un Data con la propiedad Databasename apuntando al archivo de Base de datos, y relleno la propiedad RecorSource con esta expresión:
SELECT [Extension] & ' - ' & [Descripcion] AS Nuevo FROM TiposArchivo
Fíjate que Extensión y Descripción son los dos campos que quiero encadenar, y además introduzco entre ambos un guión entre dos espacios para una mejor estética. Al resultado de esa concatenación le llamo como quiera, en este caso "Nuevo"
En el foremulario sitúo ahora un DBCombo y pongo su propiedad RowSource apuntando a Data1 y su propiedad ListField la relleno con Nuevo
Y ya está: Al ejecutar se ve en combo la concatenación de ambos campos.
OJO: Si necesitas más datos, por ejemplo para las propiedades DataField, BoundColumn etc del DBCOMBO tendrás que añadir los campos requeridos en el SELECT. Te he puesto exclusivamente lo necesario para sacar los dos campos en el desplegable.
Suerte :-)
Cuando le voy a asignar al DBCombo en su propiedad RowSource el Data, me da el siguiente error:
'No se ha encontrado ningún origen de datos compatible para este control. Agregue un origen de datos OLEDB como el entorno de datos o un control Data de Microsoft ADO al formulario o proyecto.'
¿A qué se debe esto?
Gracias por la ayuda.
Yo había supuesto que tenías claro como sacar en el combo, el contenido de UN campo de la base de datos, y que tu pregunta era exclusivamente referida a cómo sacar DOS campos concatenados. Por lo que me dices, parece que no es así, sino que lo que te está pasando es que no enlazas correctamente el Combo a la base de datos.
Por el mensaje que me indicas, parece que te dice que no tienes un control Data enlazado a una base de datos. Mírate la forma en que lo has enlazado.
No puedo ayudarte más porque no me has dicho nada sobre que tipo de base de datos tienes, si estas usado JET o ODBC, si estás con ADO o con DAO... etc.
Respuesta
-1
Pues almacenas los datos en un recordset y para insertarlos juntos en un combo escribe
cbo.additem rec(0) & " " & rec(1)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas