sql1 := '
select * from `Profil`';
sql2 := '
where id_user in ('+userids+'
)';
//userids ist eine stringlist mit lauter IDs
dbquelle := ExtractFilePath (ParamStr(0))+'
Bewerbermanagement.mdb';
dm.brief_oeffnen(strtoint(DBGrid1.DataSource.DataSet.Fields.Fields[0].AsString));
//hier öffne ich den brief mit einer bestimmten ID
// hier der code von "brief_oeffnen"
procedure Tdm.brief_oeffnen(id_vorlage:integer);
var
pfad:
string;
begin
with varqry4
do
begin
close;
sql.clear;
sql.text := '
select pfad from vorlagen where id_vorlage='+inttostr(id_vorlage);
open;
pfad := datasource4.dataset.fieldbyname('
vorlagenpfad').asstring;
ShellExecute(application.handle, '
open', PChar(pfad), '
', Pchar(ExtractFileDir(pfad)), SW_SHOW);
end;
end;
//
Word:=GetActiveOleObject('
Word.Application');
//Dokument als normales Dokument einrichten, Serienbrieffunktion sozusagen entfernen
Word.ActiveDocument.MailMerge.MainDocumentType:= wdNotAMergeDocument;
//Dokument wieder als Serienbrief einrichten
Word.ActiveDocument.MailMerge.MainDocumentType:= wdFormLetters;
Word.ActiveDocument.MailMerge.OpenDataSource(dbquelle,
ConfirmConversions :=False,
ReadOnly:=False, LinkToSource:=True,
AddToRecentFiles:=False, PasswordDocument:='
', PasswordTemplate:='
',
WritePasswordDocument:='
', WritePasswordTemplate:='
', Revert:=False,
Format:=wdOpenFormatAuto, Connection:=
'
Provider=Microsoft.Jet.OLEDB.4.0;Password=''
''
;User ID=Admin;Data Source='+dbquelle+'
;Mode=Read;Extended Properties=''
''
;Jet OLEDB:System database=''
''
;Jet OLEDB:Registry Path=''
''
;Jet OLEDB:Database Password=''
'
, SQLStatement:=SQL1, SQLStatement1:=SQL2);
word.ActiveDocument.MailMerge.ViewMailMergeFieldCodes := wdToggle;