| Tags | access, block, dlls, error, moving, object variable or with block variable not set, parts, program, quotobject, setquot, variable, vba  | 
28-Jul-2006, 08:39 AM
|  | Guest | | | | | | | | | | VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/information-technology/13730-vba-access-moving-parts-program-dlls.html
software. Another has general utilities.
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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
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 you agree or disagree with the writer above? Why not share your immediate thoughts with us! Login Now! or Sign Up Today! to share your views... Gurfateh! | 
28-Jul-2006, 08:39 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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... Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
>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.
>
> 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. Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> | 
28-Jul-2006, 08:39 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> > software. Another has general utilities.
> >
> > I tried referencing the utilities dll, and it shows up in the object Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> > 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.
> > | 
28-Jul-2006, 08:39 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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): Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
Dim UtilitiesTest As AGUtilities
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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> 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.
>> >
>> > 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.
>> >
> | 
28-Jul-2006, 08:39 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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
>
> Set UtilitiesTest = New AGUtilities
> AGUtilities.MsgBoxTest
>
>
> --
> Doug Steele, Microsoft Access MVP
> http://I.Am/DougSteele Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> (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. Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> >> 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.
> >> >
> >> > 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.
> >> >
> > | 
28-Jul-2006, 08:39 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> 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
>>
>> 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
>> >> > that contains code to integrate into the QuickBooks accounting
>> >> > software. Another has general utilities.
>> >> >
>> >> > 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.
>> >> >
>> >
> | 
28-Jul-2006, 08:40 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> > 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
> >>
> >> 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, Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> >> >> 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.
> >> >> >
> >> >> > 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.
> >> >> >
> >> >
> > | 
28-Jul-2006, 08:40 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" Well, not just functions, but we also need queries and a few global
variables and a few other things we have in our main program.
We have a few global variables that set the name and location of some
other files in initialization, along with a few other ones, but the new
MDB file I created can't access them when referenced. It won't let me
reference back to the main database, of course, it gives a cyclical
reference error.
Is there a way to have a seperate database referenced but have it act
like one database? It seems like there should be an easy way to do
that, to make things more modular...
Shawn
axs221 wrote:
> 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
> > >>
> > >> 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> > >> > 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. Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> > >> >
> > >> > 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.
> > >> >> >
> > >> >> > 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.
> > >> >> >
> > >> >
> > > | 
28-Jul-2006, 08:40 AM
|  | Guest | | | | | | | | | | Re: VBA Access - Moving parts of a program to DLLs? Error 91.. "Object variable or With block variable not set" 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
> 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 Reference:: Sikh Philosophy Network http://www.sikhphilosophy.net/showthread.php?t=13730
>> > 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
>> >>
>> >> 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.
>> >> >> >
>> >> >> > 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.
>> >> >> >
>> >> >
>> >
> | 
Support Us! Become a Promoter! | | Gurfateh ji, you can become a SPN Promoter by Donating as little as $10 each month. With limited resources & high operational costs, your donations make it possible for us to deliver a quality website and spread the teachings of the Sri Guru Granth Sahib Ji, to serve & uplift humanity. Every contribution counts. Donate Generously. Gurfateh! | (View-All)
Members who have read this thread : 0
| | There are no names to display. | |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | | | | Tools | Search | | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is On | | | | » Active Discussions | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | » Books You Should Read... | | | |