Office中国论坛/Access中国论坛

标题: 如何通过参数进行报表的使用 [打印本页]

作者: yanwei82123300    时间: 2012-7-13 09:00
标题: 如何通过参数进行报表的使用
本帖最后由 yanwei82123300 于 2012-7-13 09:03 编辑

上次在小宝老师的帮助下解决了报表排序问题,但是在有参数的情况下,不能出现手动添加的空行和排序号。请大家帮助看看,谢谢
作者: koutx    时间: 2012-7-13 10:17
在报表打开事件中按如下改一下即可“
If sz > 0 Then
    For i = 1 To sz
        DoCmd.RunSQL "INSERT INTO tbltemptrace (order_qty, MONumber) VALUES (Null, '" & Form_Form1.MONumber & "')"
    Next
End If

作者: yanwei82123300    时间: 2012-7-13 10:24
koutx 谢谢帮助!!
作者: yanwei82123300    时间: 2012-7-13 10:44
koutx 老师请帮助看看,每次输入MO时系统的错误提示
作者: koutx    时间: 2012-7-13 22:29
将原Form1删除,重建一个Form1。只在Command2_Click事件中加如下代码:
Private Sub Command2_Click()
    Dim sqltext As String
    sqltext = "update 报表设置 set 报表设置.kh = " & CInt(Me.countCell)
    DoCmd.RunSQL sqltext

    Dim stDocName As String

    stDocName = "rptGser1"
    DoCmd.OpenReport stDocName, acPreview
End Sub

作者: yanwei82123300    时间: 2012-7-14 08:26
koutx  谢谢帮助111

作者: yanwei82123300    时间: 2012-11-4 17:39
koutx 发表于 2012-7-13 22:29
将原Form1删除,重建一个Form1。只在Command2_Click事件中加如下代码:
Private Sub Command2_Click()
   ...

各位老师好!上次koutx 老师帮助我解决了一个手动添加的空行和排序号的问题
下面是您写的代码:

将原Form1删除,重建一个Form1。只在Command2_Click事件中加如下代码:
Private Sub Command2_Click()
    Dim sqltext As String
    sqltext = "update 报表设置 set 报表设置.kh = " & CInt(Me.countCell)
    DoCmd.RunSQL sqltext

    Dim stDocName As String

    stDocName = "rptGser1"
    DoCmd.OpenReport stDocName, acPreview
End Sub


在报表打开事件中按如下改一下即可“
If sz > 0 Then
    For i = 1 To sz
        DoCmd.RunSQL "INSERT INTO tbltemptrace (order_qty, MONumber) VALUES (Null, '" & Form_Form1.MONumber & "')"
    Next
End If
现在由一个问题:
能否将此中'" & Form_Form1.MONumber & "' 变为模糊查询,只需要输入其中一些数值就可查询到数据:
例如:
MO-123416 ,输入123416就可以进行报表查询了。
请大家帮助看看,谢谢。

作者: tmtony    时间: 2012-11-4 18:00
一般我建议你,查询不直接绑定窗体的 控件,这样可以实现,但灵活度不够,你可在打开报表时传递 筛选条件过去
1.首先将报表的数据源直接设置为表
2.打开报表时 传递 条件过去 DoCmd.OpenReport stDocName, acPreview, , "MONumber like '*" & Me.MONumber & "*'"


Private Sub Command2_Click()
On Error GoTo Err_Command2_Click

    Dim stDocName As String

    stDocName = "rptGser1"
    DoCmd.OpenReport stDocName, acPreview, , "MONumber like '*" & Me.MONumber & "*'"

Exit_Command2_Click:
    Exit Sub

Err_Command2_Click:
    MsgBox Err.Description
    Resume Exit_Command2_Click
   
End Sub
作者: yanwei82123300    时间: 2012-11-4 18:46
谢谢tmtony 老师帮助,我明白了。例子在1楼,主要是报表中的代码限制了模糊条件,看看能否修改下面的代码,是它变成模糊查询条件。(主要是添加空白行)qty字段值是多少空行就有多少
If sz > 0 Then
    For i = 1 To sz
        DoCmd.RunSQL "INSERT INTO tbltemptrace (order_qty, MONumber) VALUES (Null, '" & Form_Form1.MONumber & "')"
    Next
End If

作者: koutx    时间: 2012-11-6 13:12
本帖最后由 koutx 于 2012-11-6 13:13 编辑

刚看到,试了一下还行:
见附件说明:可输入129619/也可输入全称Mo-129619)前提是:表中Mo号前三个字符都是"Mo-"
[attach]50595[/attach]


作者: yanwei82123300    时间: 2012-11-6 15:47
koutx 老师谢谢帮助,表中Mo号前三个字符都是"Mo-"

作者: yanwei82123300    时间: 2012-11-6 15:51
koutx 老师请帮助看看错误提示,不知何原因,谢谢
作者: yanwei82123300    时间: 2012-11-6 15:54
koutx 老师谢谢帮助,写错位置了{:soso_e117:}




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