用计算字段 当然更好是在SQL里面就写好 select case where 字段='0'then '否' else '是' end from 表
可以用循环先将数据导入一个公共表CF_Public(举个例子)中,如果那个字段为'0',则导出的值为'否',如果为'1',则导出的为'是',以下一段例子公供参考: with ADOQY_Public do begin Close; SQL.Clear; SQL.Add('delete from CF_Public'); ExecSQL; close; sql.Clear; sql.Add('select * from CF_Public'); open; end; ADOQY_ChanFu.First; while not ADOQY_ChanFu.Eof do begin ADOQY_Public.Append; ADOQY_Public.Fieldbyname('c7').AsString:=ADOQY_ChanFu.fieldbyname('FM_Date').AsString; if ADOQY_ChanFu.FieldByName('Sex_M').AsBoolean=true then ADOQY_Public.Fieldbyname('c8').AsString:='√' else ADOQY_Public.Fieldbyname('c8').AsString:=''; if ADOQY_ChanFu.FieldByName('Sex_F').AsBoolean=true then ADOQY_Public.Fieldbyname('c9').AsString:='√' else ADOQY_Public.Fieldbyname('c9').AsString:=''; if ADOQY_ChanFu.FieldByName('GaoWei_Y').AsBoolean=true then ADOQY_Public.Fieldbyname('c10').AsString:='√' else ADOQY_Public.Fieldbyname('c10').AsString:=''; if ADOQY_ChanFu.FieldByName('GaoWei_N').AsBoolean=true then ADOQY_Public.Fieldbyname('c11').AsString:='√' else ADOQY_Public.Fieldbyname('c11').AsString:=''; if ADOQY_ChanFu.FieldByName('XiGuan_Y').AsBoolean=true then ADOQY_Public.Fieldbyname('c12').AsString:='√' else ADOQY_Public.Fieldbyname('c12').AsString:=''; if ADOQY_ChanFu.FieldByName('XiGuan_N').AsBoolean=true then ADOQY_Public.Fieldbyname('c13').AsString:='√' else ADOQY_Public.Fieldbyname('c13').AsString:=''; ADOQY_Public.FieldByName('c14').AsString:=ADOQY_ChanFu.fieldbyname('XinSheng_F').AsString; if ADOQY_ChanFu.FieldByName('ZhuYuan_F').AsBoolean=true then ADOQY_Public.Fieldbyname('c15').AsString:='√' else ADOQY_Public.Fieldbyname('c15').AsString:=''; ADOQY_Public.FieldByName('c16').AsString:=ADOQY_ChanFu.fieldbyname('W_Memo').AsString; ADOQY_Public.Post; ADOQY_ChanFu.Next; end; //------------------------- if Application.FindComponent('ChanFu_Info_PrintFrm')=nil then ChanFu_Info_PrintFrm:=TChanFu_Info_PrintFrm.Create(self); ChanFu_Info_PrintFrm.QRLabel1.Caption:=ADOQY_Public.fieldbyname('c1').AsString+'登记表'; ChanFu_Info_PrintFrm.QuickRep1.Preview; ChanFu_Info_PrintFrm.Free;
当然更好是在SQL里面就写好
select case where 字段='0'then '否' else '是' end from 表
with ADOQY_Public do
begin
Close;
SQL.Clear;
SQL.Add('delete from CF_Public');
ExecSQL;
close;
sql.Clear;
sql.Add('select * from CF_Public');
open;
end;
ADOQY_ChanFu.First;
while not ADOQY_ChanFu.Eof do
begin
ADOQY_Public.Append;
ADOQY_Public.Fieldbyname('c7').AsString:=ADOQY_ChanFu.fieldbyname('FM_Date').AsString;
if ADOQY_ChanFu.FieldByName('Sex_M').AsBoolean=true then
ADOQY_Public.Fieldbyname('c8').AsString:='√'
else
ADOQY_Public.Fieldbyname('c8').AsString:='';
if ADOQY_ChanFu.FieldByName('Sex_F').AsBoolean=true then
ADOQY_Public.Fieldbyname('c9').AsString:='√'
else
ADOQY_Public.Fieldbyname('c9').AsString:='';
if ADOQY_ChanFu.FieldByName('GaoWei_Y').AsBoolean=true then
ADOQY_Public.Fieldbyname('c10').AsString:='√'
else
ADOQY_Public.Fieldbyname('c10').AsString:='';
if ADOQY_ChanFu.FieldByName('GaoWei_N').AsBoolean=true then
ADOQY_Public.Fieldbyname('c11').AsString:='√'
else
ADOQY_Public.Fieldbyname('c11').AsString:='';
if ADOQY_ChanFu.FieldByName('XiGuan_Y').AsBoolean=true then
ADOQY_Public.Fieldbyname('c12').AsString:='√'
else
ADOQY_Public.Fieldbyname('c12').AsString:='';
if ADOQY_ChanFu.FieldByName('XiGuan_N').AsBoolean=true then
ADOQY_Public.Fieldbyname('c13').AsString:='√'
else
ADOQY_Public.Fieldbyname('c13').AsString:='';
ADOQY_Public.FieldByName('c14').AsString:=ADOQY_ChanFu.fieldbyname('XinSheng_F').AsString;
if ADOQY_ChanFu.FieldByName('ZhuYuan_F').AsBoolean=true then
ADOQY_Public.Fieldbyname('c15').AsString:='√'
else
ADOQY_Public.Fieldbyname('c15').AsString:='';
ADOQY_Public.FieldByName('c16').AsString:=ADOQY_ChanFu.fieldbyname('W_Memo').AsString;
ADOQY_Public.Post;
ADOQY_ChanFu.Next;
end;
//-------------------------
if Application.FindComponent('ChanFu_Info_PrintFrm')=nil then
ChanFu_Info_PrintFrm:=TChanFu_Info_PrintFrm.Create(self);
ChanFu_Info_PrintFrm.QRLabel1.Caption:=ADOQY_Public.fieldbyname('c1').AsString+'登记表';
ChanFu_Info_PrintFrm.QuickRep1.Preview;
ChanFu_Info_PrintFrm.Free;