40e8 Sikh Philosophy Network - View Single Post - VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set"
View Single Post
  #10 (permalink)  
Old 28-Jul-2006, 08:40 AM
axs221's Avatar axs221
Guest
 
Posts: n/a
   
   
Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set"


Register to Remove Advertisements
That answered my question. I appreciate your help. Is there any way
that Database B could ever access anything from Database A, or do you
know of any other way around it other than having to make a "Database
C" with the functions, queries, global variables, and everything else
needed by both databases, as well as any other database we would like
to make?

Our modules are coupled together quite a lot unfortunately, so storing
everything in a third database might be messy and take more effort than
it is worth.

Shawn


Douglas J. Steele wrote:
> Not sure I understand your question.
>
> If, in Database A you set a reference to Database B, within Database A you
> can call functions from Database B. Database B, however, won't know anything
> about functions in Database A.
>
> --
> Doug Steele, Microsoft Access MVP
> http://I.Am/DougSteele
> (no private e-mails, please)
>
>
> "axs221" wrote in message
> news:1153752396.944194.20280@i3g2000cwc.googlegrou ps.com...
> > Thanks, that might be better. Is there a way to get the separate MDB to
> > still be able to use function calls from the main front-end file,
> > though? The only way I know how to do that is to make another database
> > just for function calls that are used by more than one of the
> > databases, but that might be a lot of work.
> >
> > Shawn
> >
> >
> > Douglas J. Steele wrote:
> >> You can put your code into a library MDB (or MDE), and add a reference to
> >> that library under Tools | References while you're in the VB Editor.
> >>
> >> --
> >> Doug Steele, Microsoft Access MVP
> >> http://I.Am/DougSteele
> >> (no private e-mails, please)
> >>
> >>
> >> "axs221" wrote in message
> >> news:1153581537.773940.152010@h48g2000cwc.googlegr oups.com...
> >> >I just realized that on someone else's response somewhere else.. I feel
> >> > a little silly now. Are we doing things right otherwise, though? Is
> >> > putting code into DLLs the best way to split up a large vba access
> >> > program? The only annoyance with it I have is that we have to take
> >> > functions from modules that were coupled with other modules out and
> >> > make another DLL for the new DLLs to reference for the functions they
> >> > need. My boss showed me how we link tables the other day in Access. I
> >> > wish there was a way to link to external modules or classes, if there
> >> > isn't.
> >> >
> >> > Shawn
> >> >
> >> > Douglas J. Steele wrote:
> >> >> All you've done is indicate what object is supposed to point to the
> >> >> DLL
> >> >> (through the Dim statement). However, you haven't actually
> >> >> instantiated
> >> >> that
> >> >> object to make it point to the DLL (using a Set statement):
> >> >>
> >> >> Dim UtilitiesTest As AGUtilities
> >> >>
Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/information-technology/13730-vba-access-moving-parts-program-dlls.html
> >> >> Set UtilitiesTest = New AGUtilities
> >> >> AGUtilities.MsgBoxTest
> >> >>
> >> >>
> >> >> --
> >> >> Doug Steele, Microsoft Access MVP
> >> >> http://I.Am/DougSteele
> >> >> (no private e-mails, please)
> >> >>
> >> >>
> >> >> "axs221" wrote in message
> >> >> news:1153533480.310317.12690@75g2000cwc.googlegrou ps.com...
> >> >> > Basically I created a DLL file, Utilities.dll, and inside it I made
> >> >> > a
> >> >> > few classes. One class, lets say AGUtilities, I just wrote a simple
> >> >> > function to test the DLL calls out, like this:
> >> >> >
> >> >> > Public Sub MsgBoxTest()
> >> >> > MsgBox "Testing"
> >> >> > End Sub
> >> >> >
> >> >> > Then I made a reference to it from our main VBA program.
> >> >> >
> >> >> > Dim UtilitiesTest As AGUtilities
> >> >> > AGUtilities.MsgBoxTest
> >> >> >
> >> >> > There's a basInitialize that runs at startup. I made a reference to
> >> >> > the
> >> >> > DLL in the references menu option, clicking browse and selecting it
> >> >> > in
> >> >> > the same directory. I made an instance of the class in that module,
> >> >> > and
> >> >> > tried calling the function to run a simple message box, and it gives
> >> >> > that error code. I got the same thing when trying to run another
> >> >> > function before that, one that gets the name of the program running.
> >> >> > The object browser and intillisense looked like any other class but
> >> >> > it
> >> >> > just wouldn't run it.
> >> >> >
> >> >> > Is there something more that you'd generally need to do in order to
> >> >> > run
> >> >> > such a dll call? Where might I be going wrong?
> >> >> >
> >> >> > Thanks,
> >> >> >
> >> >> > Shawn
> >> >> >
> >> >> >
> >> >> >
> >> >> > Norman Yuan wrote:
> >> >> >> Yes, you did miss something, for sure, in your code and in your
> >> >> >> post.
> >> >> >> Without seeing your code to show how the routine in the dll is
> >> >> >> called,
> >> >> >> there
> >> >> >> isn't much to say, except for "the code must be wrong).
> >> >> >>
> >> >> >> "axs221" wrote in message
> >> >> >> news:1153516589.043190.20630@i3g2000cwc.googlegrou ps.com...
> >> >> >> >I am trying to move some of our large VBA Access front-end file
> >> >> >> >into
> >> >> >> > ActiveX DLL files. I created two DLL files so far, one was a
> >> >> >> > module
> >> >> >> > that contains code to integrate into the QuickBooks accounting
> >> >> >> > software. Another has general utilities.
Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> >> >> >> >
> >> >> >> > I tried referencing the utilities dll, and it shows up in the
> >> >> >> > object
> >> >> >> > explorer. I instantiated an instance of the class and now it
> >> >> >> > shows
> >> >> >> > up
> >> >> >> > all okay in the Intellisense. Whenever I try to run a simple
> >> >> >> > function,
> >> >> >> > though, even a subroutine that just does:
> >> >> >> >
> >> >> >> > MsgBox "Test"
> >> >> >> >
> >> >> >> > It gives me the error 91: Object variable or With block variable
> >> >> >> > not
> >> >> >> > set
> >> >> >> >
> >> >> >> > Am I missing a step here? We really need these DLLs, or some
> >> >> >> > alternative, so that we can better use Subversion for our main
> >> >> >> > project.
> >> >> >> >
> >> >> >
> >> >

> >




Do share your immediate thoughts or reactions on this issue? We value your views! Login Now! or Sign Up Today! to share your views with us.. Gurfateh!
Reply With Quote
Sponsored Links
 
Page generated in 0.17156 seconds with 25 queries
0