以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]SQLTable使用全局代码的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24226)

--  作者:chnfo
--  发布时间:2012/10/8 16:44:00
--  [求助]SQLTable使用全局代码的问题
首先在全局代码里设置了Public KID As Integer 
我在一个窗口的AfterLoad事件中有一段这样的代码
Tables(e.Form.Name & "_表1").Fill("select * from {数据源}  where A = \'" & KID & "\'","外部数据源名", True)

运行时,总是提示Select语句执行错误,请检查语法及数据源设置。
如果把where条件删除,又正常。

请问是不是全局代码变量的问题?

--  作者:狐狸爸爸
--  发布时间:2012/10/8 16:48:00
--  

A列是什么类型,如果是整数,应该:

Tables(e.Form.Name & "_表1").Fill("select * from {数据源} where A = " & KID , "外部数据源名", True)

 


--  作者:chnfo
--  发布时间:2012/10/8 17:21:00
--  
A确实是整数。
Tables(e.Form.Name & "_表1").Fill("select * from {数据源} where [A] = \'" & KID & "\'","外部数据源名", True)
Tables(e.Form.Name & "_表1").Fill("select * from {数据源} where A = " & KID , "外部数据源名", True)
前一个用法,在其它地方用是正常的。
就在在这里出错了。
比如说KID=12
就算A是个整数,A= ‘12’  就不能执行? 而A=12就可以执行?

好多次都被这个东东整得郁闷不已。

因为有的地方可以执行,有的地方又不能执行。
[此贴子已经被作者于2012-10-8 17:24:50编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/10/8 17:27:00
--  

这是基本常识来的:

http://www.foxtable.com/help/topics/1580.htm