for i:=1 to AdoQuery7.RecordCount do with AdoQuery7 do begin First; k:=i+4; while not eof do begin for j:=1 to DBGrid6.Columns.Count do DocTable.Cell(k,j).Range.Text:=DBGrid6.Columns[j-1].Field.Value; Next; //Inc(i); 远洋大哥,昨天那张贴被删除了,上面是您帮我修改的代码.我又有问题了. 我先把我想要实现的目的向您说一下. 这一段代码我主要想实现:将DBGrid6中的内容导入word,word文档是事先做好的,里边画了一套表格.DBGrid6中的数据是由Adoquery7选(select)出来的,因为我要从表格的第五行开始插入数据,所以用了k:=i+4,k,j分别表示行和列,Cell(k,j)定位单元格.我想将DBGrid6中的数据插入word表格对应的单元格中,现在的问题是,插入到word表格中的记录条数和DBGrid中的记录的条数是吻合的,但是是同一条记录,(最后一条),我发现插入每一行记录的时候,都是先插入第一条记录,然后第二条记录将第一条覆盖,第三条将第二条覆盖,一直到最后一条,每一行都是这样,所以到最后所有的数据都一样,都是DBGrid中最后一条记录的数据. 请大哥帮我想想办法,头发都掉几根了.
k:= 4; with AdoQuery7 do begin First; while not eof do begin for j:=1 to DBGrid6.Columns.Count do DocTable.Cell(k,j).Range.Text:=DBGrid6.Columns[j-1].Field.Value; Next; Inc(k) end; end;