是一个导出WORD的代码,在导出时,导出一部份时就出现了以下错误.是不是数据转换时失败的原因,请问如何改?出现错误:Invalid variant type conversion导出关健代码如下: with DBGrid1.DataSource.DataSet do
while not eof do
begin
for j:=1 to DBGrid1.Columns.Count do
if DBGrid1.Columns[j-1].Field.Value<>Null then
if DBGrid1.Columns[j-1].Field.Value<>'' then
if Length(DBGrid1.Columns[j-1].Field.Value)<>0 then
Doc.Tables.Item(1).Cell(i,j).Range.InsertAfter(DBGrid1.Columns[j-1].Field.Value);
Next;
while not eof do
begin
for j:=1 to DBGrid1.Columns.Count do
if DBGrid1.Columns[j-1].Field.Value<>Null then
if DBGrid1.Columns[j-1].Field.Value<>'' then
if Length(DBGrid1.Columns[j-1].Field.Value)<>0 then
Doc.Tables.Item(1).Cell(i,j).Range.InsertAfter(DBGrid1.Columns[j-1].Field.Value);
Next;
if DBGrid1.Columns[j-1].Field.Value<>Null then改成
if not varisnull(DBGrid1.Columns[j-1].Field.Value) then
其他的类似
出现错误:Invalid variant type conversion高手帮帮忙,谢了.
if Length(DBGrid1.Columns[j-1].Field.Value)<>0 then 字符串长度不为零当然也就非空. with DBGrid1.DataSource.DataSet do
while not eof do
begin
for j := 1 to DBGrid1.Columns.Count do
if (not VarIsNull(DBGrid1.Columns[j - 1].Field.Value)) and
(Length(DBGrid1.Columns[j - 1].Field.AsString) <> 0)
then
Doc.Tables.Item(1).Cell(i, j).Range.InsertAfter(DBGrid1.Columns[j - 1].Field.Value);
Next;
改为 DBGrid1.Columns[j-1].Field.asstring<>''if Length(DBGrid1.Columns[j-1].Field.Value)<>0 then
改为
if Length(DBGrid1.Columns[j-1].Field.asstring)<>0 then
试试