Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

Access数据库和VBA编程总结

时 间:2013-10-09 08:34:36
作 者:宏鹏(转载)   ID:21115  城市:上海
摘 要:Access数据库和VBA编程总结
正 文:

创建数据库

1、创建——表设计

2、输入数据

靠左为文本,靠右为数字,小数用单精度型,日期为短日期(YYYY/MM/DD),百分比和各种货币用货币,查阅向导手动添加,是否用复选框

3、数据库工具——关系——创建关系,实施参照完整性

4、先输入主表(单一联系的),注意主键(表设计里选主键,同时输入两个主键才能回车)

 

创建查询

1、参数查询(选择性)

查询设计——显示表添加字段——在条件栏输入问题

2、增加字段查询(计算差,汇总,总计,出租)

查询设计——显示表添加字段——最后一行字段用生成器表示——条件输入[字段]+30<date——为最后一行改标题

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(提示,标题,默认,XY)

按钮失效/生效:Command9.Enabled = False/Ture

获得焦点:Text2.SetFocus

7、运算符总结

算术运算符

     +(加)、-(减、取负)、*(乘)、/(除)、Mod(取余 n mod 7=0)、

     \(整除)、^(乘方)

关系运算符

    =(等于)、<>(不等于)、>(大于)、<(小于)、

    >=(大于等于)、<=(小于等于)

连接运算符

   & ,+

例如:”Access&xp” 结果为“Accessxp

逻辑运算符

      Imp(包含)、Eqv(等价于)、Xor(异或)、Or(或)、

     And(与)、Not(非)

8、语句总结

条件语句:1IfThenElse结构

If <表达式> Then

           <语句块1>

          ElseIf <表达式2> Then

           <语句块2>

Else

           <语句块2>

End If

 

2Select Case <变量或表达式>

   Case <表达式1>

<语句块1>

   Case <表达式2>

<语句块2>

   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 + 3j为横行数,找出和竖行的关系)

    Label0.Caption = Label0.Caption & "*"

    Next

    Label0.Caption = Label0.Caption & Chr(13) + Chr(10)

Next



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助