VB 如何往 ACCESS数据库理添加数据

本人新手 遇到了 大问题 我先用ADODC 链接了 ACCESS数据库 ,在VB里本想 实现一个 简单的用 VB往 ACCESS数据库记录姓名的功能
Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

End Sub

Private Sub Command1_Click()
Adodc1.Recordset.AddNew '添加新纪录
Adodc1.Recordset("姓名").Value = Text1.Text
End Sub
老提示 错误 91 对象变量或者WITH未设置 ······· 各位帮忙解答下 啊 哪错了 我想学 可是 就倒在这里 用什么方法都没用···

一,准备工作:
1,建立新工程,保存到文件夹。
2,把ACCESS数据库文件复制到上述文件夹。
3,在窗体上,添加一个ADODC控件和一个按钮。
4,在按钮的单击事件里编写程序。
程序代码如下:

'连接数据库的三步曲:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;Persist Security Info=False"
Adodc1.RecordSource = "数据表名"

Adodc1.Refresh
‘添加记录
Adodc1.Recordset.AddNew '添加新的空纪录
Adodc1.Recordset("姓名").Value = Text1.Text
Adodc1.Recordset.Update ’更新到数据表追问

感谢·· 我现在能用datagrid 显示数据库里表1的内容了,但是,我建了个窗体2 ,想在窗体2的datagrid里显示数据库的表2的内容,但是就算我在adodc过程名称中选表2 ,可是,在窗体2中仍然显示表1 的内容 请问 怎么解 能在窗体2中显示ACCESS数据库里的表2的内容 真的 很需要 这个方法······(表1和表2都是同一个数据 CC.mdb)

追答

在窗体上放一个Adodc控件,1个datagrid控件,就可以显示表1,而且你实现了.

那在在窗体上放一个Adodc控件,1个datagrid控件,就可以显示表2,

怎么回实现不了表2呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-01
1、首先在窗体的Form_Load() 事件中(或程序设计中)要对 Adodc1 连接的数据库及数据表设置
如:Adodc1连接 Access 数据库
数据库名称为: db1.mdb 存放在 d:\db1.mdb
数据表名称为:T101
With Adodc1
.CursorType = adOpenDynamic
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
D:\db1.mdb;Persist Security Info=False"
.RecordSource = "SELECT * FROM T101"
.Refresh
End With
2、增加新数据记录
Adodc1.Recordset.AddNew
Adodc1.Recordset("姓名")=Trim(Text1)

Adodc1.Recordset.Update

要注意数据表中,除“姓名”外的其它字段是否有限制或不能为空。
否则在更新(Update) 时就会报错误!

要设置 .CursorType = adOpenDynamic 否则,更新数据后,数据源Adodc1中也看不到最新的数据.追问

感谢·· 我现在能用datagrid 显示数据库里表1的内容了,但是,我建了个窗体2 ,想在窗体2的datagrid里显示数据库的表2的内容,但是就算我在adodc过程名称中选表2 ,可是,在窗体2中仍然显示表1 的内容 请问 怎么解 能在窗体2中显示ACCESS数据库里的表2的内容 真的 很需要 这个方法······(表1和表2都是同一个数据 CC.mdb)

追答

每个窗体中显示数据表的内容主要在 Form_Load()事件中更新或设置.
现在在Form2中 DataGrid 中仍然显示的是表1的内容,说明,这个DataGrid 是从Form1中拷贝过去的,没有更新 Adodc1的数据内容.

在Form_Load() 事件中初试化要显示的 Adodc1中的数据连接及数据表
如:
With Adodc1
.CursorType = adOpenDynamic
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
D:\db1.mdb;Persist Security Info=False"
.RecordSource = "SELECT * FROM 表2"
.Refresh
End With
就可以了!

第2个回答  2014-04-01
如果用的是vs,datagrid很方便追问

感谢·· 我现在能用datagrid 显示数据库里表1的内容了,但是,我建了个窗体2 ,想在窗体2的datagrid里显示数据库的表2的内容,但是就算我在adodc过程名称中选表2 ,可是,在窗体2中仍然显示表1 的内容 请问 怎么解 能在窗体2中显示ACCESS数据库里的表2的内容 真的 很需要 这个方法······(表1和表2都是同一个数据 CC.mdb)