Access - Concatenar valores de una tabla.

 
Vista:

Concatenar valores de una tabla.

Publicado por Jesús (13 intervenciones) el 29/09/2010 09:17:04
Hola a todos.

Tengo en una tabla llamada tblFormulas la siguiente estructura:

IdFOR FORNombre IdING INGNombre

FOR0200 Fórmula 18T ING100110 ACEITE VEGETAL
FOR0200 Fórmula 18T ING100175 ALBAHACA
FOR0200 Fórmula 18T ING100185 LECHE EN POLVO
FOR0200 Fórmula 18T ING150100 TOMATE CONCENTRADO 28/30 BRIX

Es decir, para cada fórmula, n ingredientes.

En un formulario, quiero que en un cuadro texto me salgan los ingredientes concatenados, es decir, que fuera una cosa así:

Lista de ingredientes:
Fórmula 18T: Aceite vegetal, Albahaca, Leche en polvo, Tomate.

Pero no se cómo hacerlo. ¿Alguien puede echarme una mano?

Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Carlos Q
Val: 26
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

RE:Concatenar valores de una tabla.

Publicado por Carlos Q (48 intervenciones) el 05/10/2010 22:33:55
Buen dia
Bueno en el link URL (http://cid-a2250775416d25f9.office.live.com/browse.aspx/.Public) esta un ejemplo que se llama ConcatenarDatos para que lo estudie.
Primero un formulario donde hay un combo para selecionar las diferentes recetas el combo se llama cboRecetas y los datos de este combo son de una consulta que trae el campo ingReceta (la estrutura de la consulta la puede mirar por medio de propiedades--> datos).
Al selecionar y despues de actualizar se ejecuta el siguiente codigo:

Private Sub cboReceta_AfterUpdate()

Dim rcdUsuario As DAO.Recordset
Dim strReceta As String
Dim strIngrediente As String

strIngrediente = ";"

strReceta = Me.cboReceta


Set dbs = CurrentDb
Set rcdUsuario = dbs.OpenRecordset("tblIngredientes")

rcdUsuario.MoveFirst

Do Until rcdUsuario.EOF
If rcdUsuario![ingReceta] = strReceta Then
Me.lblRecetaCompleta = strIngrediente & rcdUsuario![ingIngredientes] & ","

'rcdUsuario.MoveNext
strIngrediente = Me.lblRecetaCompleta
End If
rcdUsuario.MoveNext
Loop
rcdUsuario.Close
dbs.Close

End Sub

El codigo lo que hace es ir a la tabla que tiene los ingrediente (tblIngredientes) , selecciona solo los registros donde el campo ingReceta sea igual a la receta que se selecciono en el combo del formulario ,guarda los datos del campo ingIngrediente y los concatena. los guarda en una variable y al final despues de recorrer toda la tabla se los asigna al objeto lblRecetaCompleta del formulario.
Hay unos punto y comas , que agrego para evitar errores por valores nulos.

Todod esta en el ejemplo para que lo estudie y lo pueda aplicar en su caso ,espero le sirva , si tiene aguna duda , aviseme para ayudarlo.
Chao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Concatenar valores de una tabla.

Publicado por Jesús (13 intervenciones) el 13/10/2010 08:32:44
Muchas gracias, Carlos.

Me ha sido de gran ayuda.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar