¿Cómo mostrar en un Informe Access las dos columnas de un campo de búsqueda que además es multivalor?

Explico: Tengo en una tabla Oper un campo CIEop. Este campo es de búsqueda y a la vez permite varios valores (multivalor). Busca sus valores en otra tabla CodOp que tiene dos campos (dos columnas) cod y coddescrip.

Quiero lograr que en un Informe IOp, que toma sus datos de una consulta IO, me muestre en el campo CIEop las dos columnas en el valor de este campo CIEop, es decir ver en el Informe IOp los valores de los dos campo de la tabla CodOp para ese registro.

Espero me entienda. Gracias anticipadas. Cordial saludo desde Santiago de Cuba, Ramón.

3 respuestas

Respuesta

Para poder mostrar un dato en un informe (o formulario), este dato ha de formar parte de su origen de datos o la alternativa de ser un objeto independiente al cual se le da un valor calculado.

Si se trata de un cuadro de texto (CIEop) en el que hay que mostrar más de un valor (los dos datos de CodOP) se podrían obtener con una función de dominio.

De forma genérica (es un ejemplo):

=Dlookup("[campo1] & ', ' & [campo2]" ; "CodOP")

Habría que añadir una condición pero para ello se necesita información mas amplia del entorno real, un ejemplo real en la ventana de inmediato:

?DLookup("letra & ' = ' & code", "morse")
A = .-
Respuesta

Ramón, honestamente, no entendí absolutamente nada de la pregunta, pero por si te puede dar una idea, tengo un formulario con un cuadro de lista multiselección llamado Elegir, donde selecciono algunos conceptos

Cuando pulso el botón, aunque no haría falta ya que el código se puede poner en cualquier otro evento

Me pasa al cuadro de texto los conceptos elegidos

En este caso, repito, en este caso, el código del botón es

Private Sub Comando16_Click()
Dim i As Byte
For i = 0 To Me.Elegir.ListCount - 1
If Me.Elegir.Selected(i) Then
Concatenado = Concatenado & Me.Elegir.Column(1, i) & ","
End If
Next i
Concatenado = Left([Concatenado], Len([Concatenado]) - 1)
End Sub

OK, mi explicación ha sido un poco enredada, es cierto. Tengo una tabla principal (Oper) dentro de ella un campo de búsqueda y multivalor (CIEop), que busca sus valores en otra tabla (CodOp), y esta otra tabla(CodOp) tiene dos campos (dos columnas) una columna 1 con campo código(cod) y otra columna 2 con campo descripción(coddescrip).

Quiero que en el Informe (IOp), que toma sus datos de la consulta (IO), se muestren los valores escogidos para cada registro en el campo CIEop, pero los dos valores cod y coddescrip.

Pienso que debe dibujar el algoritmo para entender lo que quiero.

Cordial saludo desde Santiago de Cuba. Ramón González Couso

Ramón, creo que lo mejor es que si tu base no tiene datos confidenciales me mandaras una copia. Si los tiene, haz una copia vacía y me la envías, si quieres, a [email protected]

Así me aclararé mejor.

Si lo haces, en el asunto del mensaje pon tu alias Ramón, ya que si no sé quien me escribe ni los abro.

Respuesta

Igualmente, no tengo clara su pregunta, pero le pongo este ejemplo:

El cuadro de lista tiene como valor predeterminado la columna 2

Hago un reporte sobre los Departamentos (de Colombia) seleccionados, obtengo:

Es un informe de los municipios que tiene cada departamento seleccionado en el cuadro de lista.

Código del botón imprimir

Private Sub btnImprimir_Click()
 Dim varPos  As Variant
 Dim strCriterio As String
    If Me.lstDptos.ItemsSelected.Count > 0 Then
           For Each varPos In Me.lstDptos.ItemsSelected()
                  strCriterio = strCriterio & "'" & Me.lstDptos.ItemData(varPos) & "',"
           Next varPos
           strCriterio = " IN (" & strCriterio & ")"
           DoCmd.OpenReport "rptDeptos", acViewPreview, , "departamento" & strCriterio
     End If
End Sub

¡Gracias! Revisaré y le digo. Reciba mi cordial saludo y mi eterno agradecimiento desde Santiago de Cuba. Cuba

Ramón González Couso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas