Ciao a tutti, con tanta pazienza sono riuscito a risolvere il mio problema.
Ovviamente, non essendo un programmatore aggiornato da almeno 30 anni, mi sono rifatto ai miei ricordi di GWBasic.
Non riuscendo a capire come si fa per prendere i dati direttamente dalla Query "Scaduti", l'ho esportata nel file "Scaduti.txt" e ho lavorato su quello:
Private Sub Form_Load()
Dim OutApp As Object
Dim OutMail As Object
Close
Dim Cons$(1000), Stato$(1000), Cli$(1000), Mail$(1000), Gio$(1000), Norma$(1000)
Open "C:\Users\Francesco\Documents\Scaduti.txt" For Input As #1
w = 0
100:
'--------------------------------------------------Acquisizione e memorizzazione dati
If EOF(1) Then t = 0: GoTo 1000
w = w + 1: Cons$(w) = "": Stato$(w) = "": Cli$(w) = "": Mail$(w) = "": Gio$(w) = "": Norma$(w) = ""
Input #1, a$: t = 0
110: t = t + 1: b$ = Mid$(a$, t, 1): If b$ <> ";" Then Cons$(w) = Cons$(w) + b$: GoTo 110
120: t = t + 1: b$ = Mid$(a$, t, 1): If b$ <> ";" Then Gio$(w) = Gio$(w) + b$: GoTo 120
130: t = t + 1: b$ = Mid$(a$, t, 1): If b$ <> ";" Then Stato$(w) = Stato$(w) + b$: GoTo 130
140: t = t + 1: b$ = Mid$(a$, t, 1): If b$ <> ";" Then Cli$(w) = Cli$(w) + b$: GoTo 140
150: t = t + 1: b$ = Mid$(a$, t, 1): If b$ <> ";" Then Norma$(w) = Norma$(w) + b$: GoTo 150
160: t = t + 1: b$ = Mid$(a$, t, 1): If b$ <> "#" Then Mail$(w) = Mail$(w) + b$: GoTo 160
170: GoTo 100
1000:
'-----------------------------Attribuzione degli scaduti ai vari consulenti (e memorizzazione destinatario ed e-mail)
t = t + 1: If t > w Then GoTo 1100
If Cons$(t) <> Cons$(t - 1) Then
Completa$ = "": Destinatario$ = Cons$(t): Indirizzo$ = Mail$(t)
Completa$ = Stato$(t) + Chr$(9) + " - Cliente: " + Cli$(t) + " - Norma/e: " + Norma$(t) + " - Giorni: " + Gio(t) + "<BR>"
GoTo 1000
End If
If Cons$(t) = Cons$(t - 1) Then
Completa$ = Completa$ + Stato$(t) + Chr$(9) + " - Cliente: " + Cli$(t) + " - Norma/e: " + Norma$(t) + " - Giorni: " + Gio(t) + "<BR>"
If Cons$(t) <> Cons$(t + 1) Then GoTo 1050
GoTo 1000
End If
1050:
'--------------------------------------------------------------- Creazione testo e-mail
Testo$ = "Alla c.a. di " + Destinatario$ + ".<BR><BR>" + "Questa è l'attuale situazione dei contratti annullati, sospesi o in pericolo:<BR><BR>" + Completa$
Testo$ = Testo$ + "<BR>Questa e-mail è stata generata e inviata automaticamente: se contiene errori si prega di segnalarli, grazie.<BR>"
Testo$ = Testo$ + "<BR>Cordiali saluti."
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'--------------------------------------------------------------- Invio e-mail
With OutMail
.To = Indirizzo$
.cc = ""
.bcc = ""
.subject = "Situazione contratti."
.HTMLBody = Testo$
.display
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
GoTo 1000
1100:
End Sub