带子串函数的DAO记录集
问题描述:
我有一个vb6应用程序,我使用DAO创建到数据库的连接并尝试打开记录集。该数据库是一个foxpro数据库,我已经参考了Microsoft DAO 2.5/3.5兼容性库。带子串函数的DAO记录集
我的代码如下
Dim gdbSMS As Database
If gdbSMS Is Nothing Then
Set gdbSMS = OpenDatabase("C:\Work\M2M Test\DATA", False, False, "Foxpro 2.6;")
End If
Dim sql As String
sql = "select *, substr(lineitem,8,6) as aa from shippers where shipper = '001322' order by aa"
Dim rsShipper As DAO.Recordset
Set rsShipper = gdbSMS.OpenRecordset(sql)
Do While Not rsShipper.EOF
Beep
rsShipper.MoveNext
Loop
rsShipper.Close
当我执行德线openrecordset我得到一个错误“undefinied功能‘SUBSTR’在表达 我运行在FoxPro中完全相同的查询,它工作正常。任何什么我需要做的想法得到这个与子职能的工作? 感谢
答
尝试使用T-SQL字符串函数来代替。
SUBSTRING (value_expression , start_expression , length_expression)
答
不使用DAO记录集,而是使用数据表,并使用OleDBProvider的FoxPro数据数据适配器(绝对不会回到福克斯2.X)为您提供了更多的查询当前的灵活性....
这就是说,你可以尝试做什么SUBSTR()实际上做...尝试改变为
RIGHT(LEFT(LineItem, 14), 6) as AA
你尝试使用'Mid'而不是'substr'? – wqw