时 间:2013-10-09 08:34:36
作 者:摘 要:Access数据库和VBA编程总结
正 文:
创建数据库
1、创建——表设计
2、输入数据
靠左为文本,靠右为数字,小数用单精度型,日期为短日期(YYYY/MM/DD),百分比和各种货币用货币,查阅向导手动添加,是否用复选框
3、数据库工具——关系——创建关系,实施参照完整性
4、先输入主表(单一联系的),注意主键(表设计里选主键,同时输入两个主键才能回车)
创建查询
1、参数查询(选择性)
查询设计——显示表添加字段——在条件栏输入问题
2、增加字段查询(计算差,汇总,总计,出租)
查询设计——显示表添加字段——最后一行字段用生成器表示——条件输入[字段]+30
3、交叉表查询(交叉计数)
查询向导——交叉表查询——选择数据源(必须在同一个查询里)——
列标题→
行标题↓——修改设计——表设计——最后一行字段标题修改
输出值——计数
操作查询(字段完全相同):生成,追加,更新,删除(后三个必须先有窗体)
1、追加查询
查询设计——不添加数据源——输入相关字段表达式(窗体)——追加,追加表名称——选择追加到字段(表)——保存
2、更新查询
设计视图——添加数据源(表)——更新——更新到true——填入条件表达式(窗体)——保存
3、删除查询
设计视图——添加字段(表)——删除——删除的where,填入条件表达式(窗体)——保存
4、生成表查询
查询设计——添加字段——输入条件——生成表——输入新表名
创建窗体
1、简单窗体(简单记录,只有一个窗体)
窗体—其他窗体—窗体向导——选择数据源——设置布局——样式——标题——修改窗体设计——控件向导,按钮
2、主子窗体(两个窗体都可以简单记录,有单独的子窗体)
窗体向导——添加数据源(可选不同的表)——查看数据方式(主窗体的表)——布局、样式——主子窗体名称——打开窗体查看,完成
3、带有子窗体的窗体(有按钮功能和单独的一个子窗体)
窗体设计——设计主体——设计标签、文本框(输入字段)、按钮(输入掩码:密码;控件来源:公式)——设计子窗体的查询表(字段是表,条件是同窗体一致的)——按钮“子窗体/子报表”选定范围——子窗体向导——使用现有的表和查询——选定表/查询、字段3——填入子窗体名称,完成——设计中删除名字标签——主体添加按钮“确定”——代码生成器“Refresh”
注:组合框控件:不使用控件向导,属性--行来源…按钮——显示表,添加字段——点击空白处,查询属性里将“唯一值”设成“是”
4、带图表的窗体
窗体设计——控件“图表”——图表向导——添加数据源(查询)——选择字段——选择图形——输入标题,显示图例——双击设计视图——图表“添加趋势线”
创建报表
报表向导——选择数据源(查询)、字段——添加分组级别(最上面的标题)——布局、样式——修改报表设计——设计 —分组汇总 —分组排序 —更多—有页脚节——页脚添加文本框(=count([字段]))——修改页脚“Page &页”
注:sum总计count计数avg平均
VBA
1、显示/隐藏标签
Label0.Visible
= True/False
2、变换主体名称
主体—事件—双击—…—Form.Caption = "Hello"
3、字体放大/缩小
Label0.FontSize
= Label0.FontSize */倍数
4、字体变换
Label0.FontName
= "字体"
5、自动弹出对话框
窗体 事件——计时器触发—MsgBox "****"——计时器间隔(毫秒)
6函数总结
数学函数:小数rnd(变量,保留几位) ;平方sqr
字符串函数:instr ; mid(a,i,3)_从a的第i个位置向后取3个字符;字符长度数len ;空格space(空格数) ;字符string ;整数integer
转换函数:英-数字asc ;数字-英chr ;(A~Z 65~90
a~z 97~122);字符转化为数值val;数字转化为字符str;随机整数Int(Rnd() * 90 + 10); text0.value=a;
转换:日期cdate;回车chr(13)+chr(10)
日期函数:date ; year ; weekday (a,vbMonday);
weekdayname
输入输出:Msgbox “提示”; Inputbox(提示,标题,默认,X,Y)
按钮失效/生效:Command9.Enabled = False/Ture
获得焦点:Text2.SetFocus
7、运算符总结
算术运算符
+(加)、-(减、取负)、*(乘)、/(除)、Mod(取余n mod 7=0)、
\(整除)、^(乘方)
关系运算符
=(等于)、<>(不等于)、>(大于)、
>=(大于等于)、<=(小于等于)
连接运算符
&,+
例如:”Access”&”xp”
结果为“Accessxp”
逻辑运算符
Imp(包含)、Eqv(等价于)、Xor(异或)、Or(或)、
And(与)、Not(非)
8、语句总结
条件语句:1、If…Then…Else结构
If Then
ElseIf Then
Else
End If
2、Select Case
Case
Case
Case Else
End Select
循环语句:For i
=初值To终值[Step步长] (前一个循环是竖行,后一个是横行,范围)
[语句块]
[Exit For]
[语句块]
Next
Do
While Do
[语句块] [语句块]
[Exit Do] [Exit Do]
[语句块] [语句块]
Loop Loop [|Until ]
9、比较大小
a =
Val(Text0.Value)
b =
Val(Text2.Value)
c =
Val(Text4.Value)
If a <
b Then
w = a
a = b
b = w
End If
If a <
c Then
w = a
a = c
c = w
End If
If b <
c Then
w = b
b = c
c = w
End If
Text12.Value
= Str(c) & Str(b) & Str(a)
End Sub
10、金字塔
Label4.Caption
= ""
For i = 1
To 9
For j = 1 To 9 - i
Label4.Caption = Label4.Caption &
Space(1)
Next
For k = 1 To i
Label4.Caption = Label4.Caption & k
Next
For k
= i - 1 To 1 Step -1
Label4.Caption = Label4.Caption & k
Next
Label4.Caption = Label4.Caption &
Chr(13) + Chr(10)
Next
11、加密
a =
Text4.Value
For i = 1
To Len(a)
Text6.Value
= Text6.Value & Chr(Asc(Mid(a, i, 1)) + 2)
金字塔:
数字For i = 1 To竖行数
Label4.Caption = Label4.Caption &
Space(空格数)
For k = 1 To i
Label4.Caption = Label4.Caption & k
Next
For k = i - 1 To 1 Step -1
Label4.Caption = Label4.Caption & k
Next
Label4.Caption = Label4.Caption
& Chr(13) + Chr(10)
Next
图标:Label0.Caption = ""
For i = 1 To竖行数
Label0.Caption = Label0.Caption &
Space(空格数)
For j = 1 To 2 * i + 3(j为横行数,找出和竖行的关系)
Label0.Caption = Label0.Caption &
"*"
Next
Label0.Caption = Label0.Caption &
Chr(13) + Chr(10)
Next
Access软件网官方交流QQ群(群号:39785885)
Access源码网店