Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?
From: Peter Jamieson (pjj_at_KillmapSpjjnet.demon.co.uk)
Date: 09/02/04
- Previous message: Graham Mayor: "Re: MailMerge from Word using Outlook Contacts."
- In reply to: Tony_VBACoder: "Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?"
- Next in thread: Tony_VBACoder: "Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?"
- Reply: Tony_VBACoder: "Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 2 Sep 2004 09:32:28 +0100
FWIW,
a. for parameter queries, you have to use DDE because it is Access that
displays the pop-ups that solicit the parameter values from the user, and
DDE is the only connection method that actually starts Access.
b. although you can /probably/ specify the access mode Word will use when
using a .udl, .odc or ODBC Connection parameter in VBA (there is a tab for
this in the Datalink editor),
- it obviously won't help if someone else is opening the database in an
incompatible sharing mode (e.g. some sort of exclsive access mode)
- I get the impression that by default, when Word connects to a .mdb
using OLEDB, it uses a more exclusive mode than it really should. I'm not
completely convinced that anything you specify in a .odc will change that.
But I don't know the facts on that one.
-- Peter Jamieson "Tony_VBACoder" <anonymous@discussions.microsoft.com> wrote in message news:45bf01c49065$3edfd690$a501280a@phx.gbl... > Peter, thanks for all your help. > > I was able to find the MS Query button and locate my > correct Query, and everything is working great. > > There are still a couple of other issues that I am running > into in terms of wanting to pull data from a Parameter > Query in Access, and I am also running into the "The > Database has been placed in a state by user 'bob' on > machine 'mach123' that prevents it from being opened or > locked" error. But I will be posting these as separate > issues as soon as I do a little more testing so that I can > properly post what is going on. > > Thanks again. > > > >-----Original Message----- > >> Here, you first said that I should go the ODBC route if > I > >> want to get this to work in both Word 2000 and Word > 2002, > >> but then you go onto say that an "ODBC connection set up > >> in Word 2000 are discarded when you open the .doc in > Word > >> 2002". I am a little confused here. Will this method > >> (ODBC) work in both Word 2000 and Word 2002? > > > >WHat I mean is that the OLEDB connection is simply not > available in Word > >2000. So the only option (other than DDE) that will work > in both is ODBC. > >However, that does not mean that Word 2002 will correctly > recognise an ODBC > >data source which has been set up in Word 2000 and vice > versa. So... > > > >> I will be > >> needing this work with both versions, where I will > >> probably end of creating the final Word Mail Merge .doc > >> using Word 2000 because about 90% of the users have > Office > >> 2000, whereas the rest of Office XP (Word 2002). > > > >....you /may/ need to create Word 2000 and Word 2002 > versions of each mail > >merge app. I can't remember off the top of my head so you > will need to > >check. I would also take a bit of time to ensure that > your users can do what > >they need - e.g. if they need to apply their own > filters/sorting, you may > >need to confirm that this approach allows them to do so. > > > >> In regards to using ODBC, you mentioned "Unfortunately, > >> the route you have taken in your example actually uses > >> OLEDB, using the ODBC provider for OLEDB". If I wanted > to > >> use the ODBC method, what should I have done so that I > can > >> be certain that I am using the OLEDB method? > > > >Assuming you meant "certain that I am using the ODBC > method", then you > >either need to go via MS Query, or go the VBA > OpenDataSource route, or check > >Word Tools|Options|General|"Confirm conversions at open", > go through the > >Select Data Source dialog, pick your .mdb, then select > the User/System DSN > >from the list of possible connection options. If you > don't see it there, you > >will need to use MS Query or VBA. > > > >-- > >Peter Jamieson > > > >"Tony_VBACoder" <anonymous@discussions.microsoft.com> > wrote in message > >news:010001c4904a$5f303130$a401280a@phx.gbl... > >> Peter, thank you for all your insight...it will take me > a > >> little while to absorb it and test it out with both Word > >> 2000 and 2002. I do have one question in regards to > >> something you mentioned: > >> > >> > First, if you want to connect the same way in Word > 2000 > >> and Word 2002, you have to use ODBC (or the old DDE > >> method).....But in addition, you may find that ODBC > >> connections set up in Word 2000 are discarded when you > >> open the .doc in WOrd 2002 and/or vice versa. > >> > >> Here, you first said that I should go the ODBC route if > I > >> want to get this to work in both Word 2000 and Word > 2002, > >> but then you go onto say that an "ODBC connection set up > >> in Word 2000 are discarded when you open the .doc in > Word > >> 2002". I am a little confused here. Will this method > >> (ODBC) work in both Word 2000 and Word 2002? I will be > >> needing this work with both versions, where I will > >> probably end of creating the final Word Mail Merge .doc > >> using Word 2000 because about 90% of the users have > Office > >> 2000, whereas the rest of Office XP (Word 2002). > >> > >> In regards to using ODBC, you mentioned "Unfortunately, > >> the route you have taken in your example actually uses > >> OLEDB, using the ODBC provider for OLEDB". If I wanted > to > >> use the ODBC method, what should I have done so that I > can > >> be certain that I am using the OLEDB method? > >> > >> Thanks > >> > >> > >> >-----Original Message----- > >> >> Question: Is this the proper way of getting a Word > >> >> Document to connect to a Secured Access Database, by > >> >> having to create a separate Connection File for each > >> Mail > >> >> Merge Letter I am wanting to create? > >> > > >> >IMO there is no "proper" way. At best, there may be a > way > >> that works for > >> >your application and minimises problems if you need to > >> distribute your > >> >solution to mutliple systems. > >> > > >> >There are a number of issues here and unfortunately I > >> don't think I can give > >> >you reliable suggestions in all cases, but here goes. > >> > > >> >First, if you want to connect the same way in Word 2000 > >> and Word 2002, you > >> >have to use ODBC (or the old DDE method). OLEDB is only > >> supported in Word > >> >2002 and later. Unfortunately, the route you have taken > >> in your example > >> >actually uses OLEDB, using the ODBC provider for OLEDB. > >> Any connection that > >> >uses a .odc (or .udl, as we will see) is actually using > >> OLEDB. So those > >> >connections won't work with Word 2000. But in addition, > >> you may find that > >> >ODBC connections set up in Word 2000 are discarded when > >> you open the .doc in > >> >WOrd 2002 and/or vice versa. > >> > > >> >> This brings up the "Select Data Source" dialog box. > >> Here, > >> >> the "My Data Sources" is selected in the "Look in:" > >> combo > >> >> box and all my ODBC entries are showing EXCEPT my > newly > >> >> created Access ODBC entry I created in my above steps > >> (a- > >> > > >> >The reason (probably) that some ODBC entries appear > here > >> and some do not is > >> >that there are three types of ODBC DSN, as follows: > >> > > >> >FIle DSNs: these are just text files in "INI" format > that > >> contain the > >> >connection information you provided in the ODBC > >> administrator. Typically > >> >they have a .dsn extension. These are probably the ones > >> you can see > >> > > >> >Machine DSNs: these DSNs are not stored in text files. > >> They are stored in > >> >the Windows registry, so I do not think you will see > them > >> listed in "My Data > >> >Sources". There are two types of Machine DSN: > >> > a. User DSNs. These are intended to be visible to a > >> single user on a > >> >machine which may have several different users. They > are > >> stored in the > >> >per-user part of the registry. > >> > b. System DSNs (the type you created). These are > >> intended to be visible to > >> >all users on a particular machine. > >> > > >> >Neither Word 2000 nor Word 2002, as far as I know, lets > >> you open a .dsn file > >> >directly (in the Open/Select Data Source dialog box). > >> Word just tries to get > >> >the data directly from the .dsn file, not from the > >> database it refers to. If > >> >you are trying to open a file data source such as > a .mdb > >> in Word 2000, you > >> >can select the .mdb in the Open Data Source dialog, > >> check "Select method", > >> >and click Open. If the DSN is a Machine DSN you will > >> probably see it in the > >> >list of connection methods. Otherwise, you have to use > MS > >> Query to select > >> >the DSN (of any type) and set up the connection. You > can > >> do the same in Word > >> >2002, although MS Query is a little harder to find - > it's > >> on the Tools menu > >> >in the top right hand corner of the Select Data Source > >> dialog. (You may also > >> >find you need to install MS Query to get what you > want). > >> > > >> >In both Word 2000 and 2002, you should only need one > DSN > >> to allow you to use > >> >all the tables and queries in your database that are > >> accessible via ODBC. > >> >But you will need to go through the MS Query route to > >> choose the table/query > >> >or define your own. > >> > > >> >An alternative to all this is to write, or macro > record, > >> a short macro > >> >containing an OpenDataSource command that uses an ODBC > >> connection string in > >> >the Connection parameter. Then you have to work out the > >> corrct SQL to get > >> >the data you want, and insert it in the SQLStatement > >> parameter, then run the > >> >macro. You will find examples I've posted if you search > >> this newsgroup, e.g. > >> >using Google. One of the problems here is that Word > 2002 > >> requires an > >> >additional parameter (Subtype) if you want to connect > via > >> ODBC. > >> > > >> >If you are /only/ concerned with Word 2002 and prefer > to > >> use OLEDB, there > >> >are a couple of ways you can proceed without creating > an > >> ODBC DSN. > >> > a. use a .udl file. If you create a Notepad (.txt) > file > >> and rename it to > >> >something.udl, then double-click on the file name, you > >> should see the > >> >Datalink editor. This is like, if not identical to, the > >> editor you used to > >> >select your DSN in your point 2. However, > >> > a. in the Provider tab, select the Jet provider rather > >> than the ODBC > >> >provider > >> > b. in the Connection tab, you may need to check Blank > >> password and Allow > >> >saving password > >> > c. in the All tab, you will need to edit the valueJet > >> OLEDB:System databse > >> >to be the pathname of your workgroup file. > >> > d. When you click OK, you do not see the questions > that > >> come at the end of > >> >the dialog you used to set up your .odc > >> > > >> >If you select this file as your data source, you should > >> be presented with a > >> >list of tables, so you only really need one .udl for > all > >> your documents. It > >> >may be possible to use it to connect to a specific > table > >> or query, but > >> >that's for you to discover if you want. > >> > > >> >Alternatively, you can set up a .odc using much the > same > >> process you used > >> >before in your point (2), but choose the Other/Advanced > >> option instead of > >> >ODBC DSN. Then fill in the datalink dialog options in > the > >> same way as for > >> >the .udl file above. When you get to save the .odc, > there > >> is a checkbox that > >> >lets you specify whether your .odc should cause Word to > >> display a list of > >> >tables/queries within your .mdb, or whether Word should > >> connect to a > >> >prespecified table/query. Again, if you use the former, > >> you should be able > >> >to use a single .odc for all your mailmerge documents. > >> > > >> >-- > >> >Peter Jamieson > >> > > >> >"Tony_VBACoder" <anonymous@discussions.microsoft.com> > >> wrote in message > >> >news:42db01c49037$6c339f60$a601280a@phx.gbl... > >> >> I am new at setting up a Word document as a Mail > Merge > >> to > >> >> an Access Database. My situation involves a secured > >> >> Access 2000/2002 Database, with a Word 2000/2002 Mail > >> >> Merge Letter. My Access Databases are secured with a > >> MDW > >> >> Security File required to open my Database. I have > >> >> various queries within my Access database are > specific > >> for > >> >> each Word Mail Merge document. In my Access DB > >> workgroup > >> >> security file, I have created a user > called "WordUser" > >> >> whose sole purpose is to be able to run the Word Mail > >> >> Merge Letters. This user has no password and only > >> >> has "Read" permission on all the tables/queries > required > >> >> for each letter and nothing else. I have had no luck > >> >> being able to get my Word 2002 letter to connect to > my > >> >> secured Access database with the Mail Merge Wizard > >> within > >> >> Word (I have posted a few questions in the > newsgroups, > >> but > >> >> have not gotten any responses). So instead, I have > >> tried > >> >> to go the ODBC route, where I would create a new DSN > >> entry > >> >> that points to my Access database, in hopes that I > could > >> >> use this ODBC entry as my datasource for my Word Mail > >> >> Merge document. However, this method has also raised > >> some > >> >> questions that I hope someone can answer for me or > help > >> in > >> >> the right direction. > >> >> > >> >> 1) To create a new ODBC entry, I do the following: > >> >> a) click on "System DSN" Tab in the ODBC Data > Source > >> >> Administrator > >> >> b) click the "Add" button > >> >> c) select "Microsoft Access Driver (*.mdb)" > >> >> d) click the "Finish" button > >> >> e) In the "ODBC Microsoft Access Setup" Form I: > >> >> f) enter "MyDB" in the "Data Source Name:" text > box > >> >> g) click the "Select..." button in the "Database" > >> Frame > >> >> to located my Access Database > >> >> h) click the "Advanced..." button > >> >> i) enter my "WordUser" in the "Login name:" text > box > >> in > >> >> the "Set Advanced Options" form and click the "OK" > >> button. > >> >> j) select the "Database:" radio button in > the "System > >> >> Database" frame > >> >> k) click the "System Database..." button to > select my > >> >> MDW file for my secured database > >> >> l) click the "OK" button on the ODBC Microsoft > Access > >> >> Setup form to complete setting up my new ODBC entry > >> >> > >> >> 2) Now, once my ODBC entry has been created, I go > to my > >> >> Word 2002/2000 letter and select Tools>Letters and > >> >> Mailings>Mail Merge Wizard. At the Wizard's Step > #3, I > >> >> select "Browse" from the "Use an existing list" > option. > >> >> This brings up the "Select Data Source" dialog box. > >> Here, > >> >> the "My Data Sources" is selected in the "Look in:" > >> combo > >> >> box and all my ODBC entries are showing EXCEPT my > newly > >> >> created Access ODBC entry I created in my above steps > >> (a- > >> >> l). However, there are 2 entries that I am not > familiar > >> >> with: "+Connect to New Data Source.odc" and "+New SQL > >> >> Server Connection.odc". I selected the "+Connect to > New > >> >> Data Source.odc" option and it took me into a > new "Data > >> >> Connection Wizard" where I did the following: > >> >> a) Select "ODBC DSN" from the "What kind of data > >> source > >> >> do you want to connect to?" list and clicked > the "Next" > >> >> button > >> >> b) Now my newly created ODBC entry shows up in > >> >> the "ODBC data sources" list. I selected it and > clicked > >> >> the "Next" button > >> >> c) At this point, all my tables and queries were > >> >> listed. From the list, I selected my query for the > >> letter > >> >> I am creating and clicked the "Next" button. > >> >> d) Now, the "Save Data Connection File and Finish" > >> >> dialog box is shown, prompting me to save this as a > >> >> connection file (*.odc). I entered a name and > clicked > >> >> the "Finish" button. > >> >> > >> >> Question: Is this the proper way of getting a Word > >> >> Document to connect to a Secured Access Database, by > >> >> having to create a separate Connection File for each > >> Mail > >> >> Merge Letter I am wanting to create? > >> >> > >> >> > >> > > >> > > >> >. > >> > > > > > > >. > >
- Previous message: Graham Mayor: "Re: MailMerge from Word using Outlook Contacts."
- In reply to: Tony_VBACoder: "Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?"
- Next in thread: Tony_VBACoder: "Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?"
- Reply: Tony_VBACoder: "Re: Word 2000/2002 - Proper Mail Merge steps for ODBC?"
- Messages sorted by: [ date ] [ thread ]