VBA - Access 97 to 2003

B

Bill B

Hi All.

I'm having a heck of a time here trying to sort some code out in an attempt
to convert a few VBA modules from 97 to 2003 and compile them.

At the moment I'm getting this error:

Error: Object variable or With block variable not set

from this code:

Function ref_intStartNewAccess() As Integer
On Error GoTo ref_intStartNewAccess_Err

Dim intRet As Integer
Dim mappAccess As Object

ref_SetStatus 0, "Starting Access 2003 ..."
'Stop

Set mappAccess = CreateObject("Access.Application.11")
'mappAccess.Visible = false

intRet = True

'Stop
ref_intStartNewAccess_Exit:
ref_intStartNewAccess = intRet
Exit Function

ref_intStartNewAccess_Err:
intRet = False
MsgBox "Error: " & Error$, vbExclamation, "ref_intStartNewAccess()"
Resume ref_intStartNewAccess_Exit

End Function

Private Sub ref_SetStatus(ByVal pintType As Integer, ByVal pvarText As
Variant)

Dim strMsg As String
Dim frm As New Form
Set frm = Forms!frmStatus

If Not IsNull(pvarText) Then strMsg = pvarText

Select Case pintType
Case 0
frm!lblMsg.Caption = strMsg
Case 1
frm!lblAppDB.Caption = strMsg
Case 2
frm!lblAppDesc.Caption = strMsg
Case 3
frm!lblLibDB.Caption = strMsg
Case 4
frm!lblPath.Caption = strMsg
End Select

frm.Repaint


End Sub

Any help sorting this out would be greatly appreciated.

Bill
 
M

Maurice

Shouldn't intRet be set to Boolean instead of Integer?
Set the Access object to (Access.application)
 
B

Bill B

OK, that seems to have got me past that function and into the next. Now I
get the same error on it. Here's the code for that one

pstrDB does contact the value of the database I'm trying to open.

Function ref_intOpenDatabase(ByVal pstrDB As String) As Integer
On Error GoTo ref_intOpenDatabase_Err

Dim intRet As Boolean
Dim strCurrDB As String
Const NO_DB_OPEN = 7952 '= Illegal function Call - no current
database

' special error handler to catch when no database is opened.
On Error GoTo ref_intOpenDatabase_CurrentDB
strCurrDB = mappAccess.CurrentDb.Name

On Error GoTo ref_intOpenDatabase_Err

If strCurrDB <> pstrDB Then
mappAccess.CloseCurrentDatabase
End If

ref_intOpenDatabase_OPEN:

mappAccess.OpenCurrentDatabase mstrAccappPath & pstrDB, True

intRet = True

ref_intOpenDatabase_Exit:
ref_intOpenDatabase = intRet
Exit Function

ref_intOpenDatabase_Err:

intRet = False
MsgBox "Error: " & Error$, vbExclamation, "ref_intOpenDatabase()"
Resume ref_intOpenDatabase_Exit

ref_intOpenDatabase_CurrentDB:
If Err = NO_DB_OPEN Then
Resume ref_intOpenDatabase_OPEN
Else
intRet = False
MsgBox "Error: " & Error$, vbExclamation, "ref_intOpenDatabase()"
Resume ref_intOpenDatabase_Exit
End If


End Function
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top