首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ACCESS 数据库-VBA程序设计(5)

VBA数据库访问技术

1.要求:显示“学生”表第一条记录的“姓名”字段值

操作步骤:

在 “教学管理.accdb”数据库中,新建一个标准模块,打开VBE窗口,输入以下代码:

Private Sub DemoField()

‘声明并实例化Recordset对象和Field对象

Dim rst As ADODB.Recordset

Dim fld As ADODB.Field

Set rst = New ADODB.Recordset

rst.ActiveConnection =CurrentProject.Connection

rst.Open "select * from学生"

Set fld = rst("姓名")

Debug.print fld.value

End Sub

保存模块,模块名为“M4”,运行过程DemoField,打开立即窗口,观察运行结果。

2.增加记录

要求:通过如图6-6所示的窗体向“学生”表中添加学生记录,对应“学号”、“姓名”、“性别”和“年龄”的四个文本框的名称分别为tNo、tName、tSex和tAge。当单击窗体中的“添加”命令按钮(名称为Command1)时,首先判断学号是否重复,如果不重复,则向“学生”表中添加学生记录;如果学号重复,则给出提示信息。

操作步骤:

(1)新建窗体,在窗体设计视图中的主体节中添加四个标签,四个文本框,两个命令按钮。如图6-6所示。

(2)打开属性窗口,将四个文本框中“标题”属性分别设置为tNo、tName、tSex和tAge;第一个命令按钮“名称”属性设置为“CmdAdd”,“标题”属性设置为“添加”,第二命令按钮“名称”属性设置为“CmdExit”,“标题”属性设置为“退出”;将窗体对象的“标题”属性设置为“添加记录”,将“导航按钮”属性设置为“否”,“记录选择器”属性设置为“否”。

(3)打开代码窗口,输入并补充完整以下代码:

Option Compare Database

Dim ADOcn As New ADODB.Connection

Private Sub Form_Load()

'打开窗口时,连接Access数据库

Set ADOcn =CurrentProject.Connection

End Sub

Private Sub CmdAdd_Click()

'增加学生记录

Dim strSQL As String

Dim ADOrs As New ADODB.Recordset

Set ADOrs.ActiveConnection = ADOcn

ADOrs.Open "Select学生编号From学生Where学生编号='" + tNo + "'"

Age = Val(tAge)

If NotADOrs._______ Then

'如果该学号的学生记录已经存在,则显示提示信息

MsgBox "你输入的学号已存在,不能增加!"

Else

'增加新学生的记录

strSQL = "Insert Into学生(学生编号,姓名,性别,年龄) "

strSQL = strSQL + "Values('" + tNo + "', '" + tName + "', '" + tSex +"'," + tAge + ") "

ADOcn.Execute ________

MsgBox "添加成功,请继续!"

End If

ADOrs.Close

Set ADOrs =Nothing

End Sub

Private Sub CmdExit_Click()

DoCmd.Close

End Sub

(4)保存窗体,窗体名称为“Form7_5”,切换至窗体视图,在相应的文本框中输入新的学生信息,包括学号、姓名、性别、年龄(学号在学生表中不存在,其它不能空),单击“添加”按钮,打开学生表,观察程序的运行结果,再输入一个已有的学生信息(学号在学生表中已存在),单击“添加”按钮,观察程序的运行结果。

3.修改记录

要求:对工资表不同职称的职工增加工资,规定教授职称增加15%,副教授职称增加10%,其他人员增加5%。编写程序调整每位职工的工资,并显示所涨工资的总和。

操作步骤:

(1)将“工资管理.accdb”数据库中的“工资表 ”导入到 “教学管理.accdb”数据库中,在 “教学管理.accdb” 数据库窗口中选“表”对象,选择“文件”→“获取外部数据”→“导入”菜单命令,导入“工资”表。

(2)引用DAO对象

新建模块,打开VBE窗口,选“工具”→“引用”菜单命令,滚动列表,直到找到“Microsoft DAO 3.6 Object Library”,勾选,单击“确定”按钮,返回Access。

(3)新建窗体,在窗体的主体节区中添加一个命令按钮,将命令按钮的“名称”属性设置为“CmdAlter”,“标题”属性设为“修改”,单击“代码”按钮,切换至VBE窗口中,输入并补充完整以下代码:

Private Sub CmdAlter_Click()

Dim ws asDAO.Workspace

Dim db asDAO.Database

Dim rs asDAO.Recordset

Dim gz asDAO.Field

Dim zc asDAO.Field

Dim sum asCurrency

Dim rate asSingle

Set db = CurrentDb()

Set rs =db.OpenRecordset("工资表")

Set gz =rs.Fields("工资")

Set zc =rs.Fields("职称")

sum = 0

Do While Not______

rs.Edit

Select Case zc

Case Is = "教授"

rate = 0.15

Case Is = "副教授"

rate = 0.1

Case else

rate = 0.05

End Select

sum = sum + gz * rate

gz = gz + gz * rate

_______________

rs.MoveNext

Loop

rs.Close

db.Close

set rs = Nothing

set db =Nothing

MsgBox "涨工资总计:" & sum

End Sub

保存窗体,窗体名称为“Form7_6”,切换至窗体视图,单击“修改”按钮,观察程序的运行结果。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180824G0IP9T00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券