Stuart McLachlan
stuart at lexacorp.com.pg
Wed May 23 16:10:05 CDT 2012
In any SQL or criteria string, you need to delimit text strings. You can use either single quotes
of double quotes to do this. I find single quotes easiest to use in code since it avoids
complications with the standard use of double quotes in VBA.
Using single quote:
rstRS.FindFirst "[EmployeeTimesID] = '" & strKey & "'"
Using double quote:
rstRS.FindFirst "[EmployeeTimesID] = '" & Chr$(34) & strKey & chr$(34)
or
rstRS.FindFirst "[EmployeeTimesID] = """ & strKey & """"
Actually, it is better practice to do this:
strFilter = "[EmployeeTimesID] = '" & strKey & "'"
rstRS.FindFirst strFilter
That way, if youy are having problems you can always throw in a "Debug.Print strFilter" of
"Msgbox strFilter" to see exactly what is going on.
StrFilter should return
[EmployeeTimesID] = '5/21/2012Heather Hanson'
or
[EmployeeTimesID] = "5/21/2012Heather Hanson"
yours would return:
[EmployeeTimesID] = 5/21/2012Heather Hanson
--
Stuart
On 23 May 2012 at 11:14, Dale Kalsow wrote:
> Good Afternoon Everyone,
>
> I have the following code that is giving me a Run-time error '3077' Syntax error (missing operator) in expression. on the FindFirst line. Can anyone see why?
> strkey = 5/21/2012Heather Hanson
>
> Is access not liking the space in field?
>
> Thanks!
>
> Set dbsDB = DBEngine(0)(0)
> Set rstRS = dbsDB.OpenRecordset("tblEmployeeTimes", dbOpenDynaset)
> Set rstRsNew = dbsDB.OpenRecordset("qryKeyCardImport", dbOpenDynaset)
>
> rstRsNew.MoveFirst
>
> Do While Not rstRsNew.EOF
> strKey = Format(rstRsNew![Time], "Short Date") & Trim(rstRsNew![Employee])
> rstRS.FindFirst "[EmployeeTimesID] = " & strKey
>
> If not rstRS.NoMatch Then
> With rstRS
> .Edit
> rstRS![EmployeeTimesOut] = Format(rstRsNew![Time], "Medium Time")
> .Update
> End With
> Else
> With rstRS
> .AddNew
> rstRS![EmployeeTimesID] = strKey
> rstRS![EmployeeTimesDate] = Format(rstRsNew![Time], "Short Date")
> rstRS![[EmployeeTimesName]] = Trim(rstRsNew![Employee])
> rstRS![EmployeeTimesIn] = Format(rstRsNew![Time], "Medium Time")
> .Update
> End With
> End If
> rstRsNew.MoveNext
>
> Loop
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
--
Stuart McLachlan
Ph: +675 340 4392
Mob: +675 7100 2028
Web: http://www.lexacorp.com.pg