Re: Code doesn't work on some computers



To do its job, Access makes use of various external program and object
libraries. If you move a database from one machine to another, these
references may be "broken".

When this happens, you need to take steps to let Access repair the
reference(s) ON THE COMPUTER WHERE THE FAILURE IS OCCURING.

Here are MVP Doug Steele's instructions for how to do it:

*** Quote ***

Any time functions that previously worked suddenly don't, the first thing to
suspect is a references problem.

This can be caused by differences in either the location or file version of
certain files between the machine where the application was developed, and
where it's being run (or the file missing completely from the target
machine). Such differences are common when new software is installed.

On the machine(s) where it's not working, open any code module (or open the
Debug Window, using Ctrl-G, provided you haven't selected the "keep debug
window on top" option). Select Tools | References from the menu bar. Examine
all of the selected references.

If any of the selected references have "MISSING:" in front of them, unselect
them, and back out of the dialog. If you really need the reference(s) you
just unselected (you can tell by doing a Compile All Modules), go back in
and reselect them.

If none have "MISSING:", select an additional reference at random, back out
of the dialog, then go back in and unselect the reference you just added. If
that doesn't solve the problem, try to unselect as many of the selected
references as you can (Access may not let you unselect them all), back out
of the dialog, then go back in and reselect the references you just
unselected. (NOTE: write down what the references are before you delete
them, because they'll be in a different order when you go back in)

For far more than you could ever want to know about this problem, check out
http://www.accessmvp.com/djsteele/AccessReferenceErrors.html

Just so you know: the problem will occur even if the library that contains
the specific function that's failing doesn't have a problem.

**** End Quote ****

--
John Spencer
Access MVP 2002-2005, 2007
Center for Health Program Development and Management
University of Maryland Baltimore County
..

"BillyRogers" <BillyRogers@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:95DD46C4-E30A-4C43-A123-E175F7915E2D@xxxxxxxxxxxxxxxx
I have an access application that works on my computer and on another
coworkers computer, but doesn't work on other peoples computers.

Does anyone have and ideas? I've check their office service pack and it's
the same as mine. I doubt that it's the code which I have copied below
since it works for two people ....I think it must be some sort of setting.

has this ever happened to anyone else?





Private Sub btnRunAccessReport_Click()





'***********************************************************************************************************************
' This section checks to see if user has specified
' a file path & name to save the report

txtAccessFilePath.SetFocus
AccessFilePath = txtAccessFilePath.Text

If txtAccessFilePath.Text = "" Then
MsgBox " txtAccessFilePath.Text is null" &
vbCrLf
& vbCrLf & "Please enter a file name using the Save As button."
btnAccessSaveAs.SetFocus
Exit Sub
End If

btnRunAccessReport.SetFocus
'***********************************************************************************************************************

'***********************************************************************************************************************
' This section Creates the database.
' It will delete the file if it already exists.

Dim wrkDefault As Workspace
Dim dbsNew As Database
Dim prpLoop As Property


' Get default Workspace.
Set wrkDefault = DBEngine.Workspaces(0)

' Make sure there isn't already a file with the name of
' the new database.
If Dir(AccessFilePath) <> "" Then Kill AccessFilePath

' Create a new encrypted database with the specified
' collating order.
Set dbsNew = wrkDefault.CreateDatabase(AccessFilePath, _
dbLangGeneral, dbEncrypt)
'***********************************************************************************************************************

DoCmd.HourGlass True
Me.txtStatus.SetFocus
Me.txtStatus.Text = "Connecting to SQL Server"



'Demographic
Me.txtStatus.Text = "Running....." & vbCrLf & "Demographics & Volume"
Call AssocConcat

' Me.txtStatus.Text = "Running....." & vbCrLf & "InvoiceMast"
' Call SP1_AssocInvoiceMast(MyAssocNums, MyAssocDates)


Dim qdfPassthrough As DAO.QueryDef
Dim rsCurr As DAO.Recordset
Dim strSQL As String

' @MonthYearList varchar(500),
' @OrderList varchar(500)

strSQL = "Exec [GetAssocDemographics&Volume&CB] @MonthYearList='" &
MyAssocDates & "', @OrderList='" & MyAssocNums & "'"



Set qdfPassthrough = CurrentDb().QueryDefs("qryPassThru")
qdfPassthrough.Sql = strSQL

'DoCmd.OpenQuery "qryPassThru", acNormal, acEdit

DoCmd.RunSQL "SELECT * INTO [AssocDemoVol] IN '" & AccessFilePath & "'
FROM [qryPassThru];"

Set qdfPassthrough = Nothing
Set rsCurr = Nothing


'Equipment
Me.txtStatus.Text = "Running....." & vbCrLf & "Equipment"
Call AssocConcat

' Me.txtStatus.Text = "Running....." & vbCrLf & "InvoiceMast"
' Call SP1_AssocInvoiceMast(MyAssocNums, MyAssocDates)


'Dim qdfPassthrough As DAO.QueryDef
'Dim rsCurr As DAO.Recordset
'Dim strSQL As String

' @MonthYearList varchar(500),
' @OrderList varchar(500)

strSQL = "Exec [GetAssocEquipment] @OrderList='" & MyAssocNums & "'"



Set qdfPassthrough = CurrentDb().QueryDefs("qryPassThru")
qdfPassthrough.Sql = strSQL

'DoCmd.OpenQuery "qryPassThru", acNormal, acEdit

DoCmd.RunSQL "SELECT * INTO [AssocEquip] IN '" & AccessFilePath & "'
FROM
[qryPassThru];"

Set qdfPassthrough = Nothing
Set rsCurr = Nothing


'InvoiceMast
Me.txtStatus.Text = "Running....." & vbCrLf & "InvoiceMast"
Call AssocConcat

' Me.txtStatus.Text = "Running....." & vbCrLf & "InvoiceMast"
' Call SP1_AssocInvoiceMast(MyAssocNums, MyAssocDates)


'Dim qdfPassthrough As DAO.QueryDef
'Dim rsCurr As DAO.Recordset
'Dim strSQL As String

' @MonthYearList varchar(500),
' @OrderList varchar(500)

strSQL = "Exec [GetAssocInvoiceMast] @MonthYearList='" & MyAssocDates &
"', @OrderList='" & MyAssocNums & "'"



Set qdfPassthrough = CurrentDb().QueryDefs("qryPassThru")
qdfPassthrough.Sql = strSQL

'DoCmd.OpenQuery "qryPassThru", acNormal, acEdit

DoCmd.RunSQL "SELECT * INTO [AssocInvoiceMast] IN '" & AccessFilePath &
"' FROM [qryPassThru];"

Set qdfPassthrough = Nothing
Set rsCurr = Nothing


'InvoiceMastQA
Me.txtStatus.Text = "Running....." & vbCrLf & "InvoiceMastQA"


Call AssocConcat

' Me.txtStatus.Text = "Running....." & vbCrLf & "InvoiceMast"
' Call SP1_AssocInvoiceMast(MyAssocNums, MyAssocDates)


'Dim qdfPassthrough As DAO.QueryDef
'Dim rsCurr As DAO.Recordset
'Dim strSQL As String

' @MonthYearList varchar(500),
' @OrderList varchar(500)

strSQL = "Exec [GetAssocInvoiceMastQA] @MonthYearList='" & MyAssocDates
&
"', @OrderList='" & MyAssocNums & "'"



Set qdfPassthrough = CurrentDb().QueryDefs("qryPassThru")
qdfPassthrough.Sql = strSQL

'DoCmd.OpenQuery "qryPassThru", acNormal, acEdit

DoCmd.RunSQL "SELECT * INTO [AssocInvoiceMastQA] IN '" & AccessFilePath
&
"' FROM [qryPassThru];"

Set qdfPassthrough = Nothing
Set rsCurr = Nothing

Me.txtStatus.Text = "Report Done!"
Me.btnCloseFormAssoc.SetFocus

DoCmd.HourGlass False

MsgBox "Done"

End Sub


--
Billy Rogers

Dallas,TX

Currently Using SQL Server 2000, Office 2000 and Office 2003


.