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

Tech-Archive recommends: Speed Up your PC by fixing your registry



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.


"Klatuu" wrote:

It would be helpful if we could see the code for the function and the code
where you call the function.

"David Mueller" wrote:


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
.



Relevant Pages

  • RE: Cant pass form to sub/function and...
    ... I'm sorry, but I don't have any experience using Oracle, so I guess there is ... Set rstEstData = CurrentDb.OpenRecordset ... I create a new recordset object. ... user skips the Oracle login, ...
    (microsoft.public.access.modulesdaovba)
  • RE: Cant pass form to sub/function and...
    ... I'll work the login form some more and see if that doesn't change anything. ... I'm sorry, but I don't have any experience using Oracle, so I guess there is ... Set rstEstData = CurrentDb.OpenRecordset ... I create a new recordset object. ...
    (microsoft.public.access.modulesdaovba)