一个EXCEL OLE及数据库的怪事(50分)

  • 主题发起人 主题发起人 haobi
  • 开始时间 开始时间
H

haobi

Unregistered / Unconfirmed
GUEST, unregistred user!
我用table,datasource,dbgrid做了个数据库,并把其中的一个字段'中文名字'的值
赋于EXCEL中的B6单元格,用下列语句成功实现:
Edit1.Text:=Table1['中文名字'];
MsExcelBook.Sheets[1].Range['B6'].Value:=Edit1.Text;

但用下述语句代替上述两语句时却出现错误:
MsExcelBook.Sheets[1].Range['B6'].Value:=Table1['中文名字'];
错误消息为:(MYLIAN.EXE是我的程序名)
Access violation at adress 0048938B in module 'MYLIAN.EXE',Read oF address FFFFFFFFF

上述程序在DELPHI 3 WIN97 及DELPHI4 WINME下调试。
 
先把那个中文名字的字段改为英文的试试,应该是这问题!
 
MsExcelBook.Sheets[1].Range['B6'].Value:=Table1['中文名字'];?你是不是簡寫了
MsExelBook.Sheets[1] .Cells[1,2].value:=Table1.fieldbyName('中文名字').value;
 
上述两位朋友的方法仍不行
 
Table1['中文名字'];
有点不好用,有时运行时报错,说类型不匹配,你这样
Table1.fieldbyName('中文名字').AsString;//改成AsString;



 
我已经自己找到答案了,不过WK-NIFE的思路比较正确,但我没试过。
 
后退
顶部