vb6 mail merge code führt keine select-Anweisung im Quelldokument aus

422
user961419

Ich verwende eine VB-Anwendung, die die Daten aus der Datenbank abruft und einen Seriendruck in einem der Vorlagendokumente ausführt und die Ausdrucke an den Drucker sendet. Nach dem Upgrade auf Word 2010 ist die VB6-Anwendung wie folgt. Dieser Code funktioniert für Word 2010, aber während ich das Vorlagendokument öffne, heißt es, dass das Ausführen select * from c:\temp where rectype = 0dieses Befehls ausgeführt wird. Diese Funktionalität funktioniert nicht in Word 2010, sondern es wird alles Rectype gedruckt. Kann jemand raten, welcher Teil geändert werden muss, um dies zu sortieren?

Kann ich die select-Anweisung ändern? Wie? Ist word.basic für word 2010 geeignet? Muss ich den gesamten Code gemäß word 2010 konvertieren? Bitte beraten.

Private Sub printWorddocument(ByRef rstjobdata As rdoresultset)  Dim oword As Object Dim sdatasource As String  Set oword = CreateObject("Word.basic") oword.appshow oword.appMinimize oword.fileopen Name:=rstjobdata("path").Value sdatasource = oword.mailmergedatasource$(5)  oword.Mailmergeopendatasource Name:=mstemp_path, _ Confirmconversions:=0, _ ReadOnly:=1, _ AddtoMru:=0, _ sqlstatement:=sdatasource  oword.MailMerge checkerrors:=1, destination:=0, _ mergerecords:=1, Suppression:=0, _ mailsubject:="", MailMerge:=1, _ mailAttachment:=0, mailaddress:=""   'Replace pipe character ("|") with CRLF oword.editreplace Find:="|", Replace:="^p", _ Direction:=0, MatchCase:=0, _ Wholeword:=0, PatternMatch:=0, _ SoundsLike:=0, ReplaceAll:=1, _ Format:=0, Wrap:=1, _ FinaAllWordForms:=0  oword.ScreenUpdating 1  oword.FileprintSetup Printer:=sGetWordQueuename(CStr(rstjobdata("Queuename"))) oword.FilepageSetup Firstpage:=CInt(rstjobdata("FirstPage")), Otherpages:=CInt(rstjobdata("OtherPages")) oword.Fileprint background:=0, NumCopies:=CInt(rstjobdata("Copies")) oword.FileCloseAll 2 oword.Filequit Set oword = Nothing Exit Sub 
0
Haben Sie versucht, den Pfad wie "select * from 'c: \ temp" mit rectype = 0 zu zitieren "? duDE vor 5 Jahren 0
Vielen Dank für Ihre Antwort. sollte ich das in sqlstatement erwähnen? Wenn ich dies in einer Word-Vorlage tun muss, die für Mailmerge verwendet wird, wo sollte ich das erwähnen? user961419 vor 5 Jahren 0
Ich würde versuchen, den Pfad in der SQL-Anweisung zu zitieren, ist das möglich? Kannst du es versuchen? duDE vor 5 Jahren 0
Ich habe sqlstatement ausprobiert: = "Wählen Sie * aus 'C: \ temp.doc' aus, wobei RecType = 0", dies führt mich zur Fehlerbehandlung. user961419 vor 5 Jahren 0

0 Antworten auf die Frage