MS Flexgrid using in am MDE License Problem

J

Johann Schwarz

I have a 1998 build and distributed MDE. It has some MS Flexgrids in it,because I also have VS Enterprise edition. But now I got informed that a user who changed to MS Access 2003 cannot use some functionallity anymore because the grid does not work anymore. It said that there is no licence to use this grid in this program. Strange, because I had bought enterprise studio and also professional edition of full office package, so I should have had licence to do that. I have read about such a bug together with vb.net 2002 0r vb.net 2003, but it happens using old mde in access 2003. Alsoas an mde it doesn't work.
Any hints how to get it working again ?

Johann Schwarz (sen)
 
A

Albert D.Kallal

Well, first of all, you NEVER could use a different version of ms-access
with a different version of a mde.

So, right off the bat, the above would be problem that you need to explain
further.

Further, you do realize that even going all the way back to BEFORE windows
95, that all activeX controls have a built in licensing schemes. So, in you
installed a program from company ABC with a cool grid control, I then I
can't copy that cool Grid control to another machine (you will receive the
no license issue).

So, keep in mind, that often when you simply "copy" a activeX control to
another machine, unless you use a properly designed installer (and a
developers edition of the activeX control to BUILD the install), then the
activeX control will not work on the target machine.

Now, you not give much information. We need to resolve two issues

1) The miss-match of the mde, and the version of ms-access on the target
machine (these have to be the same).

2) The issue of how the activex Control (Grid) will be installed and
correctly registered on the target machine...

So,note that issue #2 is COMPLETE separate issue. You need to ensure you
have the correct version of ms-access on that target machine to run the mde
file.....

Once you ensure that the mde can run, then you need to ensure that the Grid
control is registered on that target machine, and that the reference in the
mde will work correctly in that case....

Note that the a2003 mde, and even the runtime package for a2003 does NOT
supprot installing of activeX contorls for you (you have to provide you own
installer in that case). Previoues edtions of hte rutnime DID support
activeX installing.

However, the no license issue also might be due to the user still trying to
run access 97...
 
J

Johann Schwarz

First of all, I 'm not a prof programmer, I'm only distributing my program
in our small TV repair station and the users are comanymembers. So maybe you
thought to a firm which is selling programs and thinking I should know about
licenses. I don't know anything about. I only know I have regularry bought
all that things and as one of our technican on his machine installed Office
2003 he gots in trouble using that program.
Well, first of all, you NEVER could use a different version of ms-access
with a different version of a mde.

This is maybe a misunderstood, because I'm a bit difficult in English. The
MDE is opened by MS ACCESS 2003, but it says that it opend it in Access 2000
formatted mode. But it could be opened without any error. It only states
that there is code in it which could maybe insecure, if we dont trust the
code we can blok it, something like that.( Cannot fully translate that
exact. )
But we do not block our code. But other then in former times it seems that
it doesn't need to be converted. From version 1997 to 2000 it needed to be
converted.
Further, you do realize that even going all the way back to BEFORE windows
95, that all activeX controls have a built in licensing schemes. So, in
you
installed a program from company ABC with a cool grid control, I then I
can't copy that cool Grid control to another machine (you will receive the
no license issue).

It is no Cool grid it is standard Microsoft Flexgrid which is delivered
with my Visual Studio Enterprise Edition 6.0
And I have had this all the years and it worked. It worked 1997, it worked
2000 it is not working since on that specific machine there is Access 2003

What I dont know is, if the technican has only updated MS Access from 2000
to 2003 on the same machine where the mde has worked before, or if he has
installed it on a new machine, that I'll have to find out. ( Because we have
renewed some machines too. )
So, keep in mind, that often when you simply "copy" a activeX control to
another machine, unless you use a properly designed installer (and a
developers edition of the activeX control to BUILD the install), then the
activeX control will not work on the target machine.
Yes that is my experience from former installations.

As I never had Access Enterpise edition but only Professional editíon there
is no installer program, as I have in VB. So I can only copy the MDE.
My basic problem is, that this is a very big application done in VBA with
approx 70 forms and 50 reports so it would need me years to do it again in
VB. But since 2000 all other programs which I wrote are in VB because there
I have a packageprogram and all the installing issues are easy.

So on all machines there is also installed a version of this newer program
which is a full VB solution which also contains Microsoft Flexgrid and
others. I never have installed any licence to a machine, even did not know
how to do that. I only copied mde to the machine. What I know from former
installations is, I normally needed to install my VB program before I
installed the mde. So all of our users know that, they first need to install
the VB program and then may install the MDE.
This has worked everytime.
1) The miss-match of the mde, and the version of ms-access on the target
machine (these have to be the same).

I can install the mdb on the machine, then converting and compiling it and
then trying again what happens.
2) The issue of how the activex Control (Grid) will be installed and
correctly registered on the target machine...

So,note that issue #2 is COMPLETE separate issue. You need to ensure you
have the correct version of ms-access on that target machine to run the
mde
file.....
Once you ensure that the mde can run,

But as I told it runs but it said it runs in Access 2000 mode and no
data-access problems as long as I dont open a form where one of that MS
Flexgrids is.
then you need to ensure that the Grid
control is registered on that target machine, and that the reference in
the
mde will work correctly in that case....

And how to correctly handle that license issue ? Is there a specific file
which comes with the ocx, which needs to be installed on the computer. ?
Note that the a2003 mde, and even the runtime package for a2003 does NOT
supprot installing of activeX contorls for you (you have to provide you
own
installer in that case). Previoues edtions of hte rutnime DID support
activeX installing.

I see. Thats maybe the basic of the problem. Can MS Access 2003 not use an
ActiveX which is registered for another VB Application ? Former versions
obviously could that.

Thx for your Interest and your data. At first now I'll try to convert mdb on
this machine then to rebuild the mde there and looking what happens.

Greetings Johann Schwarz ( sen) (Vienna )
 
A

Albert D.Kallal

It is no Cool grid it is standard Microsoft Flexgrid which is delivered
with my Visual Studio Enterprise Edition 6.0

Excellent, then you should not have a problem using the control.
As I never had Access Enterpise edition but only Professional editíon
there is no installer program, as I have in VB. So I can only copy the
MDE.
My basic problem is, that this is a very big application done in VBA with
approx 70 forms and 50 reports so it would need me years to do it again in
VB. But since 2000 all other programs which I wrote are in VB because
there I have a packageprogram and all the installing issues are easy.

Good. As a side note, I do distribute my applications using the runtime, and
for this reason I AVOID using activeX
controls. For example, to display girds, I use the built-in features of
ms-access. You can see some screen shots of
what I mean here:

http://www.members.shaw.ca/AlbertKallal/Articles/Grid.htm

So on all machines there is also installed a version of this newer program
which is a full VB solution which also contains Microsoft Flexgrid and
others.

Ah, excellent...this is what I would have suggest to do anyway!! In other
words, I would have suggested to build a small application in VB, and simply
install that on the target machine. Since you done this already, then we the
issue of the activeX control is SOLVED....

So all of our users know that, they first need to install
the VB program and then may install the MDE.
This has worked everytime.

Yes...the above is good..and makes sense..and is a good solution.
I can install the mdb on the machine, then converting and compiling it and
then trying again what happens.

The above is a very good idea/test..
But as I told it runs but it said it runs in Access 2000 mode and no
data-access problems as long as I dont open a form where one of that MS
Flexgrids is.

Given the above information, it sounds like broken reference in the
ms-access application...
And how to correctly handle that license issue ? Is there a specific file
which comes with the ocx, which needs to be installed on the computer. ?

You are handling the issue correctly already by installing the VB problem,
so, this is NOT your problem
I see. Thats maybe the basic of the problem. Can MS Access 2003 not use an
ActiveX which is registered for another VB Application ? Former versions
obviously could that.

no, the above is NOT your problem, since you install the flex control with
VB....

I would try placing the mdb on that computer that does not work.

The problem your are experiencing is that you can't reliability distribute a
mde in a2000 to a machine running a2003.

Remember, a2003 is likely the FIRST version of ms-access that lets you do
this. (before, you could not use a a2000 mde with access97, or access95...it
simply DOES NOT work). And, you can't use a a2003 mde with a2000 for
example. So, this is NOT a new change.

However, you are trying to use a a2000 mde on a a2003 box. This likely to
cause problems.

I would suggest that you place the a2000 mdb on that machine, and then
convert the file to a2003. You then test to see of the code compiles, and if
it does, then and only then, you make the 2003 mde....

I have seen a a2000 mde work with a2003, but, it can be a cause of
problems....
 
A

Albert D.Kallal

I just been corrected by a fellow MVP....

While you can not use a a2003 mde with a2000,

You also can't use a a2000 mde with a97.

However, you cAN GO forward!!!

That means your a2000 mde SHOULD work with a2003.....

I would check the references in the mdb, and remove ANY reference that is
not needed....
 
J

Johann Schwarz

Good. As a side note, I do distribute my applications using the runtime,
and
for this reason I AVOID using activeX

I see, Do you know if some not MS installers like Inno-Setup can be used ?
Inno setup in some cases when distributing VB programs is better to use then
MS package assistent, but I never tried distributing MDE with it.
I 'm questioning that because my pension is near and I have to get a
solution which easily can be done by another fellow. As simpler as better,
you know. Even installing VB program first and then the MDE seems to do not
get into their brain. ( Especially if you have some know-best guys in the
firm )
Yes...the above is good..and makes sense..and is a good solution.

As I know nothing about this licensing stuff, I was frightened that they
have changed this in a way, that MS Access is checking now if the control
is licendsed for this MDE and that ActiveX which are installed from another
VB program cannot be used anymore. But as I got out of your info this is
not the reason for my troubles.
Given the above information, it sounds like broken reference in the
ms-access application...

Hmm.. Good idea. The guy who installed this 2003 office is known in our
firm as the person who everytime has the troubles. And in many times looking
behind he has done something unusual before he have had troubles. <biggrin>
I cannot look into the MDE for checking this but as mentioned I'll copy the
mdb to this machine and then looking that all references are correct,
converting to MS Access 2003 version, compiling it and
Remember, a2003 is likely the FIRST version of ms-access that lets you do
this. (before, you could not use a a2000 mde with access97, or
access95...it simply DOES NOT work). And, you can't use a a2003 mde with
a2000 for example. So, this is NOT a new change.

However, you are trying to use a a2000 mde on a a2003 box. This likely to
cause problems.

Oh yes, this comes to my eyes now, he didn't tell me that he uses 2003 until
he comes and tells me its not working correctly anymore. Then I looked at
his machine and told him, hey its 2003 now. And he said, "yes, I have
personally changed to 2003, but your program is not working anymore as it
should". I totally have overseen, that there normally was the converting
issue, because it starts and could read / write data and only screens with
this Flexgrid shows the license isssue. I really have to check, if he has
installed the other program too or if he hasn't ( Because he works in TV
Service, the other program is for Sat dish workers which he normally
doesn't need, so maybe he didn't install that too... I'll see that tomorrow
( monday )
I would suggest that you place the a2000 mdb on that machine, and then
convert the file to a2003. You then test to see of the code compiles, and
if it does, then and only then, you make the 2003 mde....

Yes sure.
I have seen a a2000 mde work with a2003, but, it can be a cause of
problems....

Since a very short time I sometimes have crashes on the other machines and
looking behind there are records with missing entries, where there should'nt
be such. Is it possible that in reallity sometimes this 2000mde running on
a 2003access can have such problems ? This would explain a lot.

As you are an Access Specialsit obviously: I have some in VB selfbuilt
controls and some which I did in C++ All of the C++ build I can see in the
tools of MS access but only very less of the VB- controls I constructed are
there. Comparing them I have found out, that all C++ .ocx also have a .tlb
file, and the VB activeX all have none. Some of the VB controls I can find
with their projectname like myProject.myControl.
Do you know what are the 'mustHaveIcluded' for getting a VB Userdefined
control onto this list or how to arrange that it is on this list. In Vb I
can simple do 'add-control' in the project and then I can use it. Is there
a similar point in Access ( I haven't really worked anymore with access
programing since I changed to VB and maybe forgotten a lot in between.)

Thanks a lot for all info in between, I really cooled down about that
problem now. ( we say here in Austria: A big stone has fallen away of my
heart )

Johann Schwarz(sen)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top