Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何用代码为报表指定数据源?

54.℡80後2oO  发表于:2012-07-22 19:33:29  
复制

请问如何用代码为报表指定数据源?(已做好查询)就是想用代码来为此报表根据不同情况,指定不同的数据源(即来源于不同的查询)

 

Top
在水一方 发表于:2012-07-22 19:52:11

在窗体‘加载’或‘打开’事件中写入

Private Sub Form_Load()
   Me.窗体名称.Form.RecordSource = "查询名称"  '"查询名称"也可以直接写生气了语句内容。
End Sub

 



在水一方 发表于:2012-07-22 19:53:26

在窗体‘加载’或‘打开’事件中写入

Private Sub Form_Load()
   Me.窗体名称.Form.RecordSource = "查询名称"  '"查询名称"也可以直接写Sql语句的内容。
End Sub



54.℡80後2oO 发表于:2012-07-22 20:43:37
LS的兄弟,请注意是报表指定数据源,我是想在打印按扭中先为通用报表指定数据源(是已做好的查询,而不是SOL语句),然后打开报表打印……

在水一方 发表于:2012-07-22 21:14:18

  Private Sub Report_Open(Cancel As Integer)
      Me.Report.RecordSource = "查询"
  End Sub



54.℡80後2oO 发表于:2012-07-22 21:21:00

那么在窗体的打印按扭事件中如何设置呢?



叶海峰 发表于:2012-07-23 08:51:24

提供2个解决方法.还有其他的办法就一一不详列

1.docmd.openreport,打开模式参数设为设计模式,并且隐藏,然后设置recordsource,保存;再打开报表,预览模式

 

2.你报表的数据源为一个查询,用以下代码重建查询的SQL语句

 Dim qdf    As QueryDef
 Set qdf = CurrentDb.QueryDefs("查询1")
 qdf.SQL = "select * from 查询1"

 



54.℡80後2oO 发表于:2012-07-23 10:42:32

请叶版主看看,下面代码如何修改才能预览成功:

 

Private Sub 批量打印预览_Click()
On Error Resume Next
   
If DCount("打印标记", "病人资料总表", "打印标记=true") - 1 < 0 Then

   MsgBox "请选择要预览的记录!", vbInformation, "Microsoft Office Access"
   Me.日期.SetFocus
  
Else
   
    Dim qdf    As QueryDef
    Set qdf = CurrentDb.QueryDefs("批量打印查询")
    'qdf.SQL = "select * from 批量打印查询 where 打印标记=true"
    'DoCmd.OpenReport "批量打印", acViewPreview, , , acWindowNormal
   
    Dim stDocName As String

    stDocName = ChrW(24635) & ChrW(-30616) & ChrW(26597) & ChrW(-29726) & ChrW(25171) & ChrW(21360)
    DoCmd.OpenReport stDocName, acViewPreview, , "select * from 批量打印查询 where 打印标记=true", acWindowNormal

    Me.批量选中.Caption = "批量选中"
    Me.日期查询.Requery

End If



总记录:7篇  页次:1/1 9 1 :