1、Microsoft Access窗口中,选择文件菜单中的打开选项,打开一个已有的数据库。
2、数据库中有两张表格,如下图所示。
3、数据库中,表格学生信息是课程成绩的子表。
4、如果直接在子表中插入记录,会提示不能添加或修改。
5、其实,只需在主表中,插入相关的主键和记录。
6、接着,就可以在子表中插入相关记录了。
7、如果要在子表中插入字段,只需选择单击以添加选项。
8、新增字段后,输入字段名即可。
'在你要进行插入操作的事件中插入如下代码,以学生信息表为例'
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
Set rs = Nothing
sql = "insert into 学生信息表(学号,姓名,性别,年龄,电话号码,成绩)values('" & Text1.Text & "','" & Text2.Text & "','" & Combo1.Text & "','" & Combo2.Text & "','" & Text4.Text & "','" & Text5.Text & "')"
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库名.mdb;Persist Security Info=False"
rs.Open sql, conn
MsgBox "插入成功"
'在你要进行修改操作的事件中插入如下代码'
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
Set rs = Nothing
sql = "update 学生信息表 set 性别 = '男' where 学号 = '" & Text1.Text & "'"
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库名.mdb;Persist Security Info=False"
rs.Open sql, conn
msgbox "修改成功"
Private Sub test()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
'连access
'con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db3.mdb;Persist Security Info=False"
set Sql = "select * from 表名" 'SQL查询语句
rs.Open Sql,con,1,3 '后面的3是确定读写权限的
rs.AddNew '增加一行记录,不用则修改当前记录
While (Not rs.EOF)
rs("字段1")="..." '数据读写操作
rs("字段2")="..." '数据读写操作
...
rs.movenext '移动到下一条记录,增加新记录无需
rs.UpDate '保存写入资料,如果使用只读权限,则不能使用这个方法
WEND
rs.Close '这个方法用来关闭你所代开的表,如果不使用这个方法可造成数据库负担过重或后续操作问题
con.Close
Set con = Nothing
End Sub
我给你一个例子。
添加:
’下面这句连接数据库指定表的所有字段
Adodc1.RecordSource = "select * from 库存表"
’下面这句添加记录
Adodc1.Recordset.AddNew
下面4句就是通过4个TEXTBOX控件输入字段的数据,如果是数字类型可以加VAL
Adodc1.Recordset.Fields("货物编号") = Text1.Text
Adodc1.Recordset.Fields("货物名称") = Text2.Text
Adodc1.Recordset.Fields("库存量") = Text3.Text
Adodc1.Recordset.Fields("单位") = Text4.Text
’下面这个是修改后更新
Adodc1.Recordset.Update
修改:
'通过主键指定要修改的记录
Adodc1.RecordSource = "select * from 库存表 where 货物编号 = " & Text1.Text
Adodc1.Refresh
Adodc1.Recordset.Fields("货物编号") = Text1.Text
Adodc1.Recordset.Fields("货物名称") = Text2.Text
Adodc1.Recordset.Fields("库存量") = Text3.Text
Adodc1.Recordset.Fields("单位") = Text4.Text