Comparar varios campos para simplificar concatenado

Dudas sobre código
Avatar de Usuario
leadrudi
Nivel 6
Mensajes: 222
Registrado: Sab Oct 14, 2017 7:55 am

Comparar varios campos para simplificar concatenado

Mensajepor leadrudi » Mié Abr 07, 2021 8:43 pm

Buenas tardes:
En una BdD personal para uso laboral tengo 3 campos en los cuales registro el resultado de un llamado al cliente. De la lista puedo escoger resultados preestablecidos (basados en los más frecuentes) o puedo escribir el valor que quiera o necesite.
Ahora, son 3 números diferentes a los que podría necesitar llamar y los resultados pueden ser que en cualquier combinación den igual resultado (atiende correo de voz, por ejemplo) entonces genera por cada caso "Se llama a 351351351 y atiende contestador. Se deja mensaje."
Entonces, si tengo 2 o más resultados iguales "y atiende contestador. Se deja mensaje.", no quiero que repita por cada intento sino que quede "Se llama a 351351351, 351426541 y 39574512 y atiende contestador. Se deja mensaje."
Captura de pantalla 2021-04-07 130059.png
Ejemplo de posible resultado
Captura de pantalla 2021-04-07 130059.png (5.87 KiB) Visto 156 veces

Entonces, ¿cómo se puede hacer una comparativa simple de los tres campos para determinar cuales son los que tienen igual resultado y los concantene juntos?
Debido a que A, B o C pueden coincidir o no en todas las combinaciones sería optimo que quede "A y C tuvieron resultado X. B tuvo resultado Y". O "A y B tuvieron resultado X". ¿Me expliqué o es demasiado lío?
:?: :!: :idea: :arrow: :oops: :( :o :) :D :geek: :ugeek:

PereGaya
Nivel 3
Mensajes: 74
Registrado: Vie Ago 30, 2019 10:38 am

Re: Comparar varios campos para simplificar concatenado

Mensajepor PereGaya » Lun Abr 12, 2021 1:12 pm

ENtiendo que agrupar en un Informe no te sirve.
Me contesto a mi mismo al releer tu mensaje. No

Avatar de Usuario
leadrudi
Nivel 6
Mensajes: 222
Registrado: Sab Oct 14, 2017 7:55 am

Re: Comparar varios campos para simplificar concatenado

Mensajepor leadrudi » Sab May 15, 2021 2:58 am

Logré hacerlo funcionar medianamente pero se me hizo un código muy complejo. Tengo miedo de intentar simplificarlo y no tener un buen resultado.

Código: Seleccionar todo

'Contacto al cliente
vText10 = IIf(Nz(Me.txtTel1.Value, "•") = "•", "", vSeparador & "Referencia " & Me.txtTel1.Value & " " & Me.lstContacto1.Value)
vText11 = IIf(Nz(Me.txtTel2.Value, "•") = "•", "", vSeparador & "Referencia " & Me.txtTel2.Value & " " & Me.lstContacto2.Value)
vText12 = IIf(Nz(Me.txtTel3.Value, "•") = "•", "", vSeparador & "Referencia " & Me.txtTel3.Value & " " & Me.lstContacto3.Value)
If Not Nz(Me.lstContacto1.Value, "•") = "•" And Not Nz(Me.lstContacto2.Value, "•") = "•" And Not Nz(Me.lstContacto3.Value, "•") = "•" Then '123
    If Me.lstContacto1.Value = Me.lstContacto2.Value And Me.lstContacto1.Value = Me.lstContacto3.Value And Me.lstContacto2.Value = Me.lstContacto3.Value Then '12, 13y 23
        vText10 = vSeparador & "Referencias " & Me.txtTel1.Value & ", " & Me.txtTel2.Value & " y " & Me.txtTel3.Value & " " & Me.lstContacto1.Value
        vText11 = ""
        vText12 = ""
    ElseIf Me.lstContacto1.Value = Me.lstContacto2.Value And Me.lstContacto1.Value <> Me.lstContacto3.Value And Me.lstContacto2.Value <> Me.lstContacto3.Value Then '12, 13y 23
        vText10 = vSeparador & "Referencias " & Me.txtTel1.Value & " y " & Me.txtTel2.Value & " " & Me.lstContacto1.Value
        vText11 = vSeparador & "Referencia " & Me.txtTel3.Value & " " & Me.lstContacto3.Value
        vText12 = ""
    ElseIf Me.lstContacto1.Value <> Me.lstContacto2.Value And Me.lstContacto1.Value <> Me.lstContacto3.Value And Me.lstContacto2.Value = Me.lstContacto3.Value Then '12, 13y 23
        vText10 = vSeparador & "Referencia " & Me.txtTel1.Value & " " & Me.lstContacto1.Value
        vText11 = vSeparador & "Referencias " & Me.txtTel2.Value & " y " & Me.txtTel3.Value & " " & Me.lstContacto2.Value
        vText12 = ""
    ElseIf Me.lstContacto1.Value = Me.lstContacto3.Value Then '13
        vText10 = vSeparador & "Referencias " & Me.txtTel1.Value & " y " & Me.txtTel3.Value & " " & Me.lstContacto1.Value
        vText11 = vSeparador & "Referencia " & Me.txtTel2.Value & " " & Me.lstContacto2.Value
        vText12 = ""
    End If
ElseIf Not Nz(Me.lstContacto1.Value, "•") = "•" And Not Nz(Me.lstContacto2.Value, "•") = "•" Then
    If Me.lstContacto1.Value = Me.lstContacto2.Value Then
        vText10 = vSeparador & "Referencias " & Me.txtTel1.Value & " y " & Me.txtTel2.Value & " " & Me.lstContacto1.Value
        vText11 = "" 'vSeparador & "Referencia " & Me.txtTel3.Value & " " & Me.lstContacto3.Value
        vText12 = ""
    End If
ElseIf Not Nz(Me.lstContacto1.Value, "•") = "•" And Not Nz(Me.lstContacto3.Value, "•") = "•" Then '23N
    If Me.lstContacto2.Value = Me.lstContacto3.Value Then
        vText10 = vSeparador & "Referencia " & Me.txtTel1.Value & " y " & Me.txtTel3.Value & Me.lstContacto1.Value
        vText11 = ""
        vText12 = ""
    End If
ElseIf Not Nz(Me.lstContacto2.Value, "•") = "•" And Not Nz(Me.lstContacto3.Value, "•") = "•" Then '23N
    If Me.lstContacto2.Value = Me.lstContacto3.Value Then
        vText10 = vSeparador & "Referencia " & Me.txtTel2.Value & " y " & Me.txtTel3.Value & Me.lstContacto2.Value
        vText11 = ""
        vText12 = ""
    End If
ElseIf Me.lstContacto1.Value = Me.lstContacto3.Value And Nz(Me.lstContacto2.Value, "•") = "•" Then '13 y 2 null
    vText10 = vSeparador & "Referencias " & Me.txtTel1.Value & " y " & Me.txtTel3.Value & Me.lstContacto1.Value
    vText11 = ""
    vText12 = ""
ElseIf Me.lstContacto1.Value <> Me.lstContacto2.Value And Me.lstContacto1.Value <> Me.lstContacto3.Value Then '12 y 13
    vText10 = vText10 & vText11 & vText12
    vText11 = ""
    vText12 = ""
End If
Dim vContacto As String
vContacto = vText10 & vText11 & vText12
:?: :!: :idea: :arrow: :oops: :( :o :) :D :geek: :ugeek:


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado