| |

VB & DatenbankenE-Mailversand Access bzw. suchen und einfügen | |  | Autor: human440 | Datum: 19.06.08 17:17 |
| Hallo,
ich habe ein etwas größeres Problem. Es ist bestimmt nicht sehr elegant, bin über jede Hilfe sehr dankbar.
Eine Exceltabelle soll mit Werten aus einer Datenbankabfrage gefüllt werden und daraufhin möglichst automatisch per E-Mail verschickt werden.
Outlook 2003, Access 2003 (aber Datenbank im 2000er Format gespeichert)
Bisher habe ich folgendes:
Ein Formular mit zwei Kombinationsfeldern bei denen die Datensatzherkunft manuell eingegeben wurde – es steht also keine direkte Tabelle dahinter.
In den beiden Feldern können aus dem Dropdownmenü Werte gewählt werden. Diese werden mit einer Aktualisierungsabfrage in der Tabelle tExport (Spalten: Abteilung und Kostenstelle) jedes Mal neu hinterlegt.
Die Abfragen qGK_Report_Excel und qGK_BewegKost werden anhand dieser in tExport hinterlegten Werte gefiltert und in ein Excelfile geschossen. Das funktioniert soweit auch. Jetzt habe ich das Makro in VBA konvertiert:
Option Compare Database
'------------------------------------------------------------
' m_GK_Report_xls_transfer
'
'------------------------------------------------------------
Function m_GK_Report_xls_transfer()
On Error GoTo m_GK_Report_xls_transfer_Err
DoCmd.SetWarnings False
' qxls_Export_Steuerung_aktualisieren
DoCmd.OpenQuery "qxls_Export_Steuerung_aktualisieren", acViewNormal, acEdit
' Transfertyp: Exportieren / Dateiformat: Microsof Excel 8.0 /
' Tabellenname: qGK_Report_Excel / Dateiname: O:\ber\2008\BMS\GK_Report.xls
' / Feldnamen: Ja / Bereich: leer
DoCmd.TransferSpreadsheet acExport, 8, "qGK_Report_Excel", _
"O:\ber\2008\BMS\GK_Report.xls", True, ""
' Transfertyp: Exportieren / Dateiformat: Microsof Excel 8.0 /
' Tabellenname: qGK_BewegKost / Dateiname: O:\ber\2008\BMS\GK_Report.xls /
' Feldnamen: Ja / Bereich: leer
DoCmd.TransferSpreadsheet acExport, 8, "qGK_BewegKost", _
"O:\ber\2008\BMS\GK_Report.xls", True, ""
' Transfertyp: Exportieren / Dateiformat: Microsof Excel 8.0 /
' Tabellenname: tSteuerung_zeit / Dateiname: O:\ber\2008\BMS\GK_Report.xls
' / Feldnamen: Ja / Bereich: leer
m_GK_Report_xls_transfer_Exit:
Exit Function
m_GK_Report_xls_transfer_Err:
MsgBox Error$
Resume m_GK_Report_xls_transfer_Exit
End Function Und einen VBA Code für den E-Mailversand hinzugefügt. Dieser funktioniert ebenfalls eigenständig, aber hinzukopiert zum o.g. Code wird nur der E-Mailversand durchgeführt.
Sub Schaltfläche1_BeiKlick()
' Aufruf Unterprogramm "senden"
Call senden
End Sub
Private Sub senden()
' Outlook Applikation
Dim ool As Outlook.Application
Dim oInspector As Outlook.Inspector
Dim oMail As Outlook.MailItem
Dim myattachments As Variant
Dim MailAdress
MailAdress = "xyz@web.de"
' Verweis zu Outlook + neue Nachricht
Set ool = CreateObject("Outlook.Application")
Set oMail = ool.CreateItem(olMailItem)
Set myattachments = oMail.Attachments
' Befreff-Zeile
oMail.Subject = "Stand dieser Liste: " & _
Format(Date, "Long Date") & " !"
' An-Zeile (Empfänger)
oMail.To = MailAdress ' "g.huber@unilog.at"
oMail.Recipients.ResolveAll
oMail.Display
' Texteingabe (Nachricht selbst)
oMail.Body = "Hier die Exceldatei, bitteschön..."
' Anhang
' Der vollständiger Pfad muß angegeben sein.
' Es können auch weitere Dateien angegeben werden.
' Hierzu einfach mit myattachments.Add "???" fortsetzen.
myattachments.Add "D:\_o\Ber\2008\GK_Report.xls"
' oMail.Save
' oMail.Send
' Speicher freigeben
Set ool = Nothing
Set oInspector = Nothing
Set oMail = Nothing
End Sub Meine Fragen sind jetzt:
Wieso funktionieren sie nicht in Kombination?
Wie kann ich die E-Mailadresse an der Stelle MailAdress = "xyz@web.de" automatisch aus einer Datenbanktabelle einfügen lassen? Der Wert aus tExport.Abteilung soll hierfür mit der Tabelle tEmail (Spalten: Abteilung, EMail) verglichen werden und bei Übereinstimmung soll die entsprechende Emailadresse eingefügt werden.
Schon mal vielen Dank |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|