Office中国论坛/Access中国论坛

标题: 紧急求教:请高手帮忙看一下 查询怎么不行 老是出错? [打印本页]

作者: panyifan    时间: 2007-3-2 18:53
标题: 紧急求教:请高手帮忙看一下 查询怎么不行 老是出错?


[attach]23312[/attach]


我也搞不明白  代码是仿照别人的改的

我在两个电脑上运行的错误不一样


一个按时间查询的话可以用的    选下面的条件的话就都为空了

一个是根本就不能运行    一点就出错


请各位大虾帮忙看看    以下是代码(附件是原文件)

Private Sub 命令12_Click()
On Error GoTo Err_命令12_Click
Dim strWhere As String  '定义条件字符串
   
    strWhere = "" '设定初始值-空字符串
   
   
    If Not IsNull(Me.开始日期) Then
        '【进书日期开始】有输入
        strWhere = strWhere & "([日期] >= #" & Format(Me.开始日期, "yyyy-mm-dd") & "#) AND "
    End If
    If Not IsNull(Me.结束日期) Then
        '【开始日期】有输入
        strWhere = strWhere & "([日期] <= #" & Format(Me.结束日期, "yyyy-mm-dd") & "#) AND "
    End If
   
     '判断【单位编码】条件是否有输入的值
    If Not IsNull(Me.单位编号) Then
        '有输入
        strWhere = strWhere & "([单位编号] like '*" & Me.单位编号 & "*') AND "
    End If
   
    '判断【单位名称】条件是否有输入的值
    If Not IsNull(Me.单位名称) Then
        '有输入
        strWhere = strWhere & "([单位名称] like '*" & Me.单位名称 & "*') AND "
    End If
   
    '判断【工地编号】条件是否有输入的值
    If Not IsNull(Me.工地编号) Then
        '有输入
        strWhere = strWhere & "([工地编号] like '" & Me.工地编号 & "') AND "
    End If
   
     '判断【工地名称】条件是否有输入的值
    If Not IsNull(Me.工地名称) Then
        '有输入
        strWhere = strWhere & "([工地名称] like '" & Me.工地名称 & "') AND "
    End If
   
        
   
    '如果输入了条件,那么strWhere的最后肯定有" AND ",这是我们不需要的,
    '要用LEFT函数截掉这5个字符。
    If Len(strWhere) > 0 Then
        '有输入条件
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If
   
    '先在立即窗口显示一下strWhere的值,代码调试完成后可以取消下一句
    Debug.Print strWhere
   
    '让子窗体应用窗体查询
    [单位工程明细表查询].Form.Filter = strWhere
    [单位工程明细表查询].Form.FilterOn = True
   
Exit_命令12_Click:
    Exit Sub

Err_命令12_Click:
    MsgBox Err.Description
    Resume Exit_命令12_Click
   
End Sub


作者: panyifan    时间: 2007-3-2 21:53
自已顶一下   
作者: 一点通    时间: 2007-3-2 22:11
引用损失,请查询一下
作者: panyifan    时间: 2007-3-2 23:25
一点通   老师  谢谢你的回复  



但是我还是不太明白“引用损失”是什么意思

是指引用的窗框体还是其他

我查了还是没发现

[em04]

麻烦 能不能把您改好的能执行的那个文件传上来  谢了

在下实在是菜...[em04][em04][em04]
作者: 一点通    时间: 2007-3-3 00:30
书写失误,应该为"掉失"

在VBA编辑状态下,在工具栏中

工具--引用,将"掉失"的哪一行打勾取消


作者: panyifan    时间: 2007-3-3 17:37
以下是引用一点通在2007-3-2 16:30:00的发言:


书写失误,应该为"掉失"

在VBA编辑状态下,在工具栏中

工具--引用,将"掉失"的哪一行打勾取消

谢谢一点通老师     

已经改了   现在是点上出不出错了   谢谢   

不过不知为什么  选了上面的条件后查询   下面子窗体里的数据都是空

还请老师能不能帮忙再看一下

谢谢
作者: 一点通    时间: 2007-3-3 18:08
1,子窗体名称拼写错误

2,单位名称及单位编码只用一个作判断就行了,不要重复使用(是冗余条件),建议保留单位名称作为查询条件,因为组合框使用了ID字段隐藏,其真正值是ID而不是单位编码.

3.其它字段的条件类推


作者: panyifan    时间: 2007-3-3 19:10
谢谢一点通老师

按您说的   已经好了   

谢谢!!!




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