以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  通用代码失效  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=41991)

--  作者:东坡一剑
--  发布时间:2013/11/1 8:44:00
--  通用代码失效

有这样一段代码,在access数据源时,运行正常,当转为SQL Server时却提示:找不到列[出库时间],检查服务器上名为“数据源”的数据库中名为"出库记录"的表,明明就有名为”出库时间“的列!而打开项目中的表"出库记录",同样有这一列,怎么就找不到呢?甚为不解!

If Connections("数据源").SourceType = 1 Then
    max = DataTables("出库记录").Compute("Max(出库单号)","发货单位 =\'" & user.Group & "\' And 出库时间 =#" & d & "#")
ElseIf  Connections("数据源").SourceType = 2 Then
    max = DataTables("出库计划记录").Compute("Max(出库单号)","发货单位 =\'" & user.Group & "\' And 出库时间 =\'" & d & "\'")
End If


--  作者:Bin
--  发布时间:2013/11/1 8:45:00
--  
SQL日期应该用单引号 而不是井号
--  作者:Bin
--  发布时间:2013/11/1 8:47:00
--  
帮助里面也有提醒 http://www.foxtable.com/help/topics/0688.htm
--  作者:东坡一剑
--  发布时间:2013/11/1 8:54:00
--  
ElseIf  Connections("数据源").SourceType = 2 Then
    max = DataTables("出库计划记录").Compute("Max(出库单号)","发货单位 =\'" & user.Group & "\' And 出库时间 =\'" & d & "\'")

我是用的单引号哦
--  作者:Bin
--  发布时间:2013/11/1 8:56:00
--  
那检查一下是否有出库时间列  名称是否对
--  作者:东坡一剑
--  发布时间:2013/11/1 8:58:00
--  

有出库时间列  名称也对

服务器的数据库中也有


--  作者:Bin
--  发布时间:2013/11/1 9:01:00
--  
   max = DataTables("出库计划记录").Compute("Max(出库单号)","发货单位 =\'" & user.Group & "\' And 出库时间 =\'" & d & "\'")

你这里用的并不是SQL语句啊. 而是狐表里面的Compute 用的应该还是#号才对. 另外你检查的应该是狐表里面 (出库计划记录) 这个表是否有 出库时间列

--  作者:东坡一剑
--  发布时间:2013/11/1 9:17:00
--  

明白了,谢谢!