用access,这本来不是我的活的,我用vb调用过excel来打印报表,现在也想用这个实现,不知道可不可以实现
解决方案 »
- 如何关闭用shell语句打开的可执行性程序 急!!!!!
- 问:使用什么函数可以计算出该date数据是星期几啊??
- 一个关于mscomm的问题!!!!(望高手解答)(可以拿出1000分)
- 请教微软专家:一个有关DataReport的棘手问题
- ??一个DataGrid控件没有和任何数据源绑定,它的各个字段怎样得到一些文本框的数据??又怎样传给一个数据库的表??
- ★百分相送★ 菜鸟问题★:如何用ADO打开ACCESS2000数据库,请尽量将代码写的简单些!
- 每一次启动WORD、ACCESS等OFFICE软件时总出现Windows正在安装,正在安装WORD、ACCESS组件等信息
- 查找的实现
- 用vb编屏幕保护程序,在什么样的情况下才能触发它,应怎样编。谢谢!
- 提取方法、属性
- 怎样制做根据图片(不规则形状的)形状制作窗体?
- ■■急!!!高薪招聘VB程序员6000以上(要有项目经验VB+数据库)
其基本方法如下:
第一步建好excel报表的模板。
第二步在程序中调用,并在工程事引用
看看以下的例子:
Private Sub cmdprint_Click()Dim wkbObj As Workbook '定义工作空间
Dim wksObj As New Worksheet '定义表单 On Error GoTo ErrorE:
If MaskEdBox1.Text = "" Or IsDate(MaskEdBox1.FormattedText) = False Then
MaskEdBox1.Text = Format("1901-01-01", "YYYY年MM月DD日")
End If
If MaskEdBox2.Text = "" Or IsDate(MaskEdBox2.FormattedText) = False Then
MaskEdBox2.Text = Format(Date, "YYYY年MM月DD日")
End If
'意向客户资料全查询
labprintinfor.Caption = "正在生成打印,请等待......."
labprintinfor.Visible = True
Set mSHfind = New SHFind
Set Rs3 = New ADODB.Recordset
Set Rs3 = mSHfind.SHGetGuestM(Trim(txtguestname.Text), Trim(txtcompanyname.Text), MaskEdBox1.FormattedText, MaskEdBox2.FormattedText)
If Rs3.EOF Then
Rs3.Close
Set Rs3 = Nothing
Exit Sub
End If
Set wkbObj = Workbooks.Open(App.Path & "\report\Xguestpass.xls") '打开模版
Set wksObj = wkbObj.Worksheets(1) '打开表单模版
'表头
wksObj.Cells(1, 1) = "操作员:"
wksObj.Cells(1, 2) = PUserName
wksObj.Cells(2, 1) = "日期:"
wksObj.Cells(2, 2) = Date
wksObj.Cells(1, 8) = PUnitName
wksObj.Cells(2, 8) = PEnglishname
wksObj.Cells(5, 1) = "起始日期:" & MaskEdBox1.FormattedText
wksObj.Cells(5, 3) = "结束日期:" & MaskEdBox2.FormattedText
I = 6
Do Until Rs3.EOF
I = I + 1
'报尾 ' 表内容
wksObj.Cells(I, 1) = IIf(IsNull(Trim(Rs3!DguestID)) = True, "", Trim(Rs3!DguestID))
wksObj.Cells(I, 2) = IIf(IsNull(Trim(Rs3!dguestname)) = True, "", Trim(Rs3!dguestname))
wksObj.Cells(I, 3) = IIf(IsNull(Trim(Rs3!Dsex)) = True, "", Trim(Rs3!Dsex))
wksObj.Cells(I, 4) = IIf(IsNull(Trim(Rs3!Dtel)) = True, "", Trim(Rs3!Dtel))
wksObj.Cells(I, 5) = IIf(IsNull(Trim(Rs3!Demail)) = True, "", Trim(Rs3!Demail))
wksObj.Cells(I, 6) = IIf(IsNull(Trim(Rs3!DpostNumber)) = True, "", Trim(Rs3!DpostNumber))
wksObj.Cells(I, 7) = IIf(IsNull(Trim(Rs3!DconnectAddress)) = True, "", Trim(Rs3!DconnectAddress))
Rs3.MoveNext
'copy行
If Not Rs3.EOF Then
wksObj.Range("A7:M7").Select
Selection.Copy
wksObj.Range("A" + Format(I + 1)).Select
ActiveSheet.Paste
End If
Loop '可视
wkbObj.Application.Visible = True
'打印预兰
wksObj.PrintPreview
'关闭
wkbObj.Close SaveChanges:=False
Workbooks.Close
labprintinfor.Visible = False
Exit Sub
ErrorE:
MsgBox "系统出错,请联系管理员!", , "提示"
End Sub
还有你要用的查询哟