Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Neueste Beiträge

#81
Access Programmierung / Re: Mailversand Formular PDF
Letzter Beitrag von Beaker s.a. - April 15, 2026, 18:19:35
Hallo,

@Chistian
Das ist doch schon offen
Zitatdie durch Klick auf eine Schaltfläche im Formular die ausgefüllten Daten des Formulars ...

@Karsten
Vermutlich willst du aus den Daten des angezeigten DS, eine .pdf-Datei generieren. Da würde ich den Umweg über einen Bericht nehmen. In Prosa: Bericht mit Filter auf angezeigten DS öffnen (kann auch "Hidden" sein), und diesen dann als .pdf speichern (Name wie du es willst).

gruss ekkehard
#82
Access Programmierung / Re: Mailversand Formular PDF
Letzter Beitrag von Bitsqueezer - April 15, 2026, 16:32:04
Hallo,

laß mich raten... KI-generiert? :)

formName = "Bereitschaft_" & Format(Now(), "yyyymmdd_hhnnss") & ".pdf" ' Name Ihres Formulars mit Zeitstempel


DoCmd.OpenForm formName, acViewPreview, acHidden

Was sagt Dir das?

Name Ihres Formulars mit Zeitstempel
Damit war wohl offensichtlich das "PDF-Formular" gemeint und nicht das Formular, das Du mit OpenForm öffnen willst.

Gruß

Christian
#83
Access Programmierung / Mailversand Formular PDF
Letzter Beitrag von ellinho - April 15, 2026, 15:54:13
Hallo zusammen.
Ich habe einen Fehler in meiner Funktion, die durch Klick auf eine Schaltfläche im Formular die ausgefüllten Daten des Formulars zum einen in eine PDF-Datei speichern und diese dann über SMTP als Mail an einen bestimmten Empfänger gesendet werden soll. Es handelt sich um Bereitschaftsberichte, die auch auf dem jeweiligen PC, auf dem sie erstellt werden, archiviert werden sollen. Darum habe ich mich auch für einen Dateinamen mit Zeitstempel entschieden, damit die Datei nicht immer überschrieben wird. Ich bekomme den Laufzeitfehler, dass der Formularname "Bereitschaft_20260415_154847.pdf" falsch geschrieben ist oder auf ein Formular verweist, das nicht vorhanden ist. Was habe ich da für einen Fehler drin? Hier der Code:

Private Sub PDF_Senden()
    Dim formName As String
    Dim pdfPath As String
    Dim emailTo As String
    Dim subject As String
    Dim body As String

    formName = "Bereitschaft_" & Format(Now(), "yyyymmdd_hhnnss") & ".pdf" ' Name Ihres Formulars mit Zeitstempel

    pdfPath = "C:\Access\Bereitschaftsberichte\" & formName & "" ' Speicherort des Formulars
   
   
   
    ' 1.Exportvorgang
   
DoCmd.OpenForm formName, acViewPreview, acHidden
DoCmd.OutputTo acOutputForm, formName, acFormatPDF, pdfPath
DoCmd.Close acForm, formName

     ' 2. E-Mail mit PDF-Anhang senden
    DoCmd.SendObject acSendForm, formName, acFormatPDF, _
                     emailTo, , , subject, body, False ' True = E-Mail anzeigen vor Versand
   
     
     

  With OutMail
    .From = "xxx@xyz.de"
    .To = "yyy@xyz.de"
    .subject = "Bereitschaftsbericht"
    .BodyPart.Charset = "iso-8859-1"
    .TextBody = "Hallo zusammen. Hiermit sende ich Ihnen meinen Bereitschaftsbericht."
    .AddAttachment formName
   
                With .Configuration.Fields
   
   
       
      .Item(Schema & "sendusing") = cdoSendUsingPort
      .Item(Schema & "smtpserver") = "mailserver.local"
      .Item(Schema & "smtpserverport") = 25
      .Item(Schema & "smtpauthenticate") = cdoAnonymous
      .Update
    End With
    .Send
  End With

  Set OutMail = Nothing   
                     
                   
End Sub

Ich hoffe, es findet jemand von euch auf die Schnelle meinen Fehler im Code.

Viele Grüße
Karsten
#84
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von Beaker s.a. - April 14, 2026, 18:30:17
Hallo Doming,

Die benötigte Eigenschaft des Formulars heisst: "Zyklus" (Reiter "Andere").
Wobei "Alle Datensätze" zum Sprung auf einen neuen führt, und
"Aktueller Datensatz" eben dieses verhindert.

gruss ekkehard
#85
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von Bitsqueezer - April 14, 2026, 15:16:14
Hallo,

Du kannst aber auch das Formular so einstellen, daß mit TAB nicht zum nächsten Datensatz gesprungen (und damit automatisch gespeichert) wird. Dann springt der Cursor beim letzten Feld wieder auf das erste.

Denk dran, daß ein Verlassen eines Unterformulares auch Save im Unterformular auslöst. Wenn Deine Buttons in einem Hauptformular liegen, dann ist beim Klick bereits gespeichert worden.

Gruß

Christian
#86
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von Doming - April 14, 2026, 13:42:28
Hm, tatsächlich...
Da ich TxFANr nachträglich in ein bestehendes Formular eingefügt habe, war es natürlich in der Reihenfolge ganz unten.
Ich habe das jetzt mal weiter nach oben geschoben und jetzt wird das Formular-Ereignis BeforeUpdate nicht mehr angesprochen.
Den Tabulator habe ich nicht betätigt, aber Enter natürlich (und somit das AfterUpdate ausgelöst), klar, dass er danach dann zum "nächsten" Element springen will.
Danke für den Hinweis, nun ist meine Erde wieder rund.

Gruß
 Doming
#87
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von PhilS - April 14, 2026, 13:19:53
Ist TxFANr das letztes Steuerelement in der Aktivierreihenfolge und das AfterUpdate wird ausgelöst, wenn du im Feld Tab drückst und damit zu eine neuen Datensatz wechselst?
Das wäre eine logische Erklärung.
#88
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von Doming - April 14, 2026, 13:06:26
Hm, ich habe jetzt damit beholfen, im Form_BeforeUpdate Cancel grundsätzlich auf true zu setzen, es sei denn, ich drücke auf den Speichern-Button. Trotzdem wurden, während ich Daten eingegeben habe, einige Felder wieder geleert, diesmal aber ohne zu speichern. Ich bleibe verwirrt...
#89
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von Doming - April 14, 2026, 12:22:48
Danke für die Antwort Klaus, es ist mir schon klar, dass gebundene Formulare automatisch gespeichert werden, aber wieso wird während des Ausfüllens zu einem neuen Satz gesprungen?
#90
Formular / Re: gebundenes Formular wird z...
Letzter Beitrag von MzKlMu - April 14, 2026, 12:13:20
Hallo,
Access speichert im Regelfall gebundene Formulare immer automatisch. Wenn man das nicht will, muss das im Ereignis "Vor Aktualisierung (Form_BeforeUpdate)" durch setzen des Parameters "Cancel" auf True verhindert werden. Dort bringt man dann zweckmässigerweise eine Rückfrage (Soll gespeichert werden ?) unter. Und das wäre dann der Button der gedrückt werden muss.