Procedure RepTabField(Mydoc:TWordDocument;TableName:string;TableNum:integer);//完成表数据的添加。
//Mydoc:word文档;TableName:数据库名;TableNum:word中表的序号。
var
i,j,k,tcol,trow,ArrayNum:integer; //ArrayNum:存储字段数组的号。
Mytable:Table;
EnArray:array [0..24] of string;
ccc:Row;
fType :TfieldType;
// TempQuery:Tquery;
afterrow,beforerow:OleVariant;
begin
ArrayNum:=-1;
for i:=0 to 1 do
if TableName=FieldsL.TableName then ArrayNum:=i;
if ArrayNum<0 then showmessage('提供的数据库中文名称有误,请查证。')
else begin
//取出Word表中指定的中文字段名称。
if TableNum>Mydoc.Tables.Count then showMessage('文档中表格的个数有误,请查证。')
else begin
Mytable:=Mydoc.range.Tables.Item(TableNum);
trow:=Mytable.Rows.Count;
tcol:=mytable.Columns.Count;
if trow<1 then showmessage('报表模板中的表'+inttostr(TableNum)+'定义的格式有误,请查证。')
else begin
for i:=0 to tcol do begin//从word的表中取字段的中文名称,并且根据字段列表进行比较。
for j:=0 to 24 do begin
if trim(Mytable.cell(1,i).range.text)=FieldsL[ArrayNum].FieldsList[j][0] then
EnArray:=FieldsL[ArrayNum].FieldsList[j][1];
if (j=24) and (trim(EnArray)='') then begin
EnArray:='';
showmessage(''''+Mytable.cell(1,i).range.text+''''+'在数据库中没有找到匹配字段,请查证。');
end;
end;//for
end;//for