用VB的Data控件显示Access数据库(通讯录),该怎么解决
用VB的Data控件显示Access数据库(通讯录)
用VB的Data控件显示Access数据库(通讯录),程序如下:
Public myRecordSet As Recordset
'Mainform.frm:
'-----------------------
Private Sub Form_Load()
Set myRecordSet = dbDataEnvironment.Recordsets.Item(1)
End Sub
Private Sub mnBrow_Click()
browDialog.Show 1
End Sub
Private Sub mnExit_Click()
End
End Sub
'-----------------------------------
'dataDialog.frm
'----------------------------------
Private Sub Form_Activate()
mainForm.myRecordSet.Open ' <---------
mainForm.myRecordSet.MoveFirst
End Sub
Private Sub OKButton_Click()
Unload Me
End Sub
问题: 加上箭头所指的一句显示出错,
不加这句显示数据库末打开不可操作。
哪能儿错啊?怎么改啊?教教我吧。
------解决方案--------------------
请将数据库路径及名称改为你自己的数据库据库路径及名称。窗体上添加几个与通讯录字段数相同的TextBOX,将各TextBOX的属性页的属性DataSource设置Data1,各TextBOX的属性页的属性DataField设为通讯录各字段名。将SQL语句的表名改为你的数据表名。代码如下:
Option Explicit
Dim sql As String
Dim a1 As String
Private Sub Form_Load()
a1 = InputBox( "请输入号码! ", "查找 ")
sql = "select * from ”
Data1.DatabaseName = "D:\Program Files\Microsoft Visual Studio\VB98\通讯录.mdb "
Data1.RecordSource = sql
End Sub
------解决方案--------------------
首先建议用datagrid 显示数据,
data控件不支持office2000的。用ado
给你个例子
你试试吧,好用的
记得要引用ado
你只需要在工程/引用 miscrosoft Activex data objects 2.x library 就可以了
Dim Db As Connection
Dim WithEvents adoPrimaryRS As Recordset '数据库连接对象
Private Sub Command1_Click()
strsql= "select 字段 from 表 where 你的条件 "
Set Db = New Connection
Db.CursorLocation = adUseClient
'下面的连接数据字符串你要修改一下
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\计划管理系统.mdb;Persist Security Info=False "
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open strsql, Db, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = adoPrimaryRS
end sub
用VB的Data控件显示Access数据库(通讯录),程序如下:
Public myRecordSet As Recordset
'Mainform.frm:
'-----------------------
Private Sub Form_Load()
Set myRecordSet = dbDataEnvironment.Recordsets.Item(1)
End Sub
Private Sub mnBrow_Click()
browDialog.Show 1
End Sub
Private Sub mnExit_Click()
End
End Sub
'-----------------------------------
'dataDialog.frm
'----------------------------------
Private Sub Form_Activate()
mainForm.myRecordSet.Open ' <---------
mainForm.myRecordSet.MoveFirst
End Sub
Private Sub OKButton_Click()
Unload Me
End Sub
问题: 加上箭头所指的一句显示出错,
不加这句显示数据库末打开不可操作。
哪能儿错啊?怎么改啊?教教我吧。
------解决方案--------------------
请将数据库路径及名称改为你自己的数据库据库路径及名称。窗体上添加几个与通讯录字段数相同的TextBOX,将各TextBOX的属性页的属性DataSource设置Data1,各TextBOX的属性页的属性DataField设为通讯录各字段名。将SQL语句的表名改为你的数据表名。代码如下:
Option Explicit
Dim sql As String
Dim a1 As String
Private Sub Form_Load()
a1 = InputBox( "请输入号码! ", "查找 ")
sql = "select * from ”
Data1.DatabaseName = "D:\Program Files\Microsoft Visual Studio\VB98\通讯录.mdb "
Data1.RecordSource = sql
End Sub
------解决方案--------------------
首先建议用datagrid 显示数据,
data控件不支持office2000的。用ado
给你个例子
你试试吧,好用的
记得要引用ado
你只需要在工程/引用 miscrosoft Activex data objects 2.x library 就可以了
Dim Db As Connection
Dim WithEvents adoPrimaryRS As Recordset '数据库连接对象
Private Sub Command1_Click()
strsql= "select 字段 from 表 where 你的条件 "
Set Db = New Connection
Db.CursorLocation = adUseClient
'下面的连接数据字符串你要修改一下
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\计划管理系统.mdb;Persist Security Info=False "
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open strsql, Db, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = adoPrimaryRS
end sub