Solved

delete query error on microsoft access form

Posted on 2010-11-11
5
246 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
  • 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

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
vba sql wild card passing in code 3 22
Allow user to edit an outgoing email 2 24
deduplicating based on criteria 2 21
backup programme - VBA 3 24
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
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…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

776 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