Re: Word 07 mailmerge source using dbf

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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


.



Relevant Pages

  • Re: Word 07 mailmerge source using dbf
    ... I was hoping to find someone who has successfully used a dbf ... Word is trying to connect using the OLE DB provider ... The ODBC dirver ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Word 07 mailmerge source using dbf
    ... 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". ... Word is trying to connect using the OLE DB provider ... >> (this is what Word generates when you try to connect manually using ODBC) ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Word 07 mailmerge source using dbf
    ... MS no longer supports a dbf datasource. ... "Peter Jamieson" wrote: ... Word is trying to connect using the OLE DB provider ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Word 07 mailmerge source using dbf
    ... > Be great if you have first hand knowledge that dbf will work with 07. ... Because the OLE DB provider and ODBC driver may return some data - date, numeric, logical and perhaps even text - in different formats, you may need to make a decision as to whether you are going with OLE where it is available or sticking with ODBC. ... .dbf is still listed as a format in the list of formats in Word 2007's Select Data Source dialog box ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Zugriff auf .dbf
    ... Das Öffnen einer .DBF mit Excel gehört zu den absoluten "NoNos". ... Versuchs mal mit dem VFP OLE DB Provider, der ist von sich aus in der Lage ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)