Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Markus Markus is offline
external usenet poster
 
Posts: 37
Default Word 07 mailmerge source using dbf

Thanks Doug,

It looks like I may not have to convert to other format after all.

Mark


"Doug Robbins - Word MVP" wrote:

The .dbf file type is still listed in the file types that can be selected
when attaching a data source to a mail merge main document.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP, originally posted via msnews.microsoft.com
"Markus" wrote in message
...
Hi Peter,

Not really interested in a DB Plus app, as just whether any app can call
out
to Word 07 using a dbf datasource. I got the feeling from the other ng
that
MS no longer supports a dbf datasource. Hard for me to believe, but
anything
is possible.

Be great if you have first hand knowledge that dbf will work with 07.

Thanks again,
Mark

"Peter Jamieson" wrote:

Hi Markus,

Yes, I thought you might have been waylaid :-)

I'll have another look at the Word 2007 + DBF stuff and see if I can
spot any additional difficulties in doing the merge "from an app".
However, I'm definitely not in a position to check specifically that a
dBase Plus app. can be made to work.

Peter Jamieson

http://tips.pjmsn.me.uk

Markus wrote:
Hi Peter,

As a fellow developer you know what it is to be called off on other
projects. Your April post was most informative, and I am hopeful it
will
lead to a solution, but I have not been given a copy of Word 07 yet to
try
out the solution

With this post, I was hoping to find someone who has successfully used
a dbf
file with Word 07 for mailmerge. My concern was prompted by a recent
post on
another ng that a dbf will not work *at all* with Word 07 mailmerge.
He had
suggested the data must be written out from dbf to Access, CSV or Excel
to do
the merge. When I prompted him further, the person making the post
admited
they had only heard this was the case and did not know for sure.

As I read your post again tho, it sounds like you have been successful
in
using a dbf both from within Word and within an app. (Is that correct?)

As long as I know for sure that Word 07 has not eliminated the use of
dbf
altogether, then I guess I just have to be patient till they distribute
copies of Word 07 for testing.

Thanks again for your help,
Mark

"Peter Jamieson" wrote:

Markus,

Are you the same Markus who posted in the vba.general group back in
April or so?

If so, this is where we were up to - maybe you could say what happened
at your end. And if not, the following may help:



Thanks again, and I'll post back here after I confirm a solution.
Mark

"Peter Jamieson" wrote:

I believe what is happening in this case is that
a. Word is trying to connect using the OLE DB provider
b. it either fails because that provider is not present or
because the
table name is in the wrong format for the provider. The ODBC
dirver
expects something like

Select * from MM.dbf

(this is what Word generates when you try to connect manually
using
ODBC)

but the OLE DB provider expects something more like

Select * FROM [MM]
or
Select * FROM `MM`

However, both the OLE DB provider and ODBC driver that I have
here (as
it happens, it's the ACE provider/driver) accept any of

Select * FROM [MM]
Select * FROM `MM`
Select * FROM [MM.dbf]
Select * FROM `MM.dbf`

FWIW the error I see here is

"Error has occurred: The Microsoft Access database engine could
not
find
the object 'M.DB'. Make sure the object exists and that you spell
its
name and the path name correctly."

i.e. the first and last characters of the name have been
stripped.

I believe that Word will do (a) because you are specifying the
.dbf
pathname in the Name parameter /and not/ specifying a Subtype
parameter
equal to wdMergeSubtypeWord2000 (i.e. 8). As it happens, I
thought
Word
XP/2003 also did that,but perhaps the behaviour was slightly
different,
or perhaps it used the OLE DB provider in those versions too, but
the
unquoted file name worked in those cases. You can probably find
out by
inspecting ActiveDocument.MailMerge.DataSource.connectString in
Word
2003 (I wouldn't try in Word XP - it may still crash if you do
that). If
the string starts with DSN, it's ODBC; if it starts with
Provider,
it's
OLE DB.

Here, I can get Word 2007 to connect using ODBC either by setting
Name
to "", or by setting it to the pathname of the .dbf /and/
specifying the
wdMergeSubtypeWord2000 subtype value. FWIW at one time I think
you had
to specify wdMergeSubtypeWord2000 in all cases where Name was
set to
"", but I think an update modified that behaviour.

If it doesn't matter whether you use the ODBC provider or the OLE
DB
driver, you could see if the dBase equivalent of

.OpenDataSource _
Name:="C:\wbdb\db3\KUNDNDB3.DBF", _
sqlstatement:="SELECT * FROM [KUNDNDB3]"

works on all the versions of Word you support after Word 2000.

All the above assumes that you can use the dBASE provider/driver
(which
is part of Jet/ACE) and that you do not have to use the FoxPro
driver/provider, which is a different thing altogether.

FWIW the properties of the "dBASE Files" DSN here (Vista 32-bit
SP1,
Word 2007 SP1) show that it is using the newer ACE driver.
Modifying it
to use the older Jet driver made no difference to the behaviour
of the
OpenDataSource code I tried here.

Peter Jamieson

http://tips.pjmsn.me.uk

Markus wrote:
Hi Peter,

The code is in Dbase Plus, but it has a similar format to VB.
Hope you
can tell from this what the datasource issue might be. As I
said, this code
has worked perfectly for years thru to Word 2003.


oMerge.OpenDataSource( cDSname_, ; // name
0, ; // Format - wdOpenFormatAuto
false, ; // ConfirmConversions
true, ; // ReadOnly
true, ; // LinkToSource
false, ; // AddToRecentFiles
"", ; // PasswordDocument
"", ; // PasswordTemplate
false, ; // Revert
"", ; // WritePasswordDocument
"", ; // WritePasswordTemplate
"DSN=dBASE Files;DBQ=" + cDSpathOnly_ + ";", ;
cDSsql )

cDSpathOnly_ = path to file e.g., C:\APPTMP
cDSname = name of dbf datasource file e.g., MM.dbf
cDSsql = sql statement e.g., Select * from MM.dbf

Many thanks again,
Mark



Peter Jamieson

http://tips.pjmsn.me.uk

Markus wrote:
Sorry, I posted this in general group instead of here where I think
it should
go.

Anyone know for sure whether Word 07 can successfully use a dbf file
as a
datasource for a mailmerge?

Many thanks in advance,
Mark




Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Need Help with Word 2007 MailMerge Using Access as data source. Lynda[_2_] Mailmerge 8 September 29th 08 01:31 AM
Does Word allow more than one source doc for mailmerge? Lynne Mailmerge 1 February 7th 08 09:33 AM
Mailmerge - Using Word as the data source? mrfrenchy Mailmerge 2 December 7th 06 12:22 AM
How to link a different Mailmerge header source and data source? Eleni_Malli Mailmerge 1 May 3rd 06 02:08 PM
Formatting a word mailmerge with Excel data source Tracey Mailmerge 2 March 15th 05 02:07 PM


All times are GMT +1. The time now is 06:15 PM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"