Solved

delete query error on microsoft access form

Posted on 2010-11-11
5
248 Views
Last Modified: 2012-06-21
Hi Experts,

I have a delete button on a form that allows the user to delete client records from 7 different tables so we don't have any straggling data, but i get an error if one of the tables doesn't have any data containing that client id which is what the query picks up to determine which fields to delete from the tables.  The error is a runtime error 3075, "Syntax error in date in query expression 'ClientID=#Deleted'.  Below is the code.  The client i tried to delete has a record in tblClients but no records in any of the other tables.  Thanks :-)

Laura
Private Sub cmdDeleteNew_Click()

    'make sure user wants to delete / sets commands for user answer
     Select Case MsgBox("Are you sure you want to delete this client?", vbYesNoCancel + vbQuestion)
     
        Case vbNo
            Me.Refresh
        Case vbYes
            'delete all records pertaining to a client
            CurrentDb.Execute "Delete * FROM tblClients WHERE ClientID=" & Me.lstNewClients.Column(0)
            CurrentDb.Execute "Delete * FROM tblASC WHERE ClientID=" & Me.lstNewClients.Column(0)
            CurrentDb.Execute "Delete * FROM tblAddVerify WHERE ClientID=" & Me.lstNewClients.Column(0)
            CurrentDb.Execute "Delete * FROM tblRFI WHERE ClientID=" & Me.lstNewClients.Column(0)
            CurrentDb.Execute "Delete * FROM tblCaseNotes WHERE ClientID=" & Me.lstNewClients.Column(0)
            CurrentDb.Execute "Delete * FROM tblCaseNotesVerify WHERE ClientID=" & Me.lstNewClients.Column(0)
            CurrentDb.Execute "Delete * FROM tblCaseNotesRFI WHERE ClientID=" & Me.lstNewClients.Column(0)
            Me.lstNewClients.Requery
        Case vbCancel
            Me.Refresh
        
     End Select
     
End Sub

Open in new window

0
Comment
Question by:linbayzak
[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
  • 3
  • 2
5 Comments
 

Author Comment

by:linbayzak
ID: 34114812
could it be because of the order of the delete, like maybe i should delete from the main client table last?  thanks
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 34114955
<could it be because of the order of the delete, like maybe i should delete from the main client table last?> that should be the case,

but are you sure that the error is coming from those codes?

can you verify which line is raising the error.
0
 

Author Comment

by:linbayzak
ID: 34114992
yes, it breaks on the second line of the delete execute

 CurrentDb.Execute "Delete * FROM tblASC WHERE ClientID=" & Me.lstNewClients.Column(0)
0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 500 total points
ID: 34115088
the error  could be the value from the lstNewClients listbox.

what is the rowsource of the list box lstNewClients?


try this codes


Private Sub cmdDeleteNew_Click()
dim varID as long
varID=me.lstNewClients.column(0)
    'make sure user wants to delete / sets commands for user answer
     Select Case MsgBox("Are you sure you want to delete this client?", vbYesNoCancel + vbQuestion)
     
        Case vbNo
            Me.Refresh
        Case vbYes
            'delete all records pertaining to a client
            CurrentDb.Execute "Delete * FROM tblClients WHERE ClientID=" & varID
            CurrentDb.Execute "Delete * FROM tblASC WHERE ClientID=" & varID
            CurrentDb.Execute "Delete * FROM tblAddVerify WHERE ClientID=" & varID
            CurrentDb.Execute "Delete * FROM tblRFI WHERE ClientID=" & varID
            CurrentDb.Execute "Delete * FROM tblCaseNotes WHERE ClientID=" & varID
            CurrentDb.Execute "Delete * FROM tblCaseNotesVerify WHERE ClientID=" & varID
            CurrentDb.Execute "Delete * FROM tblCaseNotesRFI WHERE ClientID=" & varID
            Me.lstNewClients.Requery
        Case vbCancel
            Me.Refresh
        
     End Select
     
End Sub

Open in new window

0
 

Author Closing Comment

by:linbayzak
ID: 34115392
awesome, thanks :-)
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

724 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