第一步
新建vb工程 新建数据库
第二步
引入数据库环境:
ms activiteX data OBJECTS 2.8 LIBRARY
ms excel 11.0
引入显示控件:
常用的有三个
datagrid:可以直接从表格修改数据库数据 但是不能设置每行的颜色 推荐2st
flexgrid:可以显示数据库数据 只读的
hflexgrid:支持ado 可以设置每行显示数据的颜色 推荐1st
第三步:编写代码 将数据库数据筛选显示到表格控件里面
----------------------------------------------------------------------
下面给出我写的vb连接access 和excel的源代码
----------------------------------------------------------------------
全部源代碼
'-------define hong------------ Dim ConStr As String Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim cn1 As ADODB.Connection Dim rs1 As ADODB.Recordset Private statestring As String Private Sub Command1_Click() Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection Dim Source As String CommonDialog1.Filter = "All Files (*.*)|*.xls" CommonDialog1.FilterIndex = 2 CommonDialog1.ShowOpen Text3.Text = CommonDialog1.FileName Source = CommonDialog1.FileName With cnn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & Source & ";Extended Properties=Excel 8.0;" .Open .Execute "INSERT INTO [toolsok] IN '" & App.Path & "\toolsdemo.mdb' SELECT * FROM [Sheet1$] " .Close End With MsgBox "ok" End Sub Private Sub Command2_Click() On Error GoTo ErrHandler CommonDialog1.Filter = "All Files (*.*)|*.xls" CommonDialog1.FilterIndex = 2 CommonDialog1.ShowOpen Text3.Text = CommonDialog1.FileName Exit Sub ErrHandler: End Sub Private Sub Form_Load() Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\toolsdemo.mdb;Persist Security Info=False" '------------------change cn.Open ConStr cn.CursorLocation = adUseClient Select Case cn.State Case adStateClose statestring = "adStateClosed" Case adStateOpen statestring = "adStateOpen" End Select If statestring = "adStateClosed" Then MsgBox "CONNECT ERROR!", , statestring Else End If '----------open the table------------------ rs.Open "SELECT * FROM toolsok order by 識別碼 desc", cn, 2, 3 Set DataGrid1.DataSource = rs Text4.Text = rs.d DataGrid1.Refresh Call show_excel End Sub Private Function show_excel() Set cn1 = New ADODB.Connection Set rs1 = CreateObject("ADODB.Recordset") Dim XLS_FILE As String Set cn1 = CreateObject("ADODB.Connection") Set rs1 = CreateObject("ADODB.Recordset") cn1.Open "provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & App.Path & "/excel.xls;" & "Extended Properties=Excel 8.0;" rs1.Open "select * from [sheet1$]", cn1, 3, 3 Text2.Text = rs1.RecordCount Set MSHFlexGrid1.DataSource = rs1 MSHFlexGrid1.Refresh End Function
VB壓縮access2003
'工程引入Microsoft Jet and Replication Objects Library
Private Sub Command1_Click()
Dim path, path1 As String
Dim FIXDB As New JRO.JetEngine
path = App.path & "\base\tmsdata.mdb"
path1 = App.path & "\base\tmsdata_tmp.mdb"
FIXDB.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path1
Kill path '刪除源文件
FileCopy path1, path '生成壓縮後的源文件
Kill path1 '刪除緩存的文件
MsgBox " OK"
End Sub