我在当前表事件 datacolchanged 中写了如下代码:
If e.DataCol.Name = "结账" and e.NewValue = -1 Then
For Each dr As DataRow In DataTables("会计凭证").Select("[月] = "& e.DataRow("月") and "[年] = "& e.DataRow("年"))
dr("结账") = -1
Next
end if
执行结果出错,如图:
![dvubb 图片点击可在新窗口打开查看](skins/default/filetype/jpg.gif)
此主题相关图片如下:未命名.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2008-11/2008111823231943426.jpg)
提示是[月]= 10 的 类型不合法。
但是,我将 select 里面的条件颠倒一下:DataTables("会计凭证").Select("[年] = "& e.DataRow("年") and "[月] = "& e.DataRow("月"))
则执行结果出错,如图:
![dvubb 图片点击可在新窗口打开查看](skins/default/filetype/jpg.gif)
此主题相关图片如下:未命名1.jpg
![dvubb 图片点击可在新窗口打开查看](UploadFile/2008-11/2008111823282436671.jpg)
提示是[年]= 2008 的 类型不合法。
可见总是第一个条件出错,不任顺序,这是不是bug?
同时,如果将select里面的两个条件去掉一个,是可以正常执行的。
实在是不明白啊!
注:我的两个表都是外部数据库ACCESS,年、月列的类型全部为整型。