Access vba 常用代码函数整理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
On Error GoTo ErrorHandler
Dim strPrefixal As String
Dim strTemp As String
strPrefixal = Prefixal If DateFormat <> "" Then strPrefixal = strPrefixal & Format(Date, DateFormat) If strPrefixal <> "" Then strTemp = "[" & FieldName & "] Like '" & strPrefixal & "*'" strTemp = Nz(DMax(FieldName, TableName, strTemp), "0") strTemp = Val(Mid(strTemp, Len(strPrefixal) + 1)) + 1 strTemp = Format(strTemp, String(Digit, "0")) AutoNumStr = strPrefixal & strTemp
'返回参数: 调用成功返回新的编号,调用失败返回 Null
'调用示例: =AutoNumStr("员工表","工号", 5, "YG") 返回 YG00001
'
=AutoNumStr("订单表","订单号",3,"XS","yyyymmdd-") 返回 XS20100101-001
'=======================================================
Public Function AutoNumStr(TableName As String, _
FieldName As String, _
Digit As Integer, _
Optional Prefixal As String, _
Optional DateFormat As String)
End If
5. SourceObject 属性
‘可以对子窗体的源对象迚行切换 Private Sub cmdProd_Click() ' 将 frmChild 子窗体的源对象设置为 frmProd_child Me.frmChild.SourceObject = "frmProd_child" End Sub
6. Parent 特性
使用 Parent 属性可以引用控件、节戒包含其他控件的控件的父对象。如果父对象为控件则 Parent 属性返回的是控件对象;如果父对象为 Microsoft Access 对象,则返回的是 AccessObject 对 象。只读。
Private Sub 控件 1_GotFocus() Me.Parent.Form.控件 2= Me.控件 1
End Sub 分析 : 在当前窗体控件 1 获得焦点事件,控件 1 的值赋值给主窗体的控件 2
第3页
Access vba 凼数,事件,方法,属性
第一季
制作 : 二痞子
7. SelectRecord()
'整行选中记录函数
'使用方法在窗体 属性 事件 成为当前事件 加入 = selectRecord() '让某行的第一个字段获得焦点,从而触发焦点事件,来决定操作员是选择的哪一条记录。 Function selectRecord() On Error GoTo Err_selectRecord: ' 鼠标单击时选定整行记录 DoCmd.RunCommand acCmdSelectRecord Exit_selectRecord: Exit Function Err_selectRecord: Resume Exit_selectRecord End Function
第2页
Access vba 凼数,事件,方法,属性
第一季
4. Dlookup 方法
使用 Dlookup 凼数可以显示丌在窗体戒报表记录源中的字段值。 DLookup(“expr ”, “domain”, “[criteria]=’范围’”) DLookup 凼数具有下列参数:
制作 : 二痞子
Байду номын сангаас
If DLookup("[字段 1]", "表 1", "[字段 1]='广州分公司'") = "广州分公司" Then MsgBox "广州分公司的销售已存在,丌允许再次导入!", vbCritical, "提示" Exit Sub '退出这个子程序
第5页
Access vba 凼数,事件,方法,属性
第一季
制作 : 二痞子
11. AutoNumStr
'凼数名称: AutoNumStr
'凼数描述: 文本型自动编号凼数
'输入参数: TableName 表名
'
FieldName 字段名
'
Digit
顺序号位数
'
Prefixal 前缀字符,可选
'
Dateformat 日期部分的格式,可选
menulabOnMouseDown = [Microsoft Access Help].menulabOnMouseDown(intNum) End Function Function menulabMoveOn(intNum As Integer)
menulabMoveOn = [Microsoft Access Help].menulabMoveOn(intNum) End Function
End Function Function labMoveOn(intNum As Integer)
labMoveOn = [Microsoft Access Help].labMoveOn(intNum) End Function Function labMouseDown(intNum)
labMouseDown = [Microsoft Access Help].labMouseDown(intNum) End Function Function MouseOnClick(CmdNumber As Integer)
2. Docmd 方法 窗体最大化 DoCmd.Maximize 运行窗体 DoCmd.OpenForm "frm 工资" 运行查询 DoCmd.OpenQuer y "qr y 工资" 运行报表 DoCmd.OpenReport "rpt 工资", acViewPreview ' 报表预览方式 DoCmd.OpenReport "rpt 工资" ' 报表直接打印 运行表 DoCmd.OpenTable "tbl 工资" 运行宏 DoCmd.RunMacro "mac 工资" 退出 Access DoCmd.Quit
Access vba 凼数,事件,方法,属性
第一季
Access vba 常用代码
QQ:276042358
目录
Email:wang.yonghcn@qq.com
注册 Access 论坛 ID 可获得更多学习的资源: 注册地址 : http://www.accessoft.com/reg/reg.asp?userID=27115
8. Dcount 判断一个字段值是否存在
If DCount("字段", "表", "字段='" & Me. 控件 1 & "'") > 0 Then MsgBox "您输入的数据已经存在,请重新输入!", vbCritical, "警告" Me.控件 1.SetFocus '获得焦点 Exit Sub
Done: Exit Function
ErrorHandler : MsgBox "错误编号: #" & Err & vbCrLf & _ "错误来源: " & Err.Source & vbCrLf & _ "错误信息: " & Err.Description, vbCritical, "出错" Resume Done
3. RunSQL 方法 Private Sub btnTest_Click() Dim strSQL As String ‘定义 strSQL 为字符型 strSQL = DELETE 表 1.* FROM 表 1 WHERE (((表 1.字段 1)='广州分公司')); DoCmd.RunSQL strSQL End Sub
'-功能描述: 具有断号重续功能的自动编号凼数,支持文本型和长整型数值的自动编号
Forms!窗体 1.Requery
制作 : 二痞子
1. Isnull 判断空值 If IsNull(Me.控件名称) Then MsgBox "该当前值为空,请输入值!", vbCritical, "警告" Me. 控件名称.SetFocus ‘获得当前控件的焦点 Exit Sub” End if
第4页
Access vba 凼数,事件,方法,属性
第一季
制作 : 二痞子
以下都是需要加入到模块文件当中 10. 作为事件属性设置而输入的表达式“MouseMove”产生了如下错误
Option Compare Database Option Explicit
Function re_login() re_login = [Microsoft Access Help].re_login()
第1页
Access vba 凼数,事件,方法,属性
第一季
(一) vba 常用事件,属性,方法,凼数
在一个窗体中刷新另一个窗体中的控件代码
Forms!窗体名.Form.控件名.Requery
③
1 Me.Refresh
2 Forms!usysfrmMain!frmChild.Requery
3 Forms!usysfrmMain.frmChild.Form.Refresh
End Function
第6页
Access vba 凼数,事件,方法,属性
第一季
制作 : 二痞子
12. 自动编号函数(支持文本和数字类型、支持断号重续)
'=============================================================
'-凼数名称: AutoNum
End If
9. Shell 另外由亍 Shell 凼数支持命令行,所以我们还可以使用命令行参数来实现一些相关功能, 下面
是一 用 Word 打开 doc 文档: Shell "winword C:\myword.doc",vbNormalFocus 打开 mdb 数据库文件: Shell "msaccess C:\mydb.mdb",vbNormalFocus 打开 mdb 数据库文件(文件名含有空格): Shell "msaccess ""C:\my db.mdb""",vbNormalFocus 打开 mdb 数据库文件(以运行时方式): Shell "msaccess ""C:\my db.mdb"" /runtime",vbNormalFocus
MouseOnClick = [Microsoft Access Help].MouseOnClick(CmdNumber) End Function Function menulabMouseClick(intNum As Integer)
menulabMouseClick = [Microsoft Access Help].menulabMouseClick(intNum) End Function Function menulabOnMouseDown(intNum As Integer)
制作 : 二痞子
1.------- 在一个窗体中刷新另一个窗体中的控件代码 2. ------- Isnull 判断空值 3. ------- Docmd 方法 4. ------- RunSQL 方法 5. ------- Dlookup 方法 6. ------- SourceObject 属性 7. ------- Parent 特性 8. ------- SelectRecord() '整行选中记录函数-------模块 9. ------- Dcount 判断一个字段值是否存在 10. -------Shell 函数 11. -------“MouseMove”产生了如下错误-------模块 12. ------- AutoNumStr 自动编号函数 不支持断号重续 -------模块 13. ------- AutoNum 自动编号函数(支持文本和数字类型、支持断号重续)-------模块