Adding multiple criteria

whojstall11

Registered User.
Local time
Yesterday, 23:50
Joined
Sep 7, 2011
Messages
94
How would I add multiple criteria to this statement this doesnt work

PHP:
Private Sub cmdUpdate_Click() 
    DoCmd.RunSQL "UPDATE [Hardware Asset]" & _ 
    " SET [Hardware Asset].[OS] = """ & Me.[OS] """ [Hardware Asset].[State] = """ & Me.[State] & _ 
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """" 

End Sub
 
How would I add multiple criteria to this statement this doesnt work

PHP:
Private Sub cmdUpdate_Click() 
    DoCmd.RunSQL "UPDATE [Hardware Asset]" & _ 
    " SET [Hardware Asset].[OS] = """ & Me.[OS] """ [Hardware Asset].[State] = """ & Me.[State] & _ 
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """" 

End Sub
I think that this will solve your problem:

Dim strQry as String

strQry = "UPDATE [Hardware Asset] SET [Hardware Asset].[OS] = """ & Me.OS & """, [Hardware Asset].[State] = """ & Me.State & """ WHERE [Hardware Asset].[Asset Number]= """ & Forms![Hardware Asset Update Form]![AssetNumber] & """;"

DoCmd.RunSQL strQry
 

DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
" SET [Hardware Asset].[OS] = '" & Me.[OS] & "', [Hardware Asset].[State] = '" & Me.[State] & _
"' WHERE [Hardware Asset].[AssetNumber] = '" & Forms![Hardware Asset Update Form]![AssetNumber] & "'"
 
You use the OR, AND or IN keywords or even a subquery to add multiple criteria. What exactly are you trying to do?

Also, please make note of jdraw's good advice. I would also add that if you're unsure how to write it in code, build in the Query Designer and copy the SQL statement once you're satisified with the results.
 
I actually fix this a while ago thank you all
Code:
Private Sub CmdUpdate_Click()
DoCmd.SetWarnings False
 
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[OS] = """ & Me.[OS] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Memory] = """ & Me.[Memory] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Speed] = """ & Me.[Speed] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Processor Type] = """ & Me.[Processor Type] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Total Disk Space] = """ & Me.[Total Disk Space] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Serial Number] = """ & Me.[Serial Number] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Warranty Known] = """ & Me.[Warranty Known] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Warranty Expiration] = """ & Me.[Warranty Expiration] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Site] = """ & Me.[Site] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Support Site] = """ & Me.[Support Site] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[SystemName] = """ & Me.[SystemName] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[MAC Address] = """ & Me.[MAC Address] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Status] = """ & Me.[Status] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Log] = """ & Me.[Log] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Notes/Attachments] = """ & Me.[Notes/Attachments] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Part Number] = """ & Me.[Part Number] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
DoCmd.RunSQL "UPDATE [Hardware Asset]" & _
    " SET [Hardware Asset].[Processor] = """ & Me.[Processor] & _
    """ WHERE [Hardware Asset].[AssetNumber] = """ & Forms![Hardware Asset Update Form]![AssetNumber] & """"
End Sub
 
Right, it appears you only have ONE criterion but multiple fields to update.

Here's how you do it for two update fields,
Code:
    DoCmd.RunSQL "UPDATE [Hardware Asset] " & _
                 "SET [OS] = " & Chr(34) & Me.[OS] & Chr(34) & ", " & _
                     "[Memory] = " & Chr(34) & Me.[Memory] & Chr(34) & " " & _
                 "WHERE [AssetNumber] = " & Chr(34) & Forms![Hardware Asset Update Form]![AssetNumber] & Chr(34)
I took your first two update statements. Use the same idea for the others.

Note: Chr(34) means double-quote, (i.e. ")
 

Users who are viewing this thread

Back
Top Bottom