分享
 
 
 

VB与数据库应用一例----生成EXCEL表

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

小生初学炸练,总结了以下一个方法,因为时间有限,所以没有太多检查程序,难免有BUG,但是关键功能没有问题。这测试过了,嘿嘿。

这个程序可以将下图表格中(MSHFLEXGRID控件)的

数据生成一个EXCEL表,这样可以省去用VB

来编写打印排版程序的麻烦。想一想自已动

手用VB或DELPHI写一个像EXCEL的排版功能

一样的东东,是多么的恐怖!!。所以嘿嘿。。

http://go.163.com/~chunpeng/Project/Grid.jpg

原程序下载:

因为我用的是ACCESS2000的样本数据库---

NorthWind.mdb 所以安了OFFICE2000的可以

下载下面这个:(不代NorthWind.mdb,下载后请将

Office2000里那个COPY到这个程序的目录中就行)

go.163.com/~chunpeng/Project/PrintExcela.zip

没有NorthWind.mdb的可以下载这个:

go.163.com/~chunpeng/Project/PrintExcel.zip

高手可以直接看下面,如果用VB做过数据库应

用的朋友给点意见,这种方法我曾在多个MIS

系统中见过,只不过生成的是WORD文档。这是

一种比较典型的方法。

Public WithEvents rs As ADODB.Recordset

Dim conn As ADODB.Connection

Dim myPanel As Panel

Private Sub Form_Load()

Set rs = New ADODB.Recordset

Set conn = New ADODB.Connection

conn.CursorLocation = adUseClient

conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\northwind.mdb;"

rs.Open "select *from 产品", conn, adOpenStatic, adLockOptimistic

Set MSgrid1.DataSource = rs

StatusBar1.Panels.Clear

Set myPanel = StatusBar1.Panels.Add(, "Record")

myPanel.AutoSize = sbrContents

myPanel.Text = "总共有" & " " & rs.RecordCount & " " & "条记录"

End Sub

Private Sub Form_Resize()

With MSgrid1

.Left = 0

.Top = Toolbar1.Height

.Width = Me.ScaleWidth - 10

.Height = Me.ScaleHeight - (StatusBar1.Height + 700)

End With

End Sub

Private Sub Print_cmd_Click()

Form2.Show

Dim myExcel As New Excel.Application, i, j, k As Integer, col As String

With myExcel

On Error GoTo Excle

.Application.Visible = False

.Workbooks.Add

'***********画字段************

j = 0

'Example: B2 ----G2 '列 本程序从B列,和第2行开始

For i = 66 To (66 + rs.Fields.Count - 1) '从RS中头一个字段到最后一个

col = Chr(i) & "2" 'Chr(66)就是B

'Debug.Print col

Range(col).Select

ActiveCell.FormulaR1C1 = rs.Fields(j).Name '

j = j + 1

Next i

'****************************

'*************以先横后竖顺序画表***************

k = 0

rs.MoveFirst

DoEvents

For j = 3 To 3 + rs.RecordCount '本程序从B3开始,所以用3

k = 0

For i = 66 To (66 + rs.Fields.Count - 1)

col = Chr(i) & CStr(j) '得到目标表格的值如 C3

Range(col).Select

ActiveCell.FormulaR1C1 = rs.Fields(k)

k = k + 1

Next i

On Error Resume Next

Form2.Probar.Value = Form2.Probar.Value + 1

rs.MoveNext

If rs.EOF = True Then

Unload Form2

.Application.Visible = True

End If

Next j

'************************************

End With

Exit Sub

Excle:

MsgBox ("您没有安装EXCLE2000,请先安装EXCEL2000")

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有