Errore OLE o DDE su Annulla invio

di il
6 risposte

Errore OLE o DDE su Annulla invio

Salve a tutti.
Stò realizzando un programma ma sono incappato in un problema che non riesco a risolvere.

Utilizzo la funzione docmd.sendobject per mandare mail con un pdf allegato e fin qui tutto bene. Il problema sorge nel momento in cui viene chiuso outlook senza inviare la mail.

Quando utilizzo il programma in modalità progettazione, non ho nessun problema, ma se passo alla versione distribuita e non invio l'email mi da il seguente errore:"Impossibile uscire da Access. Se è in esecuzione un modulo di Visual Basic che utilizza il supporto OLE o DDE, potrebbe essere necessario interrompere il modulo."

Io non vorrei installare access su ogni pc per evitare questo problema... A chi è capitata questa situazione ?
Grazie a tutti

6 Risposte

  • Re: Errore OLE o DDE su Annulla invio

    Leggi questo thread

    http://forum.masterdrive.it/access-79/errore-vba-ole-dde-casella-mail-91192/
  • Re: Errore OLE o DDE su Annulla invio

    Ciao Oregon
    grazie per la tua risposta. Avevo già letto questa pagina ma non credo portasse la soluzione o comunque non l'ho capita
  • Re: Errore OLE o DDE su Annulla invio

    Mi sembra che la soluzione fosse quella di gestire l'evento di annullamento (con la On Error) da codice
  • Re: Errore OLE o DDE su Annulla invio

    Ho provato e pure seguito con i debug. Se sono in fase di progettazione tutto funziona, ma non appena sono in fase di distribuzione nasce il problema. Non vorrei che sia un problema di Run Time o altro
  • Re: Errore OLE o DDE su Annulla invio

    Ma il codice qual è? Se non scrivi correttamente la gestione d'errore non risolvi ...
  • Re: Errore OLE o DDE su Annulla invio

    Grazie Oregon per la tua gentilezza e disponibilità

    Ti allego il codice che ti ripeto in fase di progettazione funziona correttamente (seguito anche con il debug), mentre non appena uso il runtime per distribuirlo mi da errore


    Private Sub cmdInviaVoucher_Click()
    On Error GoTo Errore

    Dim strSQL As String
    Dim NomOperatore As Variant
    Dim DatInvio As Variant
    Dim strNomeFile As String
    Dim strEmail As String
    Dim intrisposta As Integer
    Dim Dipendente As String

    Dipendente = Me.Operatore

    If IsNull(Me.txtMailAg) Then
    strEmail = ""
    Else: strEmail = Me.[txtMailAg]
    End If

    intrisposta = MsgBox("Sei sicuro di voler inviare il VOUCHER in un unico file per email?", vbYesNo + vbQuestion, "")
    If intrisposta = vbYes Then

    strSQL = "UPDATE Voucher Set [Statovoucher] = 'Inviato' WHERE IdPratica=" & Me.IDPratica
    DatInvio = "UPDATE Voucher Set [DataInvio] = Now() WHERE IdPratica=" & Me.IDPratica
    NomOperatore = "UPDATE Voucher Set [InviatoDa] = Dipendente WHERE IdPratica=" & Me.IDPratica ' sicuramente la sintassi è sbagliata


    DBEngine(0)(0).Execute strSQL
    DBEngine(0)(0).Execute DatInvio
    DBEngine(0)(0).Execute NomOperatore ' arrivato qui salta e va in Errore
    Forms!Pratica.Refresh

    DoCmd.OpenReport "Voucher unico", acViewReport, "", "[Voucher.IdPratica]=" & [IDPratica], acHidden

    DoCmd.SendObject acReport, "Voucher unico", "PDFFormat(*.pdf)", strEmail, "", "", "Invio Voucher Pratica N° " & Me.NPratica & " emessa giorno " & [Data emissione pratica] ,"", True, ""

    Else
    Exit Sub
    End If

    Errore: Exit Sub
    End Sub

    Se poi posso abusare della tua gentilezza. Questo codice ha anche un problema ad un certo punto. devo fare in modo di scrivere sul campo [inviatoDa] il contenuto del campo Me.operatore, solo che il programma va in errore sulla riga 'DBEngine(0)(0).Execute NomOperatore'. Sicuramente ho sbagliato la sintassi

    Grazie sempre e ti auguro una buona giornata
Devi accedere o registrarti per scrivere nel forum
6 risposte