Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Modules / DAO / VBA / August 2006

Tip: Looking for answers? Try searching our database.

Can't pass form to sub/function and...

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
David Mueller - 10 Aug 2006 15:25 GMT
I'm passing a form object to a function.

Within the function, I create a new recordset object.

When I attempt to set the new recordset to the form's recordsetclone my new
recordset inconsistently errs.  "invalid object/no longer set"

The inconsistency of the error seems to be directly related to a
not-so-obviously related user action (ODBC preconnect to Oracle).  If the
user chooses to login to Oracle via my login form, I get the error.  If the
user skips the Oracle login, no error.

I verified that I am cleaning up (closing objects/set to nothing) objects
related to the oracle login.  I even renamed them all so there are no
similarly named objects.

Anyone have suggestions?

Thanks
Klatuu - 10 Aug 2006 16:35 GMT
It would be helpful if we could see the code for the function and the code
where you call the function.

> I'm passing a form object to a function.
>
[quoted text clipped - 15 lines]
>
> Thanks
David Mueller - 10 Aug 2006 17:42 GMT
Sure...

It's called from the OnCurrent event of a subform that is master/child
linked with a main form.

Private Sub Form_Current()
   Set_GUI_Indicator Me, "Customer_ID"
End Sub

Public Function Set_GUI_Indicator(MyForm As Form, strCustomerIDField As
String) As Boolean
On Error GoTo Err_Set_GUI_Indicator
   
   Dim ctlEstimated As Control
   
   Dim rstEstData As DAO.Recordset
   Dim rstEstDataOpen As Boolean
   Dim strSubFormControlName As String
   
   strSubFormControlName = DLookup("[Sub_Form_Control_Name]",
"[SETUP_MS_FORMS]", "FORM_NAME='" & MyForm.Name & "'")
   
   Set rstEstData = MyForm.RecordsetClone
   rstEstDataOpen = True
   rstEstData.FindFirst strCustomerIDField & " = " &
Nz(Forms("Frm_main").Controls(strSubFormControlName).Form.Controls(strCustomerIDField).Value, "0")
.....

....  immediately after the set command the Watch window shows it as
invalid/not set.  The .FindFirst is where it errs.

Other attempts include...
   strRecordSourceSQL =
Forms("frm_main").Controls(strSubFormControlName).Form.RecordSource
   Set rstEstData = CurrentDb.OpenRecordset(strRecordSourceSQL)    

and ...
   Set rstEstData =
Forms("frm_main").Controls(strSubFormControlName).Form.RecordsetClone

I hope y'all see something in this.

> It would be helpful if we could see the code for the function and the code
> where you call the function.
[quoted text clipped - 18 lines]
> >
> > Thanks
Klatuu - 10 Aug 2006 18:10 GMT
I don't see a problem with the code.  In that the error is intermittent, my
guess is that it is related to the fact that you are using a connection to
Oracle.

I'm sorry, but I don't have any experience using Oracle, so I guess there is
not much else I can do.

> Sure...
>
[quoted text clipped - 60 lines]
> > >
> > > Thanks
David Mueller - 10 Aug 2006 19:02 GMT
Thanks for the second pair of eyes.

I found a known error with similar Recordset/RecordsetClone behavior in the
MS knowledge base ... but it referred to ACC2, not ACC2000/2002.

I'll work the login form some more and see if that doesn't change anything.

> I don't see a problem with the code.  In that the error is intermittent, my
> guess is that it is related to the fact that you are using a connection to
[quoted text clipped - 67 lines]
> > > >
> > > > Thanks
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.