Access 2003 añadir "," o "y" entre campos

No se si es posible realizar lo que pretendo, pero bueno, lo expongo.
Tengo cinco campos, ejem.
Campo1 Campo2 Campo3 Campo4 Campo5
Todos los campos van a parar a otro campo si es que tienen texto. CampoFinal
Lo que necesito es que en ese CampoFinal, si Campo1 tiene texto y Campo2 también, coloque una "y" entre ambos campos. Asimismo, si Campo1 Campo2 y Campo3 tienen texto, los separe de la siguiente forma Campo1, Campo2 y Campo3. Así con las distintas qcombinaciones entre los cinco campos, que si hay solo dos campos ponga entre ellos un "y", y si hay varios campos, entre ellos poner una coma "," y antes del último campo una "y" para finalizar.
Respuesta
1
Te envío un ejemplo y pego el código.
***************************************************************
Option Compare Database
Private Sub Texto0_AfterUpdate()
funcionfinal
End Sub
Private Sub Texto2_AfterUpdate()
funcionfinal
End Sub
Private Sub Texto4_AfterUpdate()
funcionfinal
End Sub
Private Sub Texto6_AfterUpdate()
funcionfinal
End Sub
Private Sub Texto8_AfterUpdate()
funcionfinal
End Sub
Function funcionfinal()
Dim asignamosy, contador As Integer
Dim at0, at2, at4, at6, at8 As String
asignamosy = 0
If Me.Texto8 > "" Then
asignamosy = 1
at8 = " y " & Me.Texto8
Else
at8 = ""
End If
If Me.Texto6 > "" Then
    If asignamosy = 0 Then
        asignamosy = 1
        at6 = " y " & Me.Texto6
    Else
        at6 = ", " & Me.Texto6
    End If
Else
at6 = ""
End If
If Me.Texto4 > "" Then
    If asignamosy = 0 Then
        asignamosy = 1
        at4 = " y " & Me.Texto4
    Else
        at4 = ", " & Me.Texto4
    End If
Else
at4 = ""
End If
If Me.Texto2 > "" Then
    If asignamosy = 0 Then
        asignamosy = 1
        at2 = " y " & Me.Texto2
    Else
        at2 = ", " & Me.Texto2
    End If
Else
at2 = ""
End If
If Me.Texto0 > "" Then
    If asignamosy = 0 Then
        asignamosy = 1
        at0 = " y " & Me.Texto0
    Else
        at0 = ", " & Me.Texto0
    End If
Else
at0 = ""
End If
Me.Texto10 = at0 & at2 & at4 & at6 & at8
contador = Len(Me.Texto10)
If Left(Me.Texto10, 3) = " y " Then
Me.Texto10 = Mid(Me.Texto10, 3, contador - 2)
Else
Me.Texto10 = Mid(Me.Texto10, 2, contador - 1)
End If
End Function
***************************************************************
http://brmotorsport.es/mdb/texto en funcion de otros textos.mdb

1 respuesta más de otro experto

Respuesta
1
Lo que puedes hacer es validar si existen datos en los campos por lo que puedes utilizar la función siinm puedes consultar la ayuda de access
Gracias por responder.
He mirado la función, pero realmente no se como aplicarla a mi pregunta
La puedes utilizar así:
siinm(campo1<>"" and campo2<>"";campo1 & " y " & campo2;siinm(campo1<>"" and campo2<>"" and campo3<>"";campo1 & ", " & campo2 & " y" campo3);campo1 & ", " & campo2 & ", " & campo3 & " y " & campo 4)
Si no entiendes mandame una copia de tu BD y te hago un ejemplo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas