Office中国论坛/Access中国论坛

标题: 急救:SQL语句建立视图与VBA中执行后的记录集竟然不一致?? [打印本页]

作者: coffeehanf    时间: 2004-5-10 23:37
标题: 急救:SQL语句建立视图与VBA中执行后的记录集竟然不一致??
我的SQL语句用VBA程序执行建立记录集得到的结果与
SQL语句建立视图出来的记录集不一致
哪位兄弟遇到过类似问题,请指教,兄弟我万分感谢!!!!

文件请大家下载!!!!

[attach]4606[/attach]
作者: Ajoe    时间: 2004-5-11 01:44
呵呵,全部是A的,我帮不了你,不过我想学!
作者: zhuyiwen    时间: 2004-5-11 18:37
但如果改成DAO记录集就是正确的结果,不知什么原因.
作者: zhuyiwen    时间: 2004-5-11 18:38
我是这样比较的:

Private Sub Form_Load()
    Dim txtSQL As String
    Dim daoRs As DAO.Recordset
    Dim adoRs As New ADODB.Recordset
   
    txtSQL = "v_Order_Sum"
   
    Me.v_Order_Sum.Form.RecordSource = txtSQL
   
    Set daoRs = CurrentDb().OpenRecordset(txtSQL)
    Set Me.List12.Recordset = daoRs
   
    adoRs.Open txtSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Set Me.List10.Recordset = adoRs
End Sub

作者: 竹笛    时间: 2004-5-12 00:01
我测试了,一样,没找到原因,觉得就是少了第二个分组。

[em25]
[此贴子已经被作者于2004-5-11 16:02:45编辑过]


作者: zhuyiwen    时间: 2004-5-18 19:58
在MS私有新闻组的MVP帮助下解决此问题。



结果是,在ADO中匹配字符要使用“%”和“_”,因此,将v_order改为:

SELECT [SalesName],"B" AS [ProName],[ProMoney],[OrderDate]

FROM [Order] WHERE [ProName] LIKE "A%"

UNION ALL SELECT [SalesName],"A" AS [ProName],[ProMoney],[OrderDate]

FROM [Order] WHERE [ProName] Not LIKE "A%";



为了ACCESS能使用这样的匹配符,在菜单--工具--选项进行设置兼容SQL92语法.

[此贴子已经被作者于2004-5-18 12:05:10编辑过]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3