Newsgroup: it.comp.appl.access
Titolo: accodare record da recordset

"
    objmessage.To = RS!EMail
    objmessage.TextBody = "Gentile dott. " & RS!cognomenome & "," & vbCrLf _
    & "in data " & RS!data_valutazione _
    & " si è riunita l'Unità di Valutazione Multidimensionale (UVM) di xxx" _
    & "che ha esaminato la Sua richiesta riferita al paziente " & RS!Cognome & " " & RS!Nome _
    & " con il seguente esito: " & vbCrLf & Chr(34) & RS!esito & Chr(34) & "." & vbCrLf _
    & "Pertanto la S. V. è invitata a dare seguito, per competenza, nel più breve tempo possibile, " _
    & "considerati i termini previsti dal DCA n. 107/13." & vbCrLf _
    & "Cordiali Saluti" & vbCrLf & vbCrLf _
    & "Il PUA del NOD di xxxx"
 
    '==This section provides the configuration information for the remote SMTP server.
 
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/sendusing
") = 2
 
    'Name or IP of Remote SMTP Server
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/smtpserver
") = "
smtp.miosmtp.it
"
 
    'Type of authentication, NONE, Basic (Base64 encoded), NTLM
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/smtpauthenticate
") = cdoBasic
 
    'Your UserID on the SMTP server
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/sendusername
") = "
mia...@miosito.it
"
 
    'Your password on the SMTP server
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/sendpassword
") = "password"
 
    'Server port (typically 25)
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/smtpserverport
") = 25
 
    'Use SSL for the connection (False or True)
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/smtpusessl
") = False
 
    'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
    objmessage.Configuration.Fields.Item _
    ("
http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout
") = 30
 
    objmessage.Configuration.Fields.Update
 
    '==End remote SMTP server configuration section==
 
    ' invio del messaggio
    objmessage.Send
 
    ' accoda il record corrente nella tabella pua_email_inviate per il controllo successivo
    DoCmd.RunSQL "INSERT INTO pua_email_inviate SELECT cognomenome,email from rs"
 
    RS.MoveNext
    Loop
    End If
 
    MsgBox "Inviati " & rstotale & " messaggi email!"
 
    RS.Close
    Set RS = Nothing
    Set db = Nothing
 
_______
 
Ho creato una tabella pua_email_inviate a cui vorrei far accodare ogni record che viene inviato via mail e quindi ho aggiunto le righe di cui sopra
 
   ' accoda il record corrente nella tabella pua_email_inviate per il controllo successivo
    DoCmd.RunSQL "INSERT INTO pua_email_inviate SELECT cognomenome,email from rs"
 
ma l'accodamento non avviene perchè non so come identificare il record corrente (io ho messo FROM rs ma è sbagliato)
Il resto funziona
Potreste darmi una mano per favore, che non sono molto pratico?
Grazie e saluti
 
__ 
Remigio

> ma l'accodamento non avviene perchè non so come identificare il record corrente (io ho messo FROM rs ma è sbagliato)
 
-- Usi il "VALUES" ..........
DoCmd.RunSQL "INSERT INTO pua_email_inviate VALUES ('" & RS("cognomenome").Value & "', '" & RS("email").Value & "');"
 
 
-- meglio se espliciti i nomi dei campi della tabella "pua_email_inviate"
DoCmd.RunSQL "INSERT INTO pua_email_inviate ( campo1, campo2 ) VALUES ('" & RS("cognomenome").Value & "', '" & RS("email").Value & "');"
 
 
-- Ancor meglio se usi DBEngine    ( che poi fra l'altro non ti chiede conferma )
DBEngine(0)(0).Execute ("INSERT INTO pua_email_inviate ( campo1, campo2 ) VALUES ('" & RS("cognomenome").Value & "', '" & RS("email").Value & "');")
 
 

     Set db = Nothing
Ma il Ddb non lo chiudi ???
 
 
.


Fatto.
Molte grazie per il suggerimento!
Un saluto
 
__ 
Remigio

 DBEngine(0)(0).Execute ("INSERT INTO pua_email_inviate ( campo1, campo2 ) VALUES ('" & RS("cognomenome").Value & "', '" & RS("email").Value & "');")
 
Ciao,
Ho provato con le tre soluzioni ma da il medesimo errore:
Errore di sintassi (operatore mancante) nell'espressione della query (cognomenome, email)
Cosa manca secondo te?
Grazie per l'aiuto
Un saluto
 
__ 
Remigio

 cognomenome,email from rs"
Questa, così concepita, non funzionerà mai!
 
Prova così:
 
RS.AddNew
    RS("Field1")= xxx
    RS("Field2")= yyy
    ...
RS.Update
 
Bruno

 Errore di sintassi (operatore mancante) nell'espressione della query (cognomenome, email)
 
Premesso che puo essere valida anche la soluzione proposta da Bruno aprendo un secondo  RecordSet sulla tabella di destinazione
 
Quell'errore  puo significare  che:
-- Il campo cognomenome è numerico
-- ilcampo email è numerico
-- nei testi che stai inserendo ci sono degli apostrofi
-- Hai dei campi Null  ( ma questo non dovrebbe dare errore )
-- oppure qualcos'altro