Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Outlook Automation  -  Handling errors - What happens if the e-mail address you're sending to doesn't exist

Posted on 2004-10-21
16
Medium Priority
?
239 Views
Last Modified: 2012-05-05
Hi,

I have the following code :  it reads a recordset (tblEmails) and sends out e-mails to the e-maisl names in that record set.

I want to handle this error:  if an e-mail is created where the address is not recognized then I want the code,  instead of just giving the error message, e-mail address not recognized and stopping the code, to put that particular e-mail in outlook draft and then continue to loop through the rest of the recordset.

Can anyone help me with this?  The code below works great up until that point and I've doen a live trial.  However I want to send out about 1000 e-mail tomorrow and if the code simply exits when an e-mail address is not correct that will give me a very long day indeed.

Thanks,

Andrew



Public Function SendAutoEmailUK1FIX() As Boolean




    Dim rs As DAO.Recordset
    Dim db As Database
    Dim strBODY As String
    Dim sSubject As String
    Dim sLastEmailAddr As String
    Dim sCurrEmailAddr As String
    Dim dTotal As Double  ' Not sure if this is the most appropriate data type for this variable????
    Dim sPaymentDate As String
    Dim objOutlook As New Outlook.Application
    Dim objMessage As MailItem

     
   

    On Error GoTo SMError

    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT EmailAddr,SheetNo,PaymentDate,PERSONAL_REFERENCE,AMOUNT FROM tblEmails")         'Open a recordset and read all the emails.
       

   
    sLastEmailAddr = ""
    sPaymentDate = ""
    dTotal = 0

    'Loop
    Do While Not rs.EOF

        'Note the current email addr
        sCurrEmailAddr = rs!EmailAddr
        sSubject = "Automated Expenses Remittance Advice " '& rs!PERSONAL_REFERENCE
       
        'If last email address different to current email address
        'Check for not null becuz first time in loop it will differ
        If sLastEmailAddr <> "" And sLastEmailAddr <> sCurrEmailAddr Then
       
            'Okay, change of email address, lets send the email address
           
            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £" & dTotal
   
            'SendMsg sLastEmailAddr, sSubject, strBODY HEREHEREHERE
           
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
           
           
           
            .To = sLastEmailAddr
            .Subject = sSubject
            .Body = strBODY
            .Send
            'reset
           
           
            sLastEmailAddr = rs!EmailAddr
            sPaymentDate = rs!PaymentDate   'Store payment date of last email address
            dTotal = 0
            strBODY = ""
            End With
   
           
        End If
       
        'Build Body text, one line reading in ref and amount
        strBODY = strBODY & vbCrLf & "Sheet No: " & rs!SheetNo & vbTab & "Amount: " & rs!Amount & "      "
       
        dTotal = dTotal + rs!Amount
       
        sLastEmailAddr = sCurrEmailAddr
        sPaymentDate = rs!PaymentDate   'Store payment date of last email address
       
        'Move to next record
        rs.MoveNext
       
        'Check for eof - if so, send off the last lot
        If rs.EOF = True Then
       
       

            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf

            strBODY = strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £ " & dTotal
           
           
            '''SendMsg sCurrEmailAddr, sSubject, strBODY  HEREHEREHERE
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
            .To = sCurrEmailAddr
            .Subject = sSubject
            .Body = strBODY
            .Send
            End With
           
        End If
    Loop
   
    'Close and clear all
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    SendAutoEmailUK1FIX = True
    Exit Function

SMError:
    MsgBox "A problem occurred." & vbCrLf & Err.Description, vbCritical, "Email"
   
       SendAutoEmailUK1FIX = False
       
       
End Function
0
Comment
Question by:AndrewMcLaughlin
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 7
  • 2
16 Comments
 
LVL 10

Expert Comment

by:perkc
ID: 12371447
Use the .Resolve functionality. I tipically use something like:

Dim myolapp As Object
Dim myitem As Object
Dim mynamespace As NameSpace
Dim myrecipient As Recipient

Set myolapp = CreateObject("Outlook.Application")
Set mynamespace = myolapp.GetNamespace("MAPI")
Set myitem = myolapp.CreateItem(olMailItem)

With myitem
    Set myrecipient = .Recipients.Add("EmailNameHere")
        If Not myrecipient.Resolve Then
        MsgBox "The name you entered was not found in Outlook.", vbOKOnly, "Email Error"
        Exit Sub
        End If
    myrecipient.Type = olTo
    .Subject = "SUBJECTHERE"
    .Body = ""BODYHERE
    .Importance = olImportanceNormal
   
    .Save
    .Send
       
End With
Set myolapp = Nothing


0
 

Author Comment

by:AndrewMcLaughlin
ID: 12379011



Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
           
     Ok  - I tried to tweak my code, but I get the error "invalid qualifier" which points to the word resolve.

Object message = myitem in perkc code

Here's the code lines I modified..
       
           
            .To = sLastEmailAddr
           
            If Not sLastEmailAddr.Resolve Then
           
            .Subject = sSubject
            .Body = strBODY
            .Save
           
            End If
           
            .Subject = sSubject
            .Body = strBODY
            .Save
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12379214
Andrew,

Basically I think you need to change your ".send" statement. Using the Resolve method suggested by perkc, you could try this:

            With objMessage
                .To = sCurrEmailAddr
                .Subject = sSubject
                .Body = strBODY
                If sCurrEmailAddr.Resolve Then
                    .Send
                Else
                    .Save
                End If
            End With
0
Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12379234
The same for your other ".send" statement:

            With objMessage
           
           
           
                .To = sLastEmailAddr
                .Subject = sSubject
                .Body = strBODY
                 If sLastEmailAddr.Resolve Then
                    .Send
                Else
                    .Save
                End If
                'reset
           
           
                sLastEmailAddr = rs!EmailAddr
                sPaymentDate = rs!PaymentDate   'Store payment date of last email address
                dTotal = 0
                strBODY = ""
            End With
0
 

Author Comment

by:AndrewMcLaughlin
ID: 12379279
Sam,

OK  - so here's my code.  When I run I get the error "INvalid qualifier" with the If sLastEmailAddr.Resolve line highlighted.

Do you know what's wrong here?

Thanks,

Andrew


Public Function SendAutoEmailUK1FIX() As Boolean




    Dim rs As DAO.Recordset
    Dim db As Database
    Dim strBODY As String
    Dim sSubject As String
    Dim sLastEmailAddr As String
    Dim sCurrEmailAddr As String
    Dim dTotal As Currency  ' Not sure if this is the most appropriate data type for this variable????
    Dim sPaymentDate As String
    Dim objOutlook As New Outlook.Application
    Dim objMessage As MailItem





     
     
   
On Error GoTo SMError



 
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT EmailAddr,SheetNo,PaymentDate,PERSONAL_REFERENCE,AMOUNT FROM tblEmails")         'Open a recordset and read all the emails.
     
   
    sLastEmailAddr = ""
     sPaymentDate = ""
    dTotal = 0

    'Loop
    Do While Not rs.EOF

        'Note the current email addr
        sCurrEmailAddr = rs!EmailAddr
        sSubject = "Automated Expenses Remittance Advice " '& rs!PERSONAL_REFERENCE
       
        'If last email address different to current email address
        'Check for not null becuz first time in loop it will differ
        If sLastEmailAddr <> "" And sLastEmailAddr <> sCurrEmailAddr Then
       
            'Okay, change of email address, lets send the email address
           
            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £" & dTotal
   
            'SendMsg sLastEmailAddr, sSubject, strBODY HEREHEREHERE
           
            Stop
           
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
           
           
           
            .To = sLastEmailAddr
            .Subject = sSubject
            .Body = strBODY
            If sLastEmailAddr.Resolve Then
            .Send
           
            Else
           
            .Save
            End If
           
           
           
           
           
           
            'reset
           
           
            sLastEmailAddr = rs!EmailAddr
            sPaymentDate = rs!PaymentDate   'Store payment date of last email address
            dTotal = 0
            strBODY = ""
            End With
   
           
        End If
       
        'Build Body text, one line reading in ref and amount
        strBODY = strBODY & vbCrLf & "Sheet No: " & rs!SheetNo & vbTab & "Amount: " & rs!Amount & "      "
       
        dTotal = dTotal + rs!Amount
       
        sLastEmailAddr = sCurrEmailAddr
        sPaymentDate = rs!PaymentDate   'Store payment date of last email address
       
        'Move to next record
        rs.MoveNext
       
        'Check for eof - if so, send off the last lot
        If rs.EOF = True Then
       
       

            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf

            strBODY = strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £ " & dTotal
           
           
            '''SendMsg sCurrEmailAddr, sSubject, strBODY  HEREHEREHERE
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
            .To = sCurrEmailAddr
            .Subject = sSubject
            .Body = strBODY
           
            If sCurrEmailAddr.Resolve Then
            .Send
            Else
            .Save
           
            End If
            End With
           
        End If
    Loop
   
    'Close and clear all
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    SendAutoEmailUK1FIX = True
    Exit Function

SMError:
    MsgBox "A problem occurred." & vbCrLf & Err.Description, vbCritical, "Email"
   
       SendAutoEmailUK1FIX = False
       
       
End Function

0
 

Author Comment

by:AndrewMcLaughlin
ID: 12379365


Another thought on this - is it possible ( if the above can not be made to work) to put a line in the SMError code that says

If the error is of type x ( where x is the error code corresponding to having an invalid e-mail address) then go .Save,   and then return to the recordset to loop through the remaining records?

Thanks,

Andrew
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12379683
Sorry Andrew,
I was just copying what had been posted before and had forgotten to double check the syntax. Try this:

            sLastEmailAddr.Resolve
            If sLastEmailAddr.Resolved Then
                .Send
            Else
                .Save
            End If


"Resolved" is the property that is returned by the Resolve method, hence the combination of both above.
0
 

Author Comment

by:AndrewMcLaughlin
ID: 12379827
Ok thanks - i made those changes but I still get an error message Compile Error:  Invalid Qualifier" with  sLastEmailAddr   highlighted on the line sLastEmailAddr.Resolve.....


Public Function SendAutoEmailUK1FIX() As Boolean




    Dim rs As DAO.Recordset
    Dim db As Database
    Dim strBODY As String
    Dim sSubject As String
    Dim sLastEmailAddr As String
    Dim sCurrEmailAddr As String
    Dim dTotal As Currency  ' Not sure if this is the most appropriate data type for this variable????
    Dim sPaymentDate As String
    Dim objOutlook As New Outlook.Application
    Dim objMessage As MailItem
    'Dim mynamespace As NameSpace
   
    'Set mynamespace = objMessage.GetNamespace("MAPI")





     
     
   
On Error GoTo SMError



 
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT EmailAddr,SheetNo,PaymentDate,PERSONAL_REFERENCE,AMOUNT FROM tblEmails")         'Open a recordset and read all the emails.
     
   
    sLastEmailAddr = ""
     sPaymentDate = ""
    dTotal = 0

    'Loop
    Do While Not rs.EOF

        'Note the current email addr
        sCurrEmailAddr = rs!EmailAddr
        sSubject = "Automated Expenses Remittance Advice " '& rs!PERSONAL_REFERENCE
       
        'If last email address different to current email address
        'Check for not null becuz first time in loop it will differ
        If sLastEmailAddr <> "" And sLastEmailAddr <> sCurrEmailAddr Then
       
            'Okay, change of email address, lets send the email address
           
            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £" & dTotal
   
            'SendMsg sLastEmailAddr, sSubject, strBODY HEREHEREHERE
           
       
           
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
           
           
   
            .To = sLastEmailAddr
            .Subject = sSubject
            .Body = strBODY
            sLastEmailAddr.Resolve
            If sLastEmailAddr.Resolved Then
            .Send
           
            Else
           
            .Save
           
           
           
           
           
           
           
            'reset
           
           
            sLastEmailAddr = rs!EmailAddr
            sPaymentDate = rs!PaymentDate   'Store payment date of last email address
            dTotal = 0
            strBODY = ""
            End With
   
           
        End If
       
        'Build Body text, one line reading in ref and amount
        strBODY = strBODY & vbCrLf & "Sheet No: " & rs!SheetNo & vbTab & "Amount: " & rs!Amount & "      "
       
        dTotal = dTotal + rs!Amount
       
        sLastEmailAddr = sCurrEmailAddr
        sPaymentDate = rs!PaymentDate   'Store payment date of last email address
       
        'Move to next record
        rs.MoveNext
       
        'Check for eof - if so, send off the last lot
        If rs.EOF = True Then
       
       

            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf

            strBODY = strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £ " & dTotal
           
           
            '''SendMsg sCurrEmailAddr, sSubject, strBODY  HEREHEREHERE
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
            .To = sCurrEmailAddr
            .Subject = sSubject
            .Body = strBODY
            sCurrEmailAddr.Resolve
            If sCurrEmailAddr.Resolved Then
            .Send
            Else
            .Save
           
           ' End If
            End With
           
        End If
    Loop
   
    'Close and clear all
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    SendAutoEmailUK1FIX = True
    Exit Function

SMError:
   
    MsgBox "A problem occurred." & vbCrLf & Err.Description, vbCritical, "Email"

   
       SendAutoEmailUK1FIX = False
       
       
End Function
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12379939
I think it is because "Resolve" only works on a Recipient object. Try this:

            .To = sLastEmailAddr
            .Subject = sSubject
            .Body = strBODY
            .To.ResolveAll
            If .To.Resolved Then
                .Send
            Else
                .Save
            Endif


If that does not work the we will have to build a Recipient object to resolve instead of the .To. It is not complicated, but since you already have this part, let's try it like it is first.

Sam
0
 

Author Comment

by:AndrewMcLaughlin
ID: 12380039
hi - that gives me the following...

Complile error: Invalid qualifier  with .to highlighted on the .To.ResolveAll line


Do I need any additional declarations or references aside from those in my code above and the Outlook reference?
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12380567
Instead of:
            .To = sLastEmailAddr
            .Subject = sSubject
            .Body = strBODY
            .To.ResolveAll
            If .To.Resolved Then
                .Send
            Else
                .Save
            Endif

Try this:
            .Recipients.Add (sLastEmailAddr)
            .Subject = sSubject
            .Body = strBODY
            .To.ResolveAll
            If objMessage.Recipients.ResolveAll Then
                .Send
            Else
                .Save
            Endif
0
 

Author Comment

by:AndrewMcLaughlin
ID: 12380628
Tried it -  but it really doesn't like that .To line at all  and I get the same error as before "Invalid Qualifier".....
0
 
LVL 10

Expert Comment

by:perkc
ID: 12381447
Sorry but I was out fro a while. Try the following:

Public Function SendAutoEmailUK1FIX() As Boolean
    Dim rs As DAO.Recordset
    Dim db As Database
    Dim strBODY As String
    Dim sSubject As String
    Dim sLastEmailAddr As String
    Dim sCurrEmailAddr As String
    Dim dTotal As Currency  ' Not sure if this is the most appropriate data type for this variable????
    Dim sPaymentDate As String
    Dim objOutlook As New Outlook.Application
    Dim objMessage As MailItem
    Dim objrecip As Outlook.Recipient
    'Dim mynamespace As NameSpace
   
    'Set mynamespace = objMessage.GetNamespace("MAPI")
   
On Error GoTo SMError
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT EmailAddr,SheetNo,PaymentDate,PERSONAL_REFERENCE,AMOUNT FROM tblEmails")         'Open a recordset and read all the emails.
    sLastEmailAddr = ""
     sPaymentDate = ""
    dTotal = 0
    'Loop
    Do While Not rs.EOF
        'Note the current email addr
        sCurrEmailAddr = rs!EmailAddr
        sSubject = "Automated Expenses Remittance Advice " '& rs!PERSONAL_REFERENCE
        'If last email address different to current email address
        'Check for not null becuz first time in loop it will differ
        If sLastEmailAddr <> "" And sLastEmailAddr <> sCurrEmailAddr Then
            'Okay, change of email address, lets send the email address
            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £" & dTotal
            'SendMsg sLastEmailAddr, sSubject, strBODY HEREHEREHERE
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
                Set objrecip = .Recipient.Add(sLastEmailAddr)
                objrecip.Type = olTo
                .Subject = sSubject
                .Body = strBODY
                If objrecip.Resolve Then
                .Send
                Else
                .Save
                'reset
                sLastEmailAddr = rs!EmailAddr
                sPaymentDate = rs!PaymentDate   'Store payment date of last email address
                dTotal = 0
                strBODY = ""
                End If
            End With
        End If
        'Build Body text, one line reading in ref and amount
        strBODY = strBODY & vbCrLf & "Sheet No: " & rs!SheetNo & vbTab & "Amount: " & rs!Amount & "      "
        dTotal = dTotal + rs!Amount
        sLastEmailAddr = sCurrEmailAddr
        sPaymentDate = rs!PaymentDate   'Store payment date of last email address
        'Move to next record
        rs.MoveNext
        'Check for eof - if so, send off the last lot
        If rs.EOF = True Then
            strBODY = "This e-mail is to notify you that on " & sPaymentDate & " a BACS transfer was made to reimburse you for the expense claims listed below.  Please allow three working days from this date, inclusive, for the money to reach your bank account." & vbCrLf & vbCrLf & "Please note that details of your expenses are available on your KnowledgeNet home page.  Any queries should be directed to your practice administrator." & vbCrLf & strBODY & vbCrLf & vbCrLf
            strBODY = strBODY & vbCrLf & vbCrLf & "Total Amount Paid GBP £ " & dTotal
            '''SendMsg sCurrEmailAddr, sSubject, strBODY  HEREHEREHERE
            Set objMessage = objOutlook.CreateItem(olMailItem)
            With objMessage
                Set objrecip = .Recipients.Add(sCurrEmailAddr)
                objrecip.Type = olTo
                .Subject = sSubject
                .Body = strBODY
                If objrecip.Resolve Then
                .Send
                Else
                .Save
                End If
            End With
        End If
    Loop
    'Close and clear all
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    SendAutoEmailUK1FIX = True
    Exit Function
SMError:
    MsgBox "A problem occurred." & vbCrLf & Err.Description, vbCritical, "Email"
       SendAutoEmailUK1FIX = False
End Function


perkc
0
 
LVL 15

Accepted Solution

by:
will_scarlet7 earned 2000 total points
ID: 12382856
Wow! I sure am not thinking well today... I should have deleted the .To line:

Try this:
            .Recipients.Add (sLastEmailAddr)
            .Subject = sSubject
            .Body = strBODY
            If objMessage.Recipients.ResolveAll Then
                .Send
            Else
                .Save
            Endif
0
 

Author Comment

by:AndrewMcLaughlin
ID: 12410162
Sam - thanks very much for this.

One final thing - you don't know how I can get a Euro symbol in Access do you?

0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12410983
ThanX Andrew! Sorry it took me so long to get it right.

For the Euro symbol, I think the best way might be through using the ASCII code (€ can be obtained via ASCII by holding down the Alt key and typing 0128 then releasing the Alt key). The site below gives more details on using ASCI codes:

http://www.geocities.com/Athens/Atrium/3005/asciitutor.html

God bless!

Sam
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question