[AccessD] Function Error

Jürgen Welz jwelz at hotmail.com
Fri Jan 27 11:26:22 CST 2006


Try commenting out the sysCmd.  It frequently fails on the systems I work 
on.

So does it fail when you set the string value or when you OpenRecordset?

If OpenRecordset:

Try replacing oDB with CurrentDb.

Ciao
Jürgen Welz
Edmonton, Alberta
jwelz at hotmail.com





>From: "Gowey Mike W" <Mike.W.Gowey at doc.state.or.us>

>The original actually looks like this
>
>sSql = "SELECT SID FROM qryInmatesBinNumberUpdate WHERE Row = '" & j & "' 
>ORDER BY Row"
>Set oRS = oDB.OpenRecordset(sSql)
>
>So a colon won't help, thanks for the thought
>
>-----Original Message-----
>From: Jürgen Welz [mailto:jwelz at hotmail.com]
>
>Put in a colon at the end of 'Order by Row"
>
>original
>
>sSql = "SELECT SID FROM qryInmatesBinNumberUpdate WHERE Row = '" & j & "' 
>ORDER BY Row" Set oRS = oDB.OpenRecordset(sSql)
>
>revised
>
>sSql = "SELECT SID FROM qryInmatesBinNumberUpdate WHERE Row = '" & j & "' 
>ORDER BY Row": Set oRS = oDB.OpenRecordset(sSql)
>
>
>
>Ciao
>Jürgen Welz
>Edmonton, Alberta
>jwelz at hotmail.com
>
>
>
>
>
> >--------- Original Message --------
> >
> >Sorry the highlight didn't show, the part it starts failing at is here:
> >
> >' get all SIDs that are not assigned a bin number for the current row
> >sSql = "SELECT SID FROM qryInmatesBinNumberUpdate WHERE Row = '" & j &
> >"' ORDER BY Row" Set oRS = oDB.OpenRecordset(sSql)
> >
> >-----Original Message-----
> >From: Gowey Mike W
> >Sent: Friday, January 27, 2006 7:54 AM
> >To: Access Developers discussion and problem solving
> >Subject: [AccessD] Function Error
> >
> >
> >I'm converting a database from 97 to 2000 and have run into a problem
> >with the below function. Could someone please tell me why the
> >highlighted part is failing? I get a " Runtime error '5' Invalid
> >procedure call "
> >
> >
> >Public Function UpdateSID4Bin() As Boolean
> >
> >Dim oDB As Database
> >Dim oRS As Recordset
> >Dim oRSBins As Recordset
> >Dim sSql As String
> >Dim j As Long
> >Dim vRtn As Variant
> >
> >UpdateSID4Bin = False
> >
> >Set oDB = CurrentDb
> >
> >DoCmd.Hourglass True
> >
> >' display message in status bar
> >vRtn = SysCmd(acSysCmdInitMeter, "Updating Bin Number System With New
> >SIDs...", 10)
> >
> >For j = 0 To 9
> >' update meter
> >vRtn = SysCmd(acSysCmdUpdateMeter, j + 1) DoEvents
> >
> >' get all SIDs that are not assigned a bin number for the current row
> >sSql = "SELECT SID FROM qryInmatesBinNumberUpdate WHERE Row = '" & j &
> >"' ORDER BY Row" Set oRS = oDB.OpenRecordset(sSql)
> >
> >Do While Not oRS.EOF
> >' grab an empty bin for the current row sSql = "SELECT TOP 1 BinNum
> >FROM BinNumSIDAssign WHERE Row = '" & j & "'
> >AND SID IS NULL" Set oRSBins = oDB.OpenRecordset(sSql)
> >
> >If Not oRSBins.EOF Then
> >' update empty bin with current SID
> >sSql = "UPDATE BinNumSIDAssign SET SID = '" & oRS.Fields("SID") & "'
> >WHERE Row = '" & j & "' AND BinNum = '" & oRSBins.Fields("BinNum") & "'"
> >oDB.Execute sSql End If
> >
> >' get next SID
> >oRS.MoveNext
> >
> >Loop
> >Next
> >
> >UpdateSID4Bin = True
> >
> >ExitFunction:
> >On Error Resume Next
> >
> >oRS.Close
> >oRSBins.Close
> >oDB.Close
> >
> >Set oRS = Nothing
> >Set oRSBins = Nothing
> >Set oDB = Nothing
> >
> >DoCmd.Hourglass False
> >vRtn = SysCmd(acSysCmdRemoveMeter)
> >
> >End Function
> >
> >Public Function CheckEvent(pEvent As String) As Boolean
> >
> >Dim oDB As DAO.Database
> >Dim oRS As DAO.Recordset
> >Dim sSql As String
> >
> >CheckEvent = False
> >
> >Set oDB = CurrentDb
> >
> >sSql = "SELECT Complete FROM DownloadEvents " & vbCrLf sSql = sSql &
> >"WHERE EventName = '" & pEvent & "'" Set oRS = oDB.OpenRecordset(sSql)
> >
> >With oRS
> >If Not .EOF Then
> >CheckEvent = (.Fields(0) = True)
> >End If
> >End With
> >
> >ExitFunction:
> >On Error Resume Next
> >
> >oRS.Close
> >oDB.Close
> >
> >Set oRS = Nothing
> >Set oDB = Nothing
> >
> >End Function
> >
> >Public Sub InitDownloadEvents()
> >
> >Dim oDB As DAO.Database
> >Dim sSql As String
> >
> >' init events
> >Set oDB = CurrentDb
> >sSql = "UPDATE DownloadEvents SET Complete = False"
> >oDB.Execute sSql
> >
> >oDB.Close
> >Set oDB = Nothing
> >
> >End Sub
> >
> >Public Function SetEvent(pEvent As String) As Boolean
> >
> >Dim oDB As DAO.Database
> >Dim sSql As String
> >
> >SetEvent = False
> >
> >Set oDB = CurrentDb
> >
> >sSql = "UPDATE DownloadEvents SET Complete = TRUE " & vbCrLf sSql =
> >sSql & "WHERE EventName = '" & pEvent & "'" oDB.Execute sSql
> >
> >SetEvent = True
> >
> >ExitFunction:
> >On Error Resume Next
> >
> >oDB.Close
> >Set oDB = Nothing
> >
> >End Function
> >
> >
> >Thanks in advance for any help provided.
> >
> >
> >Mike Gowey MCP, MCDST, A+, LME, NET+
> >Team Leader - SouthEast Region
> >Information Systems Unit





More information about the AccessD mailing list