Microsoft Access Error Number 3146
Contents |
be down. Please try the request again. Your cache administrator is webmaster. Generated Thu, 20 Oct 2016 13:31:13 GMT by s_wx1062 (squid/3.5.20)
Social Groups Pictures & Albums Members List Calendar Search Forums Show Threads Show Posts Tag Search Advanced Search Find All Thanked Posts Go to Page... Thread Tools Rating: Display Modes 04-03-2008, 04:39 AM #1 oumahexi Free Range Witch Join Date: Aug 2006 Location: Brig O'doon Posts: 1,991 Thanks: 4 Thanked 2 Times in 2 Posts ODBC 3146 Error for Some Users Hello again My apologies for another posting so soon after the last. My problem is an inherited database that just does not behave. The latest error is the ODBC 3146 (Error occurred report could not be checked). This error occurs when a http://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_other/access-2007-odbc-call-failed-error-3146-only-on/27172fb8-958f-4222-be8e-9083541c8891 user tries to run a report. Our system collects data via Access 2002 into fields that are linked to SQL Server 2000, the information is then passed back into Access to run the required reports. The reason for this is that the original database relied on Access information being fed in from an external source. The source changed to SQL while our database was in it's infancy, but management decided that rather than http://www.access-programmers.co.uk/forums/showthread.php?t=146862 rebuild from scratch it would be best to patch the old system up I know there are many queries in the database which query a query for no apparent reason - example: qryThisQuery interrogates qry_tblThisQuery (selecting all fields from this query), qry_tblThisQuery interrogates dbotblThisQuery (selecting all fields from the table). My first thought about the ODBC errors being experienced is that there are too many scenarios like this and it limits the efficiency of the database. However, my hands are tied, I am only permitted to patch it up. My second thought is that perhaps the user needs her registry cleaned out? or perhaps there may be too much junk in her temp folder? The big problem is that it works on my pc and another user's pc but not on the third. any thoughts? Very much appreciated. Thanks Ouma oumahexi View Public Profile Visit oumahexi's homepage! Find More Posts by oumahexi 04-03-2008, 04:42 AM #2 Rabbie Super Moderator Join Date: Jul 2007 Location: In Exile in Wiltshire Posts: 5,892 Thanks: 106 Thanked 72 Times in 64 Posts My first reaction when it works on some PCs but not on others is to check the route to the SQL Server DB from the failing PC. Is it the same
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn http://stackoverflow.com/questions/730414/determine-real-cause-of-odbc-failure-error-3146-with-ms-access more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Determine real cause of ODBC failure (error 3146) with ms-access? up vote 6 down vote favorite 2 My client is using Access as a front end to error 3146 a SQL Server database. They recently started getting ODBC - 3146 errors from time to time when running some reports. From what I can tell, this is just a generic ODBC call failed error. I've tried sticking some error handling in the VB script that is launching the reports, but I am not having any luck getting extra error information. Code looks a bit like this. Public Function RunReports() On Error GoTo MyErrorTrap DoCmd.OpenReport "blah", acViewPreview run time error DoCmd.Close DoCmd.OpenReport "foo", acViewPreview DoCmd.Close Exit_function: Exit Function MyErrorTrap: Dim errX As DAO.Error Dim MyError As Error If Errors.Count > 1 'This always seems to be 0, so no help For Each errX In DAO.Errors 'These are empty even if dont check for Errors.Count Debug.Print "ODBC Error" Debug.Print errX.Number Debug.Print errX.Description Next errX Else Debug.Print "VBA Error" Debug.Print Err.Number Debug.Print Err.Description End If 'Also have tried checking DBEngine.Errors, but this is empty too End Function I've also enabled tracing on the ODBC side, but that has bogged things down way too much, and I am so far unable to recreate the ODBC error. I am completely open for suggestions on how to diagnose this. vba ms-access vbscript odbc share|improve this question edited Jun 16 '14 at 20:23 Smandoli 5,00122862 asked Apr 8 '09 at 14:57 Aaron Hinni 11k43134 add a comment| 2 Answers 2 active oldest votes up vote 5 down vote Use the DbEngine.Errors collection. Sub Update_Temp() On Error GoTo ErrorTrap ' Execute connect code at this point Exit_errortrap: Exit Sub ErrorTrap: Dim myerror As Error For Each myerror In DBEngine.Errors With myerror If .Number <> 3146 Then MsgBox .Description End If End With Next Resume Exit_errortrap End Sub share|improve this answer answered Jun 16 '14 at 20:22 Smandoli 5,00122862 My "Error" type doesn't have .Number or .Description -- is something supposed to be diff