提示“Data type mismatch”该如何解决
利用菜单导入excel时候,运行到下面红色部分的时候总是会提示“Data type mismatch”错误提示。
用到的这个excel表存放在http://www.access911.net/csdn/FileDescription.asp?mdb=2009-9-25&id=31&mode=3
这个网页上面的cwb1.7z文件就是
请大家帮忙看看 这个xls表中是不是设置的字段的类型有问题
其中 材料编码、规格型号、计划单价、计划金额 几个字段存在空值
但是我补充了前面几条的纪录的时候 这个错误依旧存在
其中材料编码(常规)、材料名称(常规)、规格型号(常规)、计量单位(常规)、数量(数值)、计划单价(数值)、计划金额(数值)、部门(常规)
其中在xls中 材料编码、规格型号、计划单价、计划金额部分字段为空
在vfp中定义字段为依次为材料编码(字符(20))、材料名称(字符(30))、规格型号(字符(30))、计量单位(字符(10))、数量(数值(10,2))、计划单价(数值(10,2))、计划金额(数值(10,2))、部门(字符(20))
SET ENGINEBEHAVIOR 70
public mypath
mypath=""
mypath=getfile("xls")
if empty(mypath)
wait clear
return
endif
_ole_excel = CreateObject("Excel.Application")
_ole_excel.WorkBooks.Open(mypath) && 要打开的工作表名(xls)必须是全路径
_ole_excel.WorkSheets(1).Activate &&激活指定的工作簿
bookExcel = _ole_excel.APPLICATION.Workbooks.OPEN(mypath)
nrows=bookExcel.Worksheets(1)
UsedRange =nrows.UsedRange
r = UsedRange.ROWS.COUNT
USE cwb
dele all
pack
for i=2 TO r
IF empty(nvl(_ole_excel.cells(i,1).value,''))
EXIT
else
With _ole_excel
Insert Into cwb ;
(材料编码,材料名称,规格型号,计量单位,数量,计划单价,计划金额,部门,部位号) ;
Values ( ;
Nvl(.cells(i,1).value,''), Nvl(.cells(i,2).value,''), ;
Nvl(.cells(i,3).value,''), Nvl(.cells(i,4).value,''), ;
Nvl(.cells(i,5).value, 0), Nvl(.cells(i,6).value, 0), ;
Nvl(.cells(i,7).value, 0), Nvl(.cells(i,8).value,''), ;
Nvl(.cells(i,9).value, ''))
EndWith
endif
ENDFOR
use
_ole_excel.quit