我正在研究一些VB6代码来连接数据库以返回特定的数据子集。所需的所有信息都在一个表中,但我在根据另一个查询的结果建立正确的方法来选择我的结果时遇到了一些麻烦。
下面是我在那里创建查询时由Access生成的SQL,但我正在尝试将它们转换为在我的VB6应用程序中使用:
'*编辑 -
" & Chr(34) & lstAb.Text & Chr(34) & "
以上感谢David推动这个代码朝着正确的方向发展。从那里,我使用调试窗口来确认我在Access中的选择,这确实是一种非常棒的体验。不得不稍微调整一下我的别名,但当Access要求我键入应该已经声明的其他值时,一切都变得非常明显。
再次感谢大卫!
答案 0 :(得分:1)
在两个表之间进行一些正确的连接可能会好得多,而不是指定一个子查询。但是,这不是问题,我不认为。
查看代码,我相信您在标准周围缺少一些引号。你说:
"...clone_id = " & lstAb.Text & ") ORDER..."
这应该是:
"...clone_id = " & Chr(34) & lstAb.Text & Chr(34) & ") ORDER..."
为您提供lstAb.Text
中找到的文字的引文。
测试这类函数的一种简单方法是Debug.Print(sSql)
并查看Debug
窗口以查看SQL的外观。获取该SQL的副本,将其放入MSAccess中的新查询中(您可以将查询告诉“查看SQL”),然后尝试找出它出错的地方。
如果您的查询中没有嵌套查询,则更容易看到,因为您可以查看查询设计器。
答案 1 :(得分:0)
您指定Details.func_ID) Like "Simp_*"
。在您的数据示例中,没有包含Simp_
字符串的记录