有一个vb操作数据库的例子,想改成操作access2000以上版本的,数据库不怎么熟悉,不会改了,
大家给看看吧,谢了!该例用的是data控件和dbgrid控件,想改成使用DAO3.6对象或者ADO的都可以,实现
相同点功能。
Option Explicit
Dim db As Database '一个DAO对象Private Sub Command1_Click() '选择一个数据库
With CommonDialog1
.Filter = "数据库文件(*.mdb)|*.mdb"
.ShowOpen
End With
Text1.Text = CommonDialog1.FileName
displaytable
End SubPrivate Sub Form_Load() '初始化界面
Dim dbname As String
Adodc1.Visible = False
DataGrid1.Visible = False
Set DataGrid1.DataSource = Adodc1
dbname = App.Path
If Right$(dbname, 1) <> "\" Then dbname = dbname & "\"
dbname = dbname & "19.mdb"
Text1.Text = dbname
displaytableEnd Sub
Private Sub List1_Click() '显示选择的表中的数据
Dim table_name As String
Dim sql As String
table_name = List1.List(List1.ListIndex)
sql = "SELECT * FROM " & table_name
Adodc1.Caption = table_name
Adodc1.RecordSource = sql
Adodc1.Refresh
Adodc1.Visible = True
DataGrid1.Visible = True
End Sub
Private Sub displaytable() '显示选择的数据库中的表名
Dim td As TableDef
Set db = OpenDatabase(Text1.Text)
List1.Clear
For Each td In db.TableDefs
If td.Attributes = 0 Then '仅仅显示用户表,不显示系统表
List1.AddItem td.Name
End If
Next td
db.Close
Adodc1.DatabaseName = Text1.Text
End Sub
大家给看看吧,谢了!该例用的是data控件和dbgrid控件,想改成使用DAO3.6对象或者ADO的都可以,实现
相同点功能。
Option Explicit
Dim db As Database '一个DAO对象Private Sub Command1_Click() '选择一个数据库
With CommonDialog1
.Filter = "数据库文件(*.mdb)|*.mdb"
.ShowOpen
End With
Text1.Text = CommonDialog1.FileName
displaytable
End SubPrivate Sub Form_Load() '初始化界面
Dim dbname As String
Adodc1.Visible = False
DataGrid1.Visible = False
Set DataGrid1.DataSource = Adodc1
dbname = App.Path
If Right$(dbname, 1) <> "\" Then dbname = dbname & "\"
dbname = dbname & "19.mdb"
Text1.Text = dbname
displaytableEnd Sub
Private Sub List1_Click() '显示选择的表中的数据
Dim table_name As String
Dim sql As String
table_name = List1.List(List1.ListIndex)
sql = "SELECT * FROM " & table_name
Adodc1.Caption = table_name
Adodc1.RecordSource = sql
Adodc1.Refresh
Adodc1.Visible = True
DataGrid1.Visible = True
End Sub
Private Sub displaytable() '显示选择的数据库中的表名
Dim td As TableDef
Set db = OpenDatabase(Text1.Text)
List1.Clear
For Each td In db.TableDefs
If td.Attributes = 0 Then '仅仅显示用户表,不显示系统表
List1.AddItem td.Name
End If
Next td
db.Close
Adodc1.DatabaseName = Text1.Text
End Sub
Dim tabelName(50) As String
Dim i As Integer
Dim l As IntegerPrivate Sub Combo1_Click()
Text1 = Combo1
End SubPrivate Sub Command1_Click()
Dim fileN As String
CommonDialog1.ShowOpen
fileN = CommonDialog1.FileName
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " _
& "Data Source=" & fileN & ";" _
& "Persist Security Info=False;" _
& "Jet OLEDB:Database Password=123"
Set rs = New ADODB.Recordset
Set rs = cn.OpenSchema(adSchemaTables, _
Array(Empty, Empty, Empty, "TABLE"))
While Not rs.EOF
tabelName(i) = rs!TABLE_NAME
i = i + 1
rs.MoveNext
Wend
rs.Close
cn.Close
l = i - 1
For i = 0 To l
Combo1.AddItem tabelName(i)
Next
End SubPrivate Sub Form_Load()
Text1 = ""
Combo1 = ""
End Sub见
http://topic.csdn.net/u/20080103/19/f7044ecf-2cb2-4b12-b41e-2f6a1b9120b4.html
是依据vbman2003的代码将ACCESS数据库的表名放入ComboBOX显示.