Office中国论坛/Access中国论坛

标题: ACCESS代码中的类型不匹配问题 [打印本页]

作者: ty_1029    时间: 2009-2-6 15:14
标题: ACCESS代码中的类型不匹配问题
早上问了个SQL语句的转换,按照提示,做了一下,出现类型不匹配的问题,查了一下,都是字符串的用"  ",数据性的用' ',可我改来改去,还是不可以,为了方便期间,我把条件放成3个,其中两个字段是文本类型,两个是数字类型(可以看表的类型设置)
请大家帮个忙,要求是按照附件上的表和窗体,能够按照查询中的"查询1"中的条件,该写在窗体"自助查询"中的确定按纽事件中,将结果显示在LISTVIEW中去,详细的请看附件.
其中自助查询子窗体是我用子窗体实现的,我现在想用LISTVIEW来实现这个功能,拜托各位了~~~

1\原来的帖子: http://www.office-cn.net/vvb/thread-68398-1-1.html

2\[attach]34865[/attach]
作者: ty_1029    时间: 2009-2-6 15:15
请大家帮我该一下自助查询窗体中的代码~~
作者: ACMAIN_CHM    时间: 2009-2-6 15:53
加了一个函数

Private Function sChkWhere(sWhere As String) As String
    If sWhere = "" Then
        sChkWhere = sWhere & " where"
    Else
        sChkWhere = sWhere & " and"
    End If
End Function

查询按钮内代码如下

Private Sub 查询_Click()
    Dim sSQL As String
    sSQL = "select tnoid, tnam, dgnum from DBBackup"
   
    Dim sWhere As String
    If Not IsNull(Me.Text1.Value) And Not Trim(Me.Text1.Value) = "" Then
        sWhere = sChkWhere(sWhere) & " tnoid like '%" & Me.Text1.Value & "%'"
    End If
   
    If Not IsNull(Me.Text2.Value) And Not Trim(Me.Text2.Value) = "" Then
        sWhere = sChkWhere(sWhere) & " tnam like '%" & Me.Text2.Value & "%'"
    End If
   
    If Not IsNull(Me.Text5.Value) And Not Trim(Me.Text5.Value) = "" Then
        sWhere = sChkWhere(sWhere) & " dgnum >= " & Me.Text5.Value
    End If
   
    If Not IsNull(Me.Text6.Value) And Not Trim(Me.Text6.Value) = "" Then
        sWhere = sChkWhere(sWhere) & " dgnum <= " & Me.Text5.Value
    End If
   
    sSQL = sSQL & sWhere
   
    Debug.Print sSQL
    ListView1.ListItems.Clear
   
    Dim rs As New ADODB.Recordset
    Dim itemX
   
    rs.Open sSQL, CurrentProject.Connection
    Do While Not rs.EOF
        Set itemX = ListView1.ListItems.Add()
        itemX.Text = rs!tnoid
        itemX.SubItems(1) = rs!tnam
   
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
End Sub



******************
*  一切皆有可能  *
******************

同一贴子不回复第二次
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: ty_1029    时间: 2009-2-6 17:13
非常感谢ACMAIN_CHM 的热情帮助~~

不知道有没有好的办法和方法可以复制或导出LISTVIEW中显示的数据啊~

期待~~~
作者: koutx    时间: 2009-2-6 18:01
本帖最后由 koutx 于 2009-2-6 18:08 编辑

3楼已给出准确方案,偶帮你将样库改了一下,虽方法有异但已通过。既然已作好了就发给你参考吧。
Listview中的数据不就是Recordset中的吗?怎么导出就不是问题了。
[attach]34883[/attach]
作者: ty_1029    时间: 2009-2-6 21:04
3楼已给出准确方案,偶帮你将样库改了一下,虽方法有异但已通过。既然已作好了就发给你参考吧。
Listview中的数据不就是Recordset中的吗?怎么导出就不是问题了。
34883
koutx 发表于 2009-2-6 18:01


能明示吗?
小弟菜的很,不好意思啊,呵呵~~

顺便问一下,我自己没有测试,用这样的方式查询数据速度快,还是利用子窗体那样速度快啊~~~
作者: koutx    时间: 2009-2-6 21:37
如欲导出为Excel,可搜索论坛相应贴子,有详细样本。至于哪个快,应该是子窗体莫属吧。




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