我在代码里中断测试了一下
窗体.recordsource="select * from 表 where Cstr(字段3)='" & true & "'" 的结果出来就是"select * from 表 where Cstr(字段3)=' true '"啊,不是您这个"select * from 表 where Cstr(字段3)='-1'"
在查询的sql视图中select * from 表 where Cstr(字段3)='" & true & "'"根本无法运行。
我的程序是这样的:
窗体中有个treeview,某个节点的node.tag值就是布尔型,现在我希望点中该节点后在右边子窗体中打开对应的窗体,我用下面这个代码:
子窗体.recordsource="select * from 表 where cstr(字段3)='" & node.tag & "'"
因为node.tag就是true或false,所以上面这段代码就相当于执行下面代码:
="select * from 表 where cstr(字段3)='" & true & "'"
这样就总会提示错误。
解决方法:
1是获取node的布尔值0或-1,可我查了node属性里没有这个,tag返回的都是true或false
2是在加载treeview时将node值直接显示为0和-1,再将上面代码node.tag改为node.text,我能测试通过,只是程序中用0或-1显示节点不是很直观。目前我加载treeview节点时有个判断node的typename,如果是布尔型就将其text显示为node.tag & rec.field(字段)(如false日期)