Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: boehnli01 am März 09, 2011, 20:53:59

Titel: Msg box wenn keine Email Adresse vorhanden
Beitrag von: boehnli01 am März 09, 2011, 20:53:59
Hallo

Ich habe eine VBA prodezur mit der ich aus einem UFO Email versenden kann.  Die Emailsadressen sind in einer Tabelle "tlb_vendormailing_terminliste" oder im form "frm_vendormailing" hinterlegt. Nun möchte ich eine Fehlermeldung (msgbox) im Falle das keine Email Adresse hinterlegt ist.

Habe verschiedene Versuche gestartet ohne Erfolg.

Könnt ihr da bitte helfen.

Danke und Gruss
Cédric
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: database am März 09, 2011, 21:01:25
Hallo,

ZitatIch habe eine VBA prodezur mit der ich aus einem UFO Email versenden kann
OK, zeig die mal her bitte.

ZitatDie Emailsadressen sind in einer Tabelle "tlb_vendormailing_terminliste" oder im form "frm_vendormailing" hinterlegt
Naja, wenn das Formular auf der Tabelle aufbaut, dann nicht 'oder im Form frm_Vendormailing' ... sondern UND im Form ...
Wenn sie aber entweder hier oder da stehen können wird's sicher SEHR schwer werden da was Vernünftiges zu realisieren.
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: DF6GL am März 09, 2011, 21:04:45
Hallo,


z. B.:


Sub xxxxx()
.
If Isnull( Me!EMailAdresse) then  
Msgbox "Keine EMailadresse vorhanden"
Exit Sub
End if
.
.
End Sub
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: boehnli01 am März 09, 2011, 21:07:25
Die Prozedur sieht so aus, aber ehrlich gesagt habe diese einfach kopiert und ein bisschen angepasst. Meine VBA Kenntnisse sind sehr limitier.
Private Sub Email_Click()


    If Me.Email = False Then Exit Sub
           
    If DCount("FixVendor", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'") = 0 Then
    MsgBox "Keine Email Daten vorhanden. Bitte Email im *Vendor Email Directory* ergänzen"
    Let Me.Email = 0
    Exit Sub
    Debug.Print DCount("FixVendor", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'")
    End If
   
         
    If MsgBox("Is your Lotus Notes Mail Client up and running?", vbYesNo, "Lotus Notes?") = vbNo Then
        Let Me.Email = 0
        Exit Sub
    End If


   
    Dim mto As String, mcc1 As String, mcc2 As String, msj As String, mre As String
   
    mto = DLookup("Email", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'")
    'mcc1 = "bitte entfernen"
    'mcc2 = DLookup("mail_cc2", "tab mailing", "mail_pa = '" & Forms![for tasks]![req_task_ocntry] & "'")
    msj = DLookup("Emailsubject", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'") & "" & Forms![frm_Terminliste]![PurchDoc] & ": " & Forms![frm_Terminliste]![Dlvdatenew] & " / " & Forms![frm_Terminliste]![NVendor] & Chr$(10) & Forms![frm_Terminliste]![Mat] & Forms![frm_Terminliste]![Shtext]
   'mre = DLookup("EmailAbsender", "tlb_vendorabsender", "MRP = '" & Forms![frm_Terminliste]![MRP] & "'")
       
    Dim onum As Double, olin As Double, otyp As String, ogcd As String, oqty As Double, osht As String, octy As String, oact As String, oavl As String, odrc As String, ocom As String
   
    m0 = "Dear Sirs " & Chr$(10) & Chr$(10) & "Below PO has not arrived as planned. " & "Please confirm delivery date of requested PO ASAP." & Chr$(10) & Chr$(10) & "******* REQUEST DETAILS ********" & Chr$(10) & Chr$(10)
    m1 = "Purchase Order: " & Chr$(9) & Chr$(9) & Chr$(9) & Forms![frm_Terminliste]![PurchDoc] & Chr$(10)
    m2 = "Order Quantity [kg]: " & Chr$(9) & Chr$(9) & Chr$(9) & Forms![frm_Terminliste]![Qty] & Chr$(10)
    m3 = "Forseen Delivery Date: " & Chr$(9) & Chr$(9) & Chr$(9) & Forms![frm_Terminliste]![Dlvdatenew] & Chr$(10)
    m4 = "Item:" & Chr$(9) & Chr$(9) & Chr$(9) & Chr$(9) & Chr$(9) & Forms![frm_Terminliste]![Mat] & " / " & Forms![frm_Terminliste]![Shtext] & Chr$(10)
    m5 = Chr$(10) & Chr$(10) & "Thanks for your support!" & Chr$(10) & Chr$(10)
   
    m99 = m0 & m1 & m2 & m3 & m4 & m5
   
    DoCmd.SendObject acSendNoObject, , , mto, , , msj, m99, -1
   
    Me.Comment = "Email (Terminkontrolle) sent to: " & mto
    Me.User = GetNTUser()
    Me.Date = Date
   
    Exit Sub
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: DF6GL am März 09, 2011, 21:14:26
Hallo,

wenn wir davon ausgehen können , dass die Email-Adresse hiermit ausgelesen wird:

   mto = DLookup("Email", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'")

und "mto" den Datentyp Variant besitzt, dann halt so:


  mto = DLookup("Email", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'")
if isnull(mto) then
Msgbox " Nix da"
exit Sub
End If
.
.
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: boehnli01 am März 09, 2011, 21:22:45
Ich erhalte folgend error msg: runtime error '94'  invalid us of null
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: imp666 am März 10, 2011, 08:23:32
Ich würde einfach mto abprüfen auf:

    If IsNull(mto) Then ... ' (keine Adresse)
    If mto = "" Then ... ' (leerer String, also auch keine Adresse)
    If (Not InStr(1, mto, "@")) Or (Not InStr(1, mto, ".")) Then ... ' (in einer Mailadresse muss mind. ein Punkt und mind. ein @ vorkommen)


Bei "..." musst du natürlich noch deine Aktion einfügen
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: DF6GL am März 10, 2011, 08:53:57
Hallo,

@boehnli01:


PS:  sehe gerade, dass "mto" vom Datentyp String (und nicht wie angenommen Datentyp Variant) ist. Dann muss es so lauten:



Dim varmto as Variant

varmto = DLookup("Email", "tlb_vendormailing_terminliste", "FixVendor = '" & Forms![frm_Terminliste]![FixVendor] & "'")

If Isnull(varmto) then
Msgbox " Nix da"
Exit Sub
Else
mto=varmto
End If
.
.
Titel: Re: Msg box wenn keine Email Adresse vorhanden
Beitrag von: boehnli01 am März 10, 2011, 17:15:24
@ DF6GL: super. es hat geklappt. vielen dank an alle für die hilfe.