Serienbrief Laufzeitfehler 5922 Access 2003

24/09/2007 - 11:29 von Andreas Hermann | Report spam
Hallo Newsgroup
Ich hab die Frage zwar schon mal gestellt, bin aber immer noch nicht weiter
gekommen.
Vieleicht kann ich doch den einen oder anderen Hinweis bekommen.

Der Serienbrief wird über ein Makro mit Daten versorgt.
Es ist eine Abfrage die Daten aus zwei Tabellen zusammensetzt.
Es ist immer nur ein DS als Ergebnis vorhanden.

In der Version W 2k und A2k haben alle Vorlagen.dot und Makros funktioniert,
seit Umstellung auf das neue System nicht mehr.

Bisher hab ich , mit hilfe der Newsgroup herausgefunden, dass die probleme
mit der Verbindung DDE von früher zu ODBC was jetzt verwendet wird,
entstehen.

Ich habe im System/Verwaltung/ Dienste alles was mit DDE zu tun haben
könnte gestartet, leider brachte das auch nicht so viel. Aber vieleicht such
ich auch an der falschen Stelle.

System: XP 2002 SP2
Office Word 2003 (11.6568.6568.)SP 2
Office Access 2003 (11.6566.6568.)SP 2

Mit dem folgendem Makro stelle ich die Verbindung her und wàhle die Abfrage
aus, die auch die entsprechenden Daten bringt.
Aber nur wenn ich die Verbindung "hàndisch" herstelle.
Wobei ich auch die Verbindung explizit mit DDE auswàhlen kann.

Benutze ich die Makroaufzeichnung über einen Button, bekomme ich immer einen
Laufzeitfehler 5922 und die Meldung " kann Datenquelle nicht öffnen" der
Debugger bricht in der Zeile bei Verbinder der DataSource ab.

Frage:

* Warum kann ich die Verbindung von Hand herstellen und die Daten sind
richtig geladen?
* Warum funktionieren die gleichen Arbeitsschritte nicht über ein Makro?
* Wo oder wie kann ich Access zwingen die Verbindung über DDE zu erzeugen?
Das kann ich in der Aufzeichnung nicht finden. Wird vom Makrorekorder nicht
mitgeschnitten.


Public Sub Main()
'
' Test_4_DB_Verbinden_KontaktAdresse_Abfrage Makro

ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:="Q:\access\kaweha.mdb", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False,
_
Format:=wdOpenFormatAuto, Connection:="QUERY
Abfrage-personal-Adressen", _
SQLStatement:="SELECT * FROM [Abfrage-personal-Adressen]",
SQLStatement1 _
:="", SubType:=wdMergeSubTypeOther
ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
End Sub


Die Abfrage:
SELECT DISTINCTROW [Kontakte-Personal].Name, [Kontakte-Personal].Telefon,
[Kontakte-Personal].Abteilung, [Firmen-Adressen].IdentNr,
[Kontakte-Personal].PersonalNr, [Firmen-Adressen].[Name der Firma],
[Firmen-Adressen].Straße, [Firmen-Adressen].Stadt,
[Firmen-Adressen].Postleitzahl, [Firmen-Adressen].[Region/Bundesland],
[Firmen-Adressen].Geschàftsführer, [Firmen-Adressen].KundenNr,
[Firmen-Adressen].Postfach, [Firmen-Adressen].Jahr,
[Kontakte-Personal].Geschlecht, [Kontakte-Personal].Telefax,
[Kontakte-Personal].email, [Kontakte-Personal].mobil,
[Kontakte-Personal].Vorname, [Kontakte-Personal].bemerkung
FROM [Firmen-Adressen] LEFT JOIN [Kontakte-Personal] ON
[Firmen-Adressen].IdentNr = [Kontakte-Personal].IdentNr
WHERE ((([Firmen-Adressen].IdentNr)=[Forms]![Adressen]![IdentNr]))
ORDER BY [Kontakte-Personal].Name DESC , [Kontakte-Personal].Telefon;
 

Lesen sie die antworten

#1 Andreas Hermann
25/09/2007 - 15:45 | Warnen spam
"Andreas Hermann" schrieb im Newsbeitrag
news:fd800j$5nj$03$
Hallo Newsgroup
Ich hab die Frage zwar schon mal gestellt, bin aber immer noch nicht
weiter gekommen.
Vieleicht kann ich doch den einen oder anderen Hinweis bekommen.

Der Serienbrief wird über ein Makro mit Daten versorgt.
Es ist eine Abfrage die Daten aus zwei Tabellen zusammensetzt.
Es ist immer nur ein DS als Ergebnis vorhanden.

In der Version W 2k und A2k haben alle Vorlagen.dot und Makros
funktioniert, seit Umstellung auf das neue System nicht mehr.

Bisher hab ich , mit hilfe der Newsgroup herausgefunden, dass die probleme
mit der Verbindung DDE von früher zu ODBC was jetzt verwendet wird,
entstehen.

Ich habe im System/Verwaltung/ Dienste alles was mit DDE zu tun haben
könnte gestartet, leider brachte das auch nicht so viel. Aber vieleicht
such ich auch an der falschen Stelle.

System: XP 2002 SP2
Office Word 2003 (11.6568.6568.)SP 2
Office Access 2003 (11.6566.6568.)SP 2

Mit dem folgendem Makro stelle ich die Verbindung her und wàhle die
Abfrage aus, die auch die entsprechenden Daten bringt.
Aber nur wenn ich die Verbindung "hàndisch" herstelle.
Wobei ich auch die Verbindung explizit mit DDE auswàhlen kann.

Benutze ich die Makroaufzeichnung über einen Button, bekomme ich immer
einen Laufzeitfehler 5922 und die Meldung " kann Datenquelle nicht öffnen"
der Debugger bricht in der Zeile bei Verbinder der DataSource ab.

Frage:

* Warum kann ich die Verbindung von Hand herstellen und die Daten sind
richtig geladen?
* Warum funktionieren die gleichen Arbeitsschritte nicht über ein Makro?
* Wo oder wie kann ich Access zwingen die Verbindung über DDE zu erzeugen?
Das kann ich in der Aufzeichnung nicht finden. Wird vom Makrorekorder
nicht mitgeschnitten.


Public Sub Main()
'
' Test_4_DB_Verbinden_KontaktAdresse_Abfrage Makro

ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:="Q:\access\kaweha.mdb", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="",
PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="",
Revert:=False, _
Format:=wdOpenFormatAuto, Connection:="QUERY
Abfrage-personal-Adressen", _
SQLStatement:="SELECT * FROM [Abfrage-personal-Adressen]",
SQLStatement1 _
:="", SubType:=wdMergeSubTypeOther
ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
End Sub


Die Abfrage:
SELECT DISTINCTROW [Kontakte-Personal].Name, [Kontakte-Personal].Telefon,
[Kontakte-Personal].Abteilung, [Firmen-Adressen].IdentNr,
[Kontakte-Personal].PersonalNr, [Firmen-Adressen].[Name der Firma],
[Firmen-Adressen].Straße, [Firmen-Adressen].Stadt,
[Firmen-Adressen].Postleitzahl, [Firmen-Adressen].[Region/Bundesland],
[Firmen-Adressen].Geschàftsführer, [Firmen-Adressen].KundenNr,
[Firmen-Adressen].Postfach, [Firmen-Adressen].Jahr,
[Kontakte-Personal].Geschlecht, [Kontakte-Personal].Telefax,
[Kontakte-Personal].email, [Kontakte-Personal].mobil,
[Kontakte-Personal].Vorname, [Kontakte-Personal].bemerkung
FROM [Firmen-Adressen] LEFT JOIN [Kontakte-Personal] ON
[Firmen-Adressen].IdentNr = [Kontakte-Personal].IdentNr
WHERE ((([Firmen-Adressen].IdentNr)=[Forms]![Adressen]![IdentNr]))
ORDER BY [Kontakte-Personal].Name DESC , [Kontakte-Personal].Telefon;


Ähnliche fragen