Temas activadosTemas activados  Lista de Usuarios del ForoLista de Usuarios  CalendarioCalendario  Búsqueda en el ForoBúsqueda  AyudaAyuda
  RegistrarRegistrar  ConectarConectar
Página anterior             ** NORMAS DEL FORO **            Página siguiente
Access y VBA
 Foro de Access y VBA > Access y VBA > Access y VBA
Icono de mensaje Tema: Envio de WhatsApp con varios registros Enviar mensaje Enviar mensaje
Autor Mensaje
Benito Bartolomé
Nuevo
Nuevo


Agregado: 05/Abril/2024
Lugar: Nigrán
Estado: Desconectado
Mensajes: 4
 Responderbullet Tema: Envio de WhatsApp con varios registros
    Enviado: 08/Abril/2024 a las 11:53
Hola a todos(as).
Soy nuevo en este foro.
He creado un procedimiento para enviar WhastApp desde Access y lo hace bien y es este:
Private Sub btnEnviarW_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim whatsappWebURL As String
    Dim varPrefijo As String
    Dim varMensaje As String
    Dim respuesta As VbMsgBoxResult
    Dim strSQL As String

    ' Asignar el prefijo del país
    varPrefijo = "+34"
   
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT tb_pendientes.*, tb_cliente.telefono,tb_cliente.nombre " & _
                              "FROM tb_pendientes INNER JOIN tb_cliente ON tb_pendientes.nºcliente = tb_cliente.nºcliente " & _
                              "WHERE tb_pendientes.fechaVto <= Date()")

    respuesta = MsgBox("¿Quiere enviar el WhatsApp para los registros encontrados?", vbQuestion + vbYesNo, "Enviar WhatsApp")

    If respuesta = vbYes Then
        If Not rs.EOF Then
            Do Until rs.EOF
                If Not IsNull(rs("telefono")) Then
                    varMensaje = "EMPRESA - Aviso de vencimiento." & vbCrLf & _
                                   " Estimado(a) " & rs("nombre") & ";" & vbCrLf & _
                                   "Le recordamos que la albaran numero: " & rs("nºdocumento") & " con fecha: " & rs("fecha") & " y de importe: " _
                                   & rs("importe") & " ha vencido el dia: " & rs("fechaVto") & "." & vbCrLf & _
                                   "P.D: OJO, aviso solo por su facturas vencimiento." & vbCrLf & _
                                   "Saludos."
                    ' Construir el URL
                    whatsappWebURL = "https://web.whatsapp.com/send?phone=" & varPrefijo & rs("telefono") & "&text=" & varMensaje
                    ' Abrir WhatsApp
                    FollowHyperlink whatsappWebURL
                    ' Retardo
                    Sleep (12000)
                    SendKeys "{ENTER}", True
                    ' Activar la tecla "Bloq Num"
                    SendKeys "{NUMLOCK}", True
                End If
                ' Incrementar el campo "aviso" en la tabla tb_pendientes
                strSQL = "UPDATE tb_pendientes SET aviso = IIf(IsNull(aviso), 1, aviso + 1) WHERE Id_Pendiente = " & rs("Id_Pendiente")
                db.Execute strSQL
                rs.MoveNext
            Loop
            ' Cerrar WhatsApp
            SendKeys "%{F4}", True ' Alt + F4
        Else
            MsgBox "No se encontraron registros para enviar.", vbInformation, "Enviar WhatsApp"
        End If
    End If

    ' Cerrar el recordset
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub

CONSULTA:
La consulta es la siguiente, si tengo varios registros que cumplen la misma condición quería enviarlos juntos.



Saludos
benito bartolome
IP IP conectada
Benito Bartolomé
Nuevo
Nuevo


Agregado: 05/Abril/2024
Lugar: Nigrán
Estado: Desconectado
Mensajes: 4
 Responderbullet Enviado: 08/Abril/2024 a las 12:20
Veo que no cargo la imagen, lo pongo como texto:

Resultado que muestra ahora:

EMPRESA - Aviso de vencimiento. Estimado(a) BENITO;Le recordamos que la albaran numero: 555555 con fecha: 05/04/2024 y de importe: 12,25 ha vencido el dia: 05/04/2024.P.D: OJO, aviso solo por su facturas vencimiento.Saludos

EMPRESA - Aviso de vencimiento. Estimado(a) BENITO;Le recordamos que la albaran numero: 333333 con fecha: 05/04/2024 y de importe: 600,26 ha vencido el dia: 05/04/2024.P.D: OJO, aviso solo por su facturas vencimiento.Saludos

 

Bueno decir que estoy con pruebas y “albaran” será cambiado por “factura”

Resultado que deseo conseguir:

EMPRESA - Aviso de vencimiento. Estimado(a) BENITO;Le recordamos que el

 albaran numero: 555555 con fecha: 05/04/2024 y de importe: 12,25 ha vencido el dia: 05/04/2024.

albaran numero: 333333 con fecha: 05/04/2024 y de importe: 600,26 ha vencido el dia: 05/04/2024.

P.D: OJO, aviso solo por su facturas vencimiento.Saludos


benito bartolome
IP IP conectada
Benito Bartolomé
Nuevo
Nuevo


Agregado: 05/Abril/2024
Lugar: Nigrán
Estado: Desconectado
Mensajes: 4
 Responderbullet Enviado: 08/Abril/2024 a las 15:53
Creo haberlo resuelto en parte.
CODIGO:
Private Sub btnEnviarW_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim rsClientes As DAO.Recordset ' Declarar el recordset para clientes
    Dim whatsappWebURL As String
    Dim varPrefijo As String
    Dim varTelefono As String ' Cambiar el tipo de dato a String
    Dim varMensaje As String

    ' Asignar el prefijo del país
    varPrefijo = "+34"
    
    ' Abrir B.D.
    Set db = CurrentDb
    
    ' Abrir un recordset para obtener los números de teléfono de los clientes
    Set rsClientes = db.OpenRecordset("SELECT nºcliente, telefono FROM tb_cliente")
    varTelefono = rsClientes("telefono") ' Obtener el teléfono del primer cliente

    ' Cerrar el recordset de clientes
    rsClientes.Close
    Set rsClientes = Nothing
    
    varPrefijo = varPrefijo & varTelefono

    ' Abrir un recordset: tb_pendientes y tb_cliente
    Set rs = db.OpenRecordset("SELECT tb_pendientes.*, tb_cliente.telefono, tb_cliente.nombre " & _
                              "FROM tb_pendientes INNER JOIN tb_cliente ON tb_pendientes.nºcliente = tb_cliente.nºcliente " & _
                              "WHERE tb_pendientes.fechaVto <= Date()")
    respuesta = MsgBox("¿Quiere enviar el WhatsApp para los registros encontrados?", vbQuestion + vbYesNo, "Enviar WhatsApp")

    If respuesta = vbYes Then
    mensajeTotal = ""
    Dim contador As Integer
    contador = 1

    ' Verificar si hay registros
    If Not rs.EOF Then
        Do Until rs.EOF
            If Not IsNull(rs("telefono")) Then
                ' Construir el mensaje
                varMensaje = "MENSAJE: " & contador & " EMPRESA - Aviso de vencimiento." & vbCrLf & _
                             " Estimado(a) " & rs("nombre") & ";" & vbCrLf & _
                             "Le recordamos que la factura numero: " & rs("nºdocumento") & " con fecha: " & rs("fecha") & _
                             " y de importe: " & rs("importe") & " ha vencido el dia: " & rs("fechaVto") & "." & vbCrLf & _
                             "P.D: OJO, aviso solo por sus facturas vencimiento." & vbCrLf & _
                             "Saludos.     "
                ' Mostrar mensaje a enviar
                MsgBox varMensaje, vbInformation, "Mensaje WhatsApp"
                mensajeTotal = mensajeTotal & varMensaje
                ' Incrementar el contador
                contador = contador + 1
            End If
            rs.MoveNext ' Siguiente registro
        Loop

        ' Construir el URL completo
        whatsappWebURL = "https://web.whatsapp.com/send?phone=" & varPrefijo & "&text=" & mensajeTotal

        ' Abrir WhatsApp para cada destinatario
        FollowHyperlink whatsappWebURL

        ' Retardo
        Sleep (12000)
        SendKeys "{ENTER}", True
        ' Activar la tecla
        SendKeys "{NUMLOCK}", True

    Else
        MsgBox "No hay registros que cumplen con la condición."
    End If
    Else
        MsgBox "Se ha cancelado el envio."
    End If


Editado por Benito Bartolomé - 08/Abril/2024 a las 15:57
benito bartolome
IP IP conectada
javier.mil
Colaborador
Colaborador
Avatar

Agregado: 10/Agosto/2005
Lugar: España
Estado: Desconectado
Mensajes: 4258
 Responderbullet Enviado: 08/Abril/2024 a las 22:07
Comentaba Benito Bartolomé

Creo haberlo resuelto en parte.


¿ Cual es la parte No resuelta ?
IP IP conectada
Benito Bartolomé
Nuevo
Nuevo


Agregado: 05/Abril/2024
Lugar: Nigrán
Estado: Desconectado
Mensajes: 4
 Responderbullet Enviado: 09/Abril/2024 a las 23:31
Hola Javier;
Pues el resultado que quiero obtener es el siguiente a modo de ejemplo.

-Aqui el encabezado
-Detalle:
Nombre, CTA cliente, fecha, importe, etc.
(Sí hay más de 1 registro irán aquí

Aquí?

-Pie o despedida mensaje

Que el encabezado y pié sólo se repita una vez.

Sí en el detalle hay más de un registro se hace un bucle.

Saludos y gracias
benito bartolome
IP IP conectada
JuanW
Asiduo
Asiduo
Avatar

Agregado: 12/Mayo/2005
Lugar: España
Estado: Desconectado
Mensajes: 118
 Responderbullet Enviado: 22/Abril/2024 a las 10:14
Al enviar según este procedimiento te obligas a estar identificado con tu WhatsApp en el explorador web.

¿hay alguna forma de enviarlos desde la web sin tener abierta ninguna sesión en un explorador?

¿sería posible con la aplicación de pago?

¿Cuánto costaría?

Saludos
IP IP conectada
Foro de Access y VBA > Access y VBA > Access y VBA
Enviar mensaje
Versión para imprimir Versión para imprimir

Seleccione Foro
no puedes enviar nuevos Temas al Foro
no puedes responder a los Temas de este Foro
no puedes borrar los mensajes en este Foro
no puedes editar los mensajes de este Foro
no puedes crear encuesta en este Foro
no puedes votar en encuesta en este Foro

Bulletin Board Software by Web Wiz Forums version 8.06
Copyright ©2001-2006 Web Wiz Guide
NORMAS DEL FORO