Solved

DoCmd.OpenStoredProcedure can't find the object

Posted on 2009-07-10
11
1,305 Views
Last Modified: 2013-12-05
In an Access database project form I have this little piece of code

            DoCmd.SetWarnings False
            DoCmd.Close acForm, "View_Edit_Tree"
            DoCmd.SetWarnings True
            DoEvents
            DoCmd.OpenStoredProcedure "dbo.sp_Search_All"
            DoCmd.Maximize

And at runtime the following error is returned "can't find the object 'dbo.sp_Search_All' ", error number 7874

The stored procedure exists in the database and expects one parameter.

Can you tell me why it doesn't see/execute it?
Thank you
0
Comment
Question by:miral13
  • 3
  • 3
  • 2
  • +1
11 Comments
 
LVL 84
Comment Utility
I'm not sure you can pass parameters with the DoCmd method ... but I don't know, as I've never opened SPs in this manner. I typically use a simple Recordset object, or a Command object:

Dim cmd As ADODB.Command

Set cmd = New ADODB.Command

With cmd
  Set .ActiveConnection = CurrentProject.Connection
  .CommandText = "dbo.sp_SearchAll"
  .CommandType = adCmdStoredProc
  .Parameters.Refresh
  .Parameters(0).Value = "Your Value Here"
  .Execute
  Set .ActiveConnection = Nothing
End With

Set cmd = Nothing
0
 
LVL 40

Expert Comment

by:Vadim Rapp
Comment Utility
Maybe the owner of the stored procedure is not dbo?

The recommended method is to create a form with the stored procedure as record source. Same with openview, opentable etc.
0
 
LVL 84
Comment Utility
miral13,

You failed to respond to 2 Expert comments, either of which provided alternatives to your current issue (and vadimrapp1's comment was most likely your answer).

Did you solve this issue? If so, then please post your solution.

Did you attempt to close this question so that you could avoid the account lockout policy in regards to abandoned questions? I see that you've posted a new question just today.

0
 

Author Comment

by:miral13
Comment Utility
The issue was solved by refreshing the view.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:miral13
Comment Utility
The stored procedure in the code above was calling a view. After the view was refreshed everything worked. I hope it is clear.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
Comment Utility
>> After the view was refreshed everything worked.<<
Could explain how the VIEW was "refreshed"?  You can re-compile a Stored Procedure, but I have never heard of refreshing a VIEW, at least in the context you describe.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
Comment Utility
He refreshed the database view in Access, so Access learned about new view that was created outside of it in the database.

Sometimes people resolve their own questions by hitting F5, scrolling down the page to see what was down there, restarting the computer, etc. - works better than all us experts combined, once they finally get themselves together to do it (after posting the question and having some discussion).
0
 

Accepted Solution

by:
miral13 earned 0 total points
Comment Utility
The ADP project was connecting to a SQL Server database.
The stored procedure from the code above was referencing a view.
The view was refreshed with sp_refreshview and after that Access was able to find the stored procedure also.
I hope it makes more sense now.
0
 
LVL 84
Comment Utility
<works better than all us experts combined>

How true!

miral13, glad you reached a solution but in the future please post a short comment if you're deleteing your question, and please respond to Expert comments, even if it's to say that you've solved the issue.

IMO you should PAQ this question by accepting your own answer here: http:#25512766. This would be something that someone else might be able to use one day. If you PAQ and accept your own comment, your points will be refunded to you.

If you'd like to do that, then click the Object button, and then choose your own solution as the Answer and enter something like "found my own solution" in the Reason. This will close out the question in a few days, and keep that question in the PAQ.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now