(注意:这里的后缀是MDB,如果Access是2007版本的,保存的时候要另存为2003版本的才行,因为,VB不直接支持07版的accdb后缀格式。)
2:数据库建立后就进入了数据表界面,可以输入数据了,输完以后CRRL+S保存,输入表名,这里表名为test,ok,准备工作搞定。
3.打开VB,然后新建标准exe。
4.菜单中找到工程→部件→勾选
,
Microsoft
ADO
Data
Control
6.0
Microsoft
Hierarchical
Flexgrid
Control
6.0
勾选后左侧工具栏里就多了两个控件即 ADODC控件和MSHFlexGrid控件。
5.选择 ADODC控件和MSHFlexGrid控件,放在窗体的合适位置,如图:
6.设置ADODC控件的属性:
右键窗体内ADODC1控件
1)ADODC属性页→通用→选择使用连接字符串→点击生成→选择Microsoft
Jet
4.0
OLE
DB
Provider
点击下一步→选择之前准备好的数据库→点击测试连接,显示测试成功则ok,确定。
2)ADODC属性页→记录源→命令类型选择2-adcmdtable,表或存储过程名称选择之前建立的数据表test,点击确定,ADODC属性设置完成。
7.设置MSHFlexGrid控件的属性:
VB右侧属性表里,找到datasource,选择adodc1.
8.测试效果:
1)菜单→运行→启动(F5),发现显示的数据排列不是我们想要的行数和列数
修改方法:
2)MSHFlexGrid属性→通用→设置行和列,固定行和固定列,设置见图。
3)MSHFlexGrid属性→带区→把列标题的√取消掉,设置见图。
9.修改后的测试效果:
如果只是简单的显示,那么可以用activex控件里面的dbgrid之类的,把他们绑定到数据源上面就可以显示了。但是具体 *** 作会比较复杂,建议在网上搜索一下dbgridvb,搜索结果第一条就讲得很详细
可以快速导出使用excel 就有该功能
Public Function ExportToExcel(ByVal strOpen As String, Title As String, dizhi As String, con As ADODB.Connection)'*********************************************************
'* 名称:ExporToExcel
'* 功能:导出数据到EXCEL'* 用法:ExporToExcel(strOpen查询字符串,titile
'*excel标题,dizhi 保存路径,con 数据库连接地址)
'*********************************************************
lok: On Error GoTo er
Screen.MousePointer = 11
Dim Rs_Data As New ADODB.Recordset
Dim Irowcount As Long
Dim Icolcount As Long
Dim XlApp As New Excel.Application
Dim xlbook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable
With Rs_Data
If .State = adStateOpen Then
.Close
End If
.ActiveConnection = con
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Source = strOpen
DoEvents
' Debug.Print strOpen
.Open
End With
Debug.Print strOpen
' Set Rs_Data = Open_rst_from_str(strOpen)
With Rs_Data
If .RecordCount < 1 Then
MsgBox ("没有记录!")
Screen.MousePointer = 0
Exit Function
End If
'记录总数
Irowcount = .RecordCount
'字段总数
Icolcount = .Fields.Count
End With
Set XlApp = CreateObject("Excel.Application")
Set xlbook = Nothing
Set xlSheet = Nothing
Set xlbook = XlApp.Workbooks().Add
Set xlSheet = xlbook.Worksheets("sheet1")
'添加查询语句,导入EXCEL数据
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End With
xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh
Dim i As Integer, Zd As String
With xlSheet
For i = 1 To 6
Zd = .Range(.Cells(1, 1), .Cells(1, Icolcount)).item(1, i)
' .Range(.Cells(1, 1), .Cells(1, Icolcount)).Item(1, i) = Lm_YwToZw(Zd)
Next
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.name = "黑体"
'设标题为黑体字
' .Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True
'标题字体加粗
.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
' .Range(.Cells(Irowcount + 2, Icolcount)).Text = Zje
'设表格边框样式
End With
XlApp.Visible = True
XlApp.Application.Visible = True
' xlBook.SaveAs dizhi
Set XlApp = Nothing '"交还控制给Excel
Set xlbook = Nothing
Set xlSheet = Nothing
Screen.MousePointer = 0
Exit Function
er:
' Dispose_Err
MsgBox err.Description & " 从新导报表,请等待!"
GoTo lok:
End Function
使用这个模块就可以,你可以看看引用的函数即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)