By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,680 Members | 1,508 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,680 IT Pros & Developers. It's quick & easy.

Different Versions of Object Libraries

P: n/a
I have Access 2000 and 2003 on my development machine. My client only has
Access 2000. When I develop for this client, I run Access 2000. However, my
code requires that I have the Microsoft Word Object Library and Microsoft
Outlook Object Library listed in References.

As I result, on my machine they're listed as version 11.0, and then, when I
upload the file, they show as missing. So I have to go through the steps of
removing the references and then re-adding them on the client's machine for
version 9.0. Obviously this is a bit of a pain I'd prefer to avoid.

I realize I could use late binding. But the code's already written, and I'd
prefer not to have rewrite everything -- at least not at this point.

Any ideas for how I can make this work without having to continually remove
and re-add the libraries?

Thanks.
Sep 24 '07 #1
Share this Question
Share on Google+
46 Replies


P: n/a
The only realistic solution here is to re-write your code for late biding.

Even a update to word or placing you software on a machine where they had a
custom install of office can break you code.

There is not really much here I can add.

You kind of being like a mechanic who asking how to avoid changing oil in
the car.

There is just not a reasonable answer here.

Either you have 100% control over how office is installed on the target
machine. Remember, even machine with the SAME version office can break if
pathnames are changed.

You have to bite the bullet. The result is code that will not break if word
is missing, upgraded, or is a different version.

It really not that hard to change to late binding. I always develop using
early binding to get the code working, and also have inti-sense during
development. Once the code is working, then you flip it over to late
binding.

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com
Sep 25 '07 #2

P: n/a
If you do not use late binding, then you have to set reference to older
version of Word/Outlook object library on your developing machine (that is,
you have older Word/Outlook installed).

So, either use late binding; or (when using early binding) develop against
oldest version of automation server apps, if your app has to automate
multiple version of auotmation server apps, and hope the new version is
compatible to older version (MS Office apps are good on backward
compatibility).

"Phil Reynolds" <ph*******@msn.comwrote in message
news:OF***************@newssvr17.news.prodigy.net. ..
>I have Access 2000 and 2003 on my development machine. My client only has
Access 2000. When I develop for this client, I run Access 2000. However, my
code requires that I have the Microsoft Word Object Library and Microsoft
Outlook Object Library listed in References.

As I result, on my machine they're listed as version 11.0, and then, when
I upload the file, they show as missing. So I have to go through the steps
of removing the references and then re-adding them on the client's machine
for version 9.0. Obviously this is a bit of a pain I'd prefer to avoid.

I realize I could use late binding. But the code's already written, and
I'd prefer not to have rewrite everything -- at least not at this point.

Any ideas for how I can make this work without having to continually
remove and re-add the libraries?

Thanks.
Sep 25 '07 #3

P: n/a
On Sep 25, 9:54 am, "Albert D. Kallal" <PleaseNOOOsPAMmkal...@msn.com>
wrote:
You have to bite the bullet. The result is code that will not break if word
is missing, upgraded, or is a different version.
I have a healthy respect for Albert's depth of knowledge and length of
experience. And all that he says applies but not all of the time.

So the safe way to develop to cover all scenarios is to do what he
says.

HOWEVER

If you are not trying to be all things to all people and only have a
specific case and a specific problem and you don't like making
adjustments to how you are doing things, run two machines, virtual
(VirtualPC or VMWare) or physical, separate your Office versions and
test what you can before delivering.

In this day and age, the cost of acquiring a second physical machine
and software is VERY LOW compared to when we started in 1990 or 1985.
The cost of running a virtual machine is even lower as long as you
have enough RAM and hard disk space.

Sep 25 '07 #4

P: n/a
OK, thanks. That's good to know.

"Albert D. Kallal" <Pl*******************@msn.comwrote in message
news:OD**************@TK2MSFTNGP04.phx.gbl...
The only realistic solution here is to re-write your code for late biding.

Even a update to word or placing you software on a machine where they had
a custom install of office can break you code.

There is not really much here I can add.

You kind of being like a mechanic who asking how to avoid changing oil in
the car.

There is just not a reasonable answer here.

Either you have 100% control over how office is installed on the target
machine. Remember, even machine with the SAME version office can break if
pathnames are changed.

You have to bite the bullet. The result is code that will not break if
word is missing, upgraded, or is a different version.

It really not that hard to change to late binding. I always develop using
early binding to get the code working, and also have inti-sense during
development. Once the code is working, then you flip it over to late
binding.

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com


Sep 25 '07 #5

P: n/a
Thanks.

"AnandaSim" <An*******@gmail.comwrote in message
news:11**********************@19g2000hsx.googlegro ups.com...
On Sep 25, 9:54 am, "Albert D. Kallal" <PleaseNOOOsPAMmkal...@msn.com>
wrote:
>You have to bite the bullet. The result is code that will not break if
word
is missing, upgraded, or is a different version.

I have a healthy respect for Albert's depth of knowledge and length of
experience. And all that he says applies but not all of the time.

So the safe way to develop to cover all scenarios is to do what he
says.

HOWEVER

If you are not trying to be all things to all people and only have a
specific case and a specific problem and you don't like making
adjustments to how you are doing things, run two machines, virtual
(VirtualPC or VMWare) or physical, separate your Office versions and
test what you can before delivering.

In this day and age, the cost of acquiring a second physical machine
and software is VERY LOW compared to when we started in 1990 or 1985.
The cost of running a virtual machine is even lower as long as you
have enough RAM and hard disk space.

Sep 25 '07 #6

P: n/a
That would be fine. Only thing is, when I go to set the reference, I only
have the option to set it to Word/Office 11.0 (even though I'm running
Access 2000 (9.0) at the time I'm setting the reference). So, are you saying
I should set the reference on my client's machine (to 9.0) and then copy the
file back. Or are you saying that there's a way to set the reference to the
earlier version on my machine, because I'm not seeing how. Thanks!
"Norman Yuan" <No*******@NoEmail.fakewrote in message
news:eU**************@TK2MSFTNGP05.phx.gbl...
If you do not use late binding, then you have to set reference to older
version of Word/Outlook object library on your developing machine (that
is, you have older Word/Outlook installed).

So, either use late binding; or (when using early binding) develop against
oldest version of automation server apps, if your app has to automate
multiple version of auotmation server apps, and hope the new version is
compatible to older version (MS Office apps are good on backward
compatibility).

"Phil Reynolds" <ph*******@msn.comwrote in message
news:OF***************@newssvr17.news.prodigy.net. ..
>>I have Access 2000 and 2003 on my development machine. My client only has
Access 2000. When I develop for this client, I run Access 2000. However,
my code requires that I have the Microsoft Word Object Library and
Microsoft Outlook Object Library listed in References.

As I result, on my machine they're listed as version 11.0, and then, when
I upload the file, they show as missing. So I have to go through the
steps of removing the references and then re-adding them on the client's
machine for version 9.0. Obviously this is a bit of a pain I'd prefer to
avoid.

I realize I could use late binding. But the code's already written, and
I'd prefer not to have rewrite everything -- at least not at this point.

Any ideas for how I can make this work without having to continually
remove and re-add the libraries?

Thanks.

Sep 25 '07 #7

P: n/a
"Phil Reynolds" <ph*******@msn.comwrote:
>I realize I could use late binding. But the code's already written, and I'd
prefer not to have rewrite everything -- at least not at this point.
FWIW Late Binding should only take ten minutes or half hour per
instance of using the Word or Outlook libraries to implement. And
it's quite stable. I have many clients running an app with late
binding to Outlook and I know they don't have Outlook installed.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 25 '07 #8

P: n/a
ARC
That sounds interesting! I've seen late-binding code for open file's, and
fonts, etc., but never have seen the code for late binding on Outlook. Do
you have a link, Tony? Many thanks,

Andy
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:34********************************@4ax.com...
"Phil Reynolds" <ph*******@msn.comwrote:
>>I realize I could use late binding. But the code's already written, and
I'd
prefer not to have rewrite everything -- at least not at this point.

FWIW Late Binding should only take ten minutes or half hour per
instance of using the Word or Outlook libraries to implement. And
it's quite stable. I have many clients running an app with late
binding to Outlook and I know they don't have Outlook installed.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 25 '07 #9

P: n/a
Thanks for that. But I'm a bit confused. They don't have Outlook installed?
I assume you're saying that they can run the app on a machine without
Outlook installed, but they can't actually use the functions that use
Outlook, right?

Thanks.
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:34********************************@4ax.com...
"Phil Reynolds" <ph*******@msn.comwrote:
>>I realize I could use late binding. But the code's already written, and
I'd
prefer not to have rewrite everything -- at least not at this point.

FWIW Late Binding should only take ten minutes or half hour per
instance of using the Word or Outlook libraries to implement. And
it's quite stable. I have many clients running an app with late
binding to Outlook and I know they don't have Outlook installed.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/

Sep 25 '07 #10

P: n/a
To switch early binding code to late binding, you need to do the following:

1. Change any declarations to use Object rather than the specific object. In
other words, change

Dim objOutlook As Outlook.Application

to

Dim objOutlook As Object

2. Change how you instantiate the object from using the New keyword to using
CreateObject. In other words, change

Set objOutlook = New Outlook.Application

to

Set objOutlook = CreateObject("Outlook.Application")

3. Either replace any intrinsic constants from the formerly referenced
library with their actual values, or else define the constants in your
application. In other words, change

objOutlookRecip.Type = olTo

to either

objOutlookRecip.Type = 1

or

Const olTo As Long = 1

objOutlookRecip.Type = olTo

(this is usually the most time consuming part: making sure you've found all
the references to intrinsic constants, and that you know the actual value
for each one!)

Once you've done that, you can remove the reference under Tools |
References, and you should be okay. (The CreateObject statement will raise
an error 429 if the necessary libraries aren't present, so you have to trap
for that)

Take a look at the code in http://support.microsoft.com/?kbid=161088

Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment

' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")

' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
' Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
objOutlookRecip.Type = olTo

' Add the CC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Michael Suyama")
objOutlookRecip.Type = olCC

' Add the BCC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
objOutlookRecip.Type = olBCC

' Set the Subject, Body, and Importance of the message.
.Subject = "This is an Automation test with Microsoft Outlook"
.Body = "This is the body of the message." &vbCrLf & vbCrLf
.Importance = olImportanceHigh 'High importance

' Add attachments to the message.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

' Resolve each Recipient's name.
For Each ObjOutlookRecip In .Recipients
objOutlookRecip.Resolve
Next

' Should we display the message before sending?
If DisplayMsg Then
.Display
Else
.Save
.Send
End If
End With
Set objOutlook = Nothing
End Sub

Late Bound, that would be:

Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
' "Rule 1": Use Object in the declarations
Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object
Dim objOutlookAttach As Object

' "Rule 3": Define all instrinsic constants used from the specific object
model
Const olMailItem As Long = 0
Const olTo As Long = 1
Const olCC As Long = 2
Const olBCC As Long = 3
Const olImportanceHigh As Long = 2

' "Rule 2": Use CreateObject (which, you'll see, the original already did)
' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")

' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
' Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
objOutlookRecip.Type = olTo

' Add the CC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Michael Suyama")
objOutlookRecip.Type = olCC

' Add the BCC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
objOutlookRecip.Type = olBCC

' Set the Subject, Body, and Importance of the message.
.Subject = "This is an Automation test with Microsoft Outlook"
.Body = "This is the body of the message." &vbCrLf & vbCrLf
.Importance = olImportanceHigh 'High importance

' Add attachments to the message.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

' Resolve each Recipient's name.
For Each ObjOutlookRecip In .Recipients
objOutlookRecip.Resolve
Next

' Should we display the message before sending?
If DisplayMsg Then
.Display
Else
.Save
.Send
End If
End With
Set objOutlook = Nothing

End Sub

or

Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object
Dim objOutlookAttach As Object

' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")

' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(0)

With objOutlookMsg
' Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
objOutlookRecip.Type = 1

' Add the CC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Michael Suyama")
objOutlookRecip.Type = 2

' Add the BCC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
objOutlookRecip.Type = 3

' Set the Subject, Body, and Importance of the message.
.Subject = "This is an Automation test with Microsoft Outlook"
.Body = "This is the body of the message." &vbCrLf & vbCrLf
.Importance = 2 'High importance

' Add attachments to the message.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

' Resolve each Recipient's name.
For Each ObjOutlookRecip In .Recipients
objOutlookRecip.Resolve
Next

' Should we display the message before sending?
If DisplayMsg Then
.Display
Else
.Save
.Send
End If
End With
Set objOutlook = Nothing
End Sub
--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)
"ARC" <PC*****@PCESoft.invalidwrote in message
news:EZ***************@newssvr22.news.prodigy.net. ..
That sounds interesting! I've seen late-binding code for open file's, and
fonts, etc., but never have seen the code for late binding on Outlook. Do
you have a link, Tony? Many thanks,

Andy
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:34********************************@4ax.com...
>"Phil Reynolds" <ph*******@msn.comwrote:
>>>I realize I could use late binding. But the code's already written, and
I'd
prefer not to have rewrite everything -- at least not at this point.

FWIW Late Binding should only take ten minutes or half hour per
instance of using the Word or Outlook libraries to implement. And
it's quite stable. I have many clients running an app with late
binding to Outlook and I know they don't have Outlook installed.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/

Sep 25 '07 #11

P: n/a
Phil Reynolds wrote:
Thanks for that. But I'm a bit confused. They don't have Outlook
installed? I assume you're saying that they can run the app on a
machine without Outlook installed, but they can't actually use the
functions that use Outlook, right?
Correct. If they don't have Outlook installed with late binding your Outlook
code does not work. If they don't have Outlook installed with early binding the
whole application often does not work. The latter is obviously preferable.
--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com
Sep 25 '07 #12

P: n/a
On Sep 24, 7:22 pm, "Phil Reynolds" <philr2...@msn.comwrote:
I realize I could use late binding. But the code's already written, and I'd
prefer not to have rewrite everything -- at least not at this point.
This would might take thirty seconds, but not more than sixty!
You'd rather have your client screw around with misdirected
references?

Sep 25 '07 #13

P: n/a
Rick Brandt wrote:
Phil Reynolds wrote:
>Thanks for that. But I'm a bit confused. They don't have Outlook
installed? I assume you're saying that they can run the app on a
machine without Outlook installed, but they can't actually use the
functions that use Outlook, right?

Correct. If they don't have Outlook installed with late binding your
Outlook code does not work. If they don't have Outlook installed
with early binding the whole application often does not work. The
latter is obviously preferable.
^^^^^
former
--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com


Sep 25 '07 #14

P: n/a
"ARC" <PC*****@PCESoft.invalidwrote:
>That sounds interesting! I've seen late-binding code for open file's, and
fonts, etc., but never have seen the code for late binding on Outlook. Do
you have a link, Tony?
"Late Binding in Microsoft Access" page at
http://www.granite.ab.ca/access/latebinding.htm

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 25 '07 #15

P: n/a
"Phil Reynolds" <ph*******@msn.comwrote:
>Thanks for that. But I'm a bit confused. They don't have Outlook installed?
I assume you're saying that they can run the app on a machine without
Outlook installed, but they can't actually use the functions that use
Outlook, right?
Correct. And they don't get any reference errors or other such
problems.

Also this comes in very handy when part of your network has upgraded
to a newer version of Office/Outlook and part is still on the old
version.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 25 '07 #16

P: n/a
Got it. Thanks!

"Rick Brandt" <ri*********@hotmail.comwrote in message
news:RB******************@newssvr13.news.prodigy.n et...
Rick Brandt wrote:
>Phil Reynolds wrote:
>>Thanks for that. But I'm a bit confused. They don't have Outlook
installed? I assume you're saying that they can run the app on a
machine without Outlook installed, but they can't actually use the
functions that use Outlook, right?

Correct. If they don't have Outlook installed with late binding your
Outlook code does not work. If they don't have Outlook installed
with early binding the whole application often does not work. The
latter is obviously preferable.
^^^^^
former
--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com


Sep 26 '07 #17

P: n/a
Really, sixty seconds? Maybe for extremely simple code. But I understand
your point. Thanks.

"lyle" <ly************@gmail.comwrote in message
news:11**********************@o80g2000hse.googlegr oups.com...
On Sep 24, 7:22 pm, "Phil Reynolds" <philr2...@msn.comwrote:
>I realize I could use late binding. But the code's already written, and
I'd
prefer not to have rewrite everything -- at least not at this point.

This would might take thirty seconds, but not more than sixty!
You'd rather have your client screw around with misdirected
references?

Sep 26 '07 #18

P: n/a
Phil Reynolds wrote:
Really, sixty seconds? Maybe for extremely simple code. But I
understand your point. Thanks.
In most cases it really is a matter of changing just a few lines of code.
Until a routine has hit a certain level of "maturity" I usually have both
the early and late binding lines in the code with one set commented out.
That makes it easy to switch back and forth.

The use of intrinsic constants is really the biggest headach, but the beauty
of it is that once you remove the reference for early binding the compiler
will easily point out all of the constants it doesn't understand so they can
easily be dealt with. You don;t have to worry about missing one because the
code won;t compile until you deal with all of them.

--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com
Sep 26 '07 #19

P: n/a
What I meant was that I have code spread throughout the application that
uses it, so it's not a question of just changing a few lines in one routine,
but, rather, going through many routines and making changes. That's why I
said a few seconds just for very simple code. .

"Rick Brandt" <ri*********@hotmail.comwrote in message
news:Gn***************@newssvr14.news.prodigy.net. ..
Phil Reynolds wrote:
>Really, sixty seconds? Maybe for extremely simple code. But I
understand your point. Thanks.

In most cases it really is a matter of changing just a few lines of code.
Until a routine has hit a certain level of "maturity" I usually have both
the early and late binding lines in the code with one set commented out.
That makes it easy to switch back and forth.

The use of intrinsic constants is really the biggest headach, but the
beauty of it is that once you remove the reference for early binding the
compiler will easily point out all of the constants it doesn't understand
so they can easily be dealt with. You don;t have to worry about missing
one because the code won;t compile until you deal with all of them.

--
Rick Brandt, Microsoft Access MVP
Email (as appropriate) to...
RBrandt at Hunter dot com

Sep 26 '07 #20

P: n/a
"Phil Reynolds" <ph*******@msn.comwrote:
>What I meant was that I have code spread throughout the application that
uses it, so it's not a question of just changing a few lines in one routine,
but, rather, going through many routines and making changes. That's why I
said a few seconds just for very simple code. .
Well, now is a good time to package all that code into a subroutine in
a module and pass the various arguments to that subroutine.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 27 '07 #21

P: n/a
AnandaSim <An*******@gmail.comwrote:
>In this day and age, the cost of acquiring a second physical machine
and software is VERY LOW compared to when we started in 1990 or 1985.
The cost of running a virtual machine is even lower as long as you
have enough RAM and hard disk space.
There are some of us who started before 1985. My four year old Palm has much more
RAM than the first computers hard drives that I worked on. Hmm, no, actually the
one IBM 5110 system had 2 8" floppies while the S/34 had a 8.6 Mb hard drive so it is
slightly bigger than my four year old Palms 8 Mb of RAM. And the S/34 was larger
than a chest freezer.

However Larry Linson, and a few others, predate me by about twenty years

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 27 '07 #22

P: n/a
Well, obviously, I have a subroutine for opening Word, for example, which
would be simple to change. What I'm saying is that there are routines
scattered throughout the app that *use* Word for various things, in
different ways. Those routines would have to be gone through one-by-one and
the intrinsic constants changed to my own constants (and then each routine
tested). Not a terribly huge task; but more than 60 seconds. That was my
original point.

"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:ih********************************@4ax.com...
"Phil Reynolds" <ph*******@msn.comwrote:
>>What I meant was that I have code spread throughout the application that
uses it, so it's not a question of just changing a few lines in one
routine,
but, rather, going through many routines and making changes. That's why I
said a few seconds just for very simple code. .

Well, now is a good time to package all that code into a subroutine in
a module and pass the various arguments to that subroutine.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/

Sep 27 '07 #23

P: n/a
On Sep 27, 1:49 pm, "Tony Toews [MVP]" <tto...@telusplanet.netwrote:
There are some of us who started before 1985. My four year old Palm has much more
I started work in 1981 - my first "PC" hung from my waist - it was a
HP-41CV. That gave way to a CASIO FX calculator running CASIO BASIC
with which we formulated recipes saving several millions of dollars
every year.
slightly bigger than my four year old Palms 8 Mb of RAM. And the S/34 was larger
than a chest freezer.
I was in manufacturing and wanted product stats. So I took our daily
test results and went to see the IT Manager who ran the IBM S/34 - he
asked me to fill out a request form and I would have my data entered
and analysed. I was so aghast, in a couple of years, I managed to get
an Acer MS-DOS PC and promptly put it on my desk - the other managers
looked down their nose at me - the only other PC of similar ilk was
the MD's secretary's CPM/80 WP.

Regardless, I ran Paradox/DOS happily with Lotus Symphony and Borland
Reflex for several years.
>
However Larry Linson, and a few others, predate me by about twenty years
Gasp! That explains some of the angles behind the thinking in these
contributions.

We've been on Access for a long time now - I see some others like Mike
Gunderloy have bridged to .NET and even now gone to Ruby On Rails.
But coming back to my remark about the cheapness of getting a platform
- I remember being quite active in this group circa Y 2000.

At that time, PCs still cost enough not to buy 2 unless you were
seriously, seriously keen.

At Y 2007 prices - ah, even low end PCs are more than capable of
running Microsoft Office - a low end practicable notebook can be had
for AUD 800 - that can be used as a dev / eval / test platform . Or
for a desktop PC, you buy some RAM so that you have 2Gb, a huge 320Gb
HD for AUD 150 or less, and you can run Virtual PC - again to do more
testing. Yes, you have to pay for an extra licence of Windows and
Office but again the cost of these software, although not $0 like Open
Office and Linux, is still not a great barrier esp if you are doing
bread and butter things with PCs.

Sep 27 '07 #24

P: n/a
lyle <ly************@gmail.comwrote:
>Below is a list but you might want to add or remove items:
That's a pretty impressive list. Any idea how to get such a list of other products
such as Excel or Outlook easily?

Mind you I just figure out the constants when I compile the code and such. And
usually I only need two or five or ten or so so it's not a big deal.

Ton
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 28 '07 #25

P: n/a
AnandaSim <An*******@gmail.comwrote:
>slightly bigger than my four year old Palms 8 Mb of RAM. And the S/34 was larger
than a chest freezer.

I was in manufacturing and wanted product stats. So I took our daily
test results and went to see the IT Manager who ran the IBM S/34 - he
asked me to fill out a request form and I would have my data entered
and analysed. I was so aghast,
Actually I can see that. It takes a fair bit more work just to setup a single table
on a S/34. Hmm, although you could've been given DFU (Data File Utility) to enter
data. A form and RPG program could take you quite a while to design compared to
todays tools.
>However Larry Linson, and a few others, predate me by about twenty years
Gasp! That explains some of the angles behind the thinking in these
contributions.
<smile Ayup.
>We've been on Access for a long time now - I see some others like Mike
Gunderloy have bridged to .NET and even now gone to Ruby On Rails.
Let them. I still very much like Access.
>At Y 2007 prices - ah, even low end PCs are more than capable of
running Microsoft Office - a low end practicable notebook can be had
for AUD 800 - that can be used as a dev / eval / test platform .
Yup, I've been using a laptop as my primary platform for development, email and
newsgroups for three or four years now. Before that just for email, newsgroups and
misc.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 28 '07 #26

P: n/a
On Sep 28, 10:23 am, "Tony Toews [MVP]" <tto...@telusplanet.net>
wrote:
lyle <lyle.fairfi...@gmail.comwrote:
Below is a list but you might want to add or remove items:

That's a pretty impressive list. Any idea how to get such a list of other products
such as Excel or Outlook easily?
I was just thinking the same.

http://support.microsoft.com/kb/112671

for Office 97.

I just grabbed WD, XL constants from the relevant MSDN webpages and
put them into Excel, removed floating objects but now have to iterate
through the list to clean up the layout.

I was wondering whether VBA or .NET interop could enum the enums.

Ananda

Sep 28 '07 #27

P: n/a
Not valid anymore

Pieter

"AnandaSim" <An*******@gmail.comwrote in message
news:11**********************@k79g2000hse.googlegr oups.com...
On Sep 28, 10:23 am, "Tony Toews [MVP]" <tto...@telusplanet.net>
wrote:
>lyle <lyle.fairfi...@gmail.comwrote:
>Below is a list but you might want to add or remove items:

That's a pretty impressive list. Any idea how to get such a list of
other products
such as Excel or Outlook easily?

I was just thinking the same.

http://support.microsoft.com/kb/112671

for Office 97.

I just grabbed WD, XL constants from the relevant MSDN webpages and
put them into Excel, removed floating objects but now have to iterate
through the list to clean up the layout.

I was wondering whether VBA or .NET interop could enum the enums.

Ananda

Sep 28 '07 #28

P: n/a
On Sep 28, 8:20 pm, "Pieter Wijnen"
<it.isi.llegal.to.send.unsollicited.mail.wijnen.no spam.ple...@online.replace.with.norway>
wrote:
Not valid anymore
I beg to differ. I just took a random one:

wdAlignPageNumberCenter

and checked the Object Browser in Word 2007 - it's still there.

They are subsets but they are not invalid.

Worth finding more comprehensive sets though.

Regards

Ananda

Sep 28 '07 #29

P: n/a
I was referring to the kb article, the download file is no longer there
should have been clearer

Pieter

"AnandaSim" <An*******@gmail.comwrote in message
news:11**********************@o80g2000hse.googlegr oups.com...
On Sep 28, 8:20 pm, "Pieter Wijnen"
<it.isi.llegal.to.send.unsollicited.mail.wijnen.no spam.ple...@online.replace.with.norway>
wrote:
>Not valid anymore

I beg to differ. I just took a random one:

wdAlignPageNumberCenter

and checked the Object Browser in Word 2007 - it's still there.

They are subsets but they are not invalid.

Worth finding more comprehensive sets though.

Regards

Ananda

Sep 28 '07 #30

P: n/a
On Sep 28, 10:07 pm, "Pieter Wijnen"
<it.isi.llegal.to.send.unsollicited.mail.wijnen.no spam.ple...@online.replace.with.norway>
wrote:
I was referring to the kb article, the download file is no longer there

It's still there. I downloaded the file earlier today to have a look
and again less than half an hour ago to test because I am on a
different machine.

Kindest regards

Ananda

Sep 28 '07 #31

P: n/a
weird, I tried it twice
Will check on a different machine etc

Pieter
"AnandaSim" <An*******@gmail.comwrote in message
news:11**********************@50g2000hsm.googlegro ups.com...
On Sep 28, 10:07 pm, "Pieter Wijnen"
<it.isi.llegal.to.send.unsollicited.mail.wijnen.no spam.ple...@online.replace.with.norway>
wrote:
>I was referring to the kb article, the download file is no longer there


It's still there. I downloaded the file earlier today to have a look
and again less than half an hour ago to test because I am on a
different machine.

Kindest regards

Ananda

Sep 28 '07 #32

P: n/a
ARC
Thanks, Douglas!

This code worked like a charm. I updated all the code for outlook to late
binding, and added the error checks for err=429.

Thanks so much, now if we could only find late biding for that pesky
tree-view control, good old comctl32.ocx!

Andy

Sep 29 '07 #33

P: n/a
"ARC" <PC*****@PCESoft.invalidwrote:
>Thanks so much, now if we could only find late biding for that pesky
tree-view control, good old comctl32.ocx!
I've been watching for this one for about six or seven years now.
There is a German commented version where you can purchase the source
code done in API calls. But that's all I'm aware of.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 29 '07 #34

P: n/a
ARC
Hey Tony,

I'm guessing for those of us unfortunate enough to go with a tree-view
control, we're SOL. Hopefully comctl32.ocx is nice to us, at least more nice
than things like common dialogs, fonts, etc. In my case, I use the tree-view
for part categories, so user's can categorize their parts and create their
own categories, and sub-categories (I limit to about 4 deep in the tree, as
the code was a royal pain).

Take care,

Andy
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:s4********************************@4ax.com...
"ARC" <PC*****@PCESoft.invalidwrote:
>>Thanks so much, now if we could only find late biding for that pesky
tree-view control, good old comctl32.ocx!

I've been watching for this one for about six or seven years now.
There is a German commented version where you can purchase the source
code done in API calls. But that's all I'm aware of.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Sep 29 '07 #35

P: n/a
ARC
Ok, first gotcha with my 2007 install, dealing with the good old tree-view
active x. I have a user with the following:

"Windows 2003 R2 with SP2 running terminal services and connecting via
Citrix Presentation Server 4.5 Hotfix rollup 1"

On my install, I have the file: cmctrl32.ocx installing to: %Sys32%, which
should be the windows\system dir. He's getting an error 438, object doesn't
support this property or method when he loads the screen that has the
treeview control.

Any ideas? The only thing I really changed in my installation script, was I
used to install the file to c:\windows\, but changed it to the windows
system folder.

Sure is too bad there's not a late binding solution for the tree-view. And I
can't think of a great alternative to having part categories with
sub-categories... :(

Andy

Sep 30 '07 #36

P: n/a
"ARC" <PC*****@PCESoft.invalidwrote:
>I'm guessing for those of us unfortunate enough to go with a tree-view
control, we're SOL. Hopefully comctl32.ocx is nice to us, at least more nice
than things like common dialogs, fonts, etc.
FWIW, you may already know this, there are replacements for all those other uses of
the MS supplied OCXs.

How do you get rid of troublesome ActiveX Controls/references?
http://www.granite.ab.ca/access/referencetroubles.htm
>In my case, I use the tree-view
for part categories, so user's can categorize their parts and create their
own categories, and sub-categories (I limit to about 4 deep in the tree, as
the code was a royal pain).
Yes, that would be slightly ugly. I'd use the treeview logic a *lot* if it didn't
depend on an OCX.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Oct 1 '07 #37

P: n/a
"ARC" <PC*****@PCESoft.invalidwrote:
>Sure is too bad there's not a late binding solution for the tree-view. And I
can't think of a great alternative to having part categories with
sub-categories... :(
In similar situations I've used continuous forms with drill downs. That is a
continuous form showing all categories, then another form based on the category shown
with a continuous subform off all the sub-categories and so forth.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Oct 1 '07 #38

P: n/a
ARC
Hey Tony,

I had 2 more posts below regarding a problem with treeview on the app I just
released for testing. Can you have a look?

Unfortunately, I can't even duplicate the error because I can't get Common
Controls 6 to load, even if I install the office 2000 developer ocx's.

Thanks!

"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:in********************************@4ax.com...
"ARC" <PC*****@PCESoft.invalidwrote:
>>I'm guessing for those of us unfortunate enough to go with a tree-view
control, we're SOL. Hopefully comctl32.ocx is nice to us, at least more
nice
than things like common dialogs, fonts, etc.

FWIW, you may already know this, there are replacements for all those
other uses of
the MS supplied OCXs.

How do you get rid of troublesome ActiveX Controls/references?
http://www.granite.ab.ca/access/referencetroubles.htm
>>In my case, I use the tree-view
for part categories, so user's can categorize their parts and create their
own categories, and sub-categories (I limit to about 4 deep in the tree,
as
the code was a royal pain).

Yes, that would be slightly ugly. I'd use the treeview logic a *lot* if
it didn't
depend on an OCX.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Oct 1 '07 #39

P: n/a
"ARC" <PC*****@PCESoft.invalidwrote:
>I'll check it out, thanks, Tony! I guess in the short-term, I could update
my install .exe to always replace comctrl32.ocx, regardless of teh version,
to ensure that they have the same one that the developer has.
Not a good idea as you may break some other app.
>I was thinking back to the DOS days, and how you would set Path's in the
autoexec.bat. Based on the following I found on references, I wonder if I
should try installing comctrl32.ocx to the folder that my program is
launched from? It seems it there is a way to guarantee that my development
version of comtrl32.ocx will be the one that is used, the problem would be
solved:
Oh yes, there is a procedure that might work. But I forget the
details. MS added something to Windows XP along those lines.
Creating a zero byte file the same name as your OCX but with an
extension .local?

Nope, that won't work in this situation as this is an MDB we're
dealing with.
DLL/COM Redirection on Windows
http://msdn2.microsoft.com/en-us/library/Aa375142.aspx

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Oct 1 '07 #40

P: n/a
I had an HP-41C! I loved that thang! RPN and all. That was the first thing I
ever programmed, doing one line at a time on that screen. I remember I
brought it to college and used it in chem lab to input some readings and run
them through an algorithm or whatever. I loved that thang!

"AnandaSim" <An*******@gmail.comwrote in message
news:11*********************@y42g2000hsy.googlegro ups.com...
On Sep 27, 1:49 pm, "Tony Toews [MVP]" <tto...@telusplanet.netwrote:
>There are some of us who started before 1985. My four year old Palm has
much more

I started work in 1981 - my first "PC" hung from my waist - it was a
HP-41CV. That gave way to a CASIO FX calculator running CASIO BASIC
with which we formulated recipes saving several millions of dollars
every year.
>slightly bigger than my four year old Palms 8 Mb of RAM. And the S/34
was larger
than a chest freezer.

I was in manufacturing and wanted product stats. So I took our daily
test results and went to see the IT Manager who ran the IBM S/34 - he
asked me to fill out a request form and I would have my data entered
and analysed. I was so aghast, in a couple of years, I managed to get
an Acer MS-DOS PC and promptly put it on my desk - the other managers
looked down their nose at me - the only other PC of similar ilk was
the MD's secretary's CPM/80 WP.

Regardless, I ran Paradox/DOS happily with Lotus Symphony and Borland
Reflex for several years.
>>
However Larry Linson, and a few others, predate me by about twenty years

Gasp! That explains some of the angles behind the thinking in these
contributions.

We've been on Access for a long time now - I see some others like Mike
Gunderloy have bridged to .NET and even now gone to Ruby On Rails.
But coming back to my remark about the cheapness of getting a platform
- I remember being quite active in this group circa Y 2000.

At that time, PCs still cost enough not to buy 2 unless you were
seriously, seriously keen.

At Y 2007 prices - ah, even low end PCs are more than capable of
running Microsoft Office - a low end practicable notebook can be had
for AUD 800 - that can be used as a dev / eval / test platform . Or
for a desktop PC, you buy some RAM so that you have 2Gb, a huge 320Gb
HD for AUD 150 or less, and you can run Virtual PC - again to do more
testing. Yes, you have to pay for an extra licence of Windows and
Office but again the cost of these software, although not $0 like Open
Office and Linux, is still not a great barrier esp if you are doing
bread and butter things with PCs.

Oct 4 '07 #41

P: n/a
ARC
Tony,

I now have the treeview running spot-on with MSComctrl.ocx. And it now
works perfectly on beta-testers machines, so that is great news. Have you
found any great tricks with the treeviews? I set mine up with the Linestyle1
rwRootLines, and just the plusMinusText. I make the indentation about 200,
as the default of 500 is too much for narrow fields. Did you every try using
the graphics, or the edits? I suppose I could let them change the label, and
then just edit the part description, however, in multi-user, the admin's
probably wouldnt' like user's messing up the descriptions, so I just disable
that.

Take care,

Andy
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:in********************************@4ax.com...
"ARC" <PC*****@PCESoft.invalidwrote:
>>I'm guessing for those of us unfortunate enough to go with a tree-view
control, we're SOL. Hopefully comctl32.ocx is nice to us, at least more
nice
than things like common dialogs, fonts, etc.

FWIW, you may already know this, there are replacements for all those
other uses of
the MS supplied OCXs.

How do you get rid of troublesome ActiveX Controls/references?
http://www.granite.ab.ca/access/referencetroubles.htm
>>In my case, I use the tree-view
for part categories, so user's can categorize their parts and create their
own categories, and sub-categories (I limit to about 4 deep in the tree,
as
the code was a royal pain).

Yes, that would be slightly ugly. I'd use the treeview logic a *lot* if
it didn't
depend on an OCX.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Oct 5 '07 #42

P: n/a
"ARC" <PC*****@PCESoft.invalidwrote:
>I now have the treeview running spot-on with MSComctrl.ocx. And it now
works perfectly on beta-testers machines, so that is great news. Have you
found any great tricks with the treeviews? I set mine up with the Linestyle1
rwRootLines, and just the plusMinusText. I make the indentation about 200,
as the default of 500 is too much for narrow fields. Did you every try using
the graphics, or the edits?
No to both. I just adjacent fields.
Create Families from Volunteers User Interface
http://www.granite.ab.ca/access/familiesui.htm

Oh, I set all the treeview properties in code. I right click the tree
view and play with the properties until it looks like what I want.
But then I record them as I go along and set them up on the Form Open
event. Thus if I have to delete the treeview control and insert it
again the code handles that. That was back in A97 days so maybe
things are stabler these days.

There is one trick if you need to clear all the nodes.

nodes.clear can get real slow when dealing with lots of nodes. Try
turning the form's visibility off, do the clear method and turn the
form's visibility back on. Or possibly the painting property.

If you turn the tree control's visibility off, Access will GPF. (Not
sure what version of Access or the Treeview control)

Tom Mapp said "I just set the root node expansion to false, prior to
clearing.".

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Oct 5 '07 #43

P: n/a

"ARC" <PC*****@PCESoft.invalid????
news:h7****************@newssvr22.news.prodigy.net ...
Tony,

I now have the treeview running spot-on with MSComctrl.ocx. And it now
works perfectly on beta-testers machines, so that is great news. Have you
found any great tricks with the treeviews? I set mine up with the
Linestyle1
rwRootLines, and just the plusMinusText. I make the indentation about 200,
as the default of 500 is too much for narrow fields. Did you every try
using
the graphics, or the edits? I suppose I could let them change the label,
and
then just edit the part description, however, in multi-user, the admin's
probably wouldnt' like user's messing up the descriptions, so I just
disable
that.

Take care,

Andy
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:in********************************@4ax.com...
"ARC" <PC*****@PCESoft.invalidwrote:
>I'm guessing for those of us unfortunate enough to go with a tree-view
control, we're SOL. Hopefully comctl32.ocx is nice to us, at least more
nice
than things like common dialogs, fonts, etc.
FWIW, you may already know this, there are replacements for all those
other uses of
the MS supplied OCXs.

How do you get rid of troublesome ActiveX Controls/references?
http://www.granite.ab.ca/access/referencetroubles.htm
>In my case, I use the tree-view
for part categories, so user's can categorize their parts and create
their
>own categories, and sub-categories (I limit to about 4 deep in the tree,
as
the code was a royal pain).
Yes, that would be slightly ugly. I'd use the treeview logic a *lot* if
it didn't
depend on an OCX.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/

Oct 8 '07 #44

P: n/a

"ARC" <PC*****@PCESoft.invalid????
news:h7****************@newssvr22.news.prodigy.net ...
Tony,

I now have the treeview running spot-on with MSComctrl.ocx. And it now
works perfectly on beta-testers machines, so that is great news. Have you
found any great tricks with the treeviews? I set mine up with the
Linestyle1
rwRootLines, and just the plusMinusText. I make the indentation about 200,
as the default of 500 is too much for narrow fields. Did you every try
using
the graphics, or the edits? I suppose I could let them change the label,
and
then just edit the part description, however, in multi-user, the admin's
probably wouldnt' like user's messing up the descriptions, so I just
disable
that.

Take care,

Andy
"Tony Toews [MVP]" <tt****@telusplanet.netwrote in message
news:in********************************@4ax.com...
"ARC" <PC*****@PCESoft.invalidwrote:
>I'm guessing for those of us unfortunate enough to go with a tree-view
control, we're SOL. Hopefully comctl32.ocx is nice to us, at least more
nice
than things like common dialogs, fonts, etc.
FWIW, you may already know this, there are replacements for all those
other uses of
the MS supplied OCXs.

How do you get rid of troublesome ActiveX Controls/references?
http://www.granite.ab.ca/access/referencetroubles.htm
>In my case, I use the tree-view
for part categories, so user's can categorize their parts and create
their
>own categories, and sub-categories (I limit to about 4 deep in the tree,
as
the code was a royal pain).
Yes, that would be slightly ugly. I'd use the treeview logic a *lot* if
it didn't
depend on an OCX.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/

Oct 8 '07 #45

P: n/a
ŶŶŶ
Oct 8 '07 #46

P: n/a
abcdefghijklmnopqrstuvwxyz
Oct 8 '07 #47

This discussion thread is closed

Replies have been disabled for this discussion.