分享 Access + SQL Server 开发模板
access吧
全部回复
仅看楼主
level 4
alonglovealo 楼主
Access是一种关系型数据库管理系统,是Microsoft Office的组成部分之一。
Access提供了大量的工具和向导,使得即使没有任何编程经验的人,也可以通过可视化的操作来完成大部分的数据库管理和开发工作。对于数据库的开发人员,Access还提供了VBA(Visual Basic Application)编程语言和相应的开发调试环境,可用于开发高性能、高质量的桌面数据库应用系统。
如果您想用access进行信息管理、数据分析等运用于工作中,开发属于自己的小工具,局域网内公司内部使用,用access足够,建议使用盟威 Access 快速开发平台 (免费版)。通过大量极具实用性的现成模块、通用函数、自动生成器等相结合,减少了大量的手工设计时间,极大的提高了开发效率。让您能够在最短的时间内将软件投入实际使用,发挥作用。
假若您数据庞大,可以用Access 做客户端,SQL Server 数据库做服务器,通过 ADO 和ODBC进行数据交互,前端access发送请求,后端返回SQL Server 的数据。
下载地址:https://wwrj.lanzouw.com/iroP630gidpg
供大家学习交流
2025年07月07日 06点07分 1
level 4
alonglovealo 楼主
函数手册
一、界面相关函数
1. 图片加载
• LoadIcon(Object, IconName)
功能:加载图标到指定对象(按钮/图片控件或窗体)
来源:Image\Icons 文件夹
支持格式:ico / jpg / png / gif 等
示例:LoadIcon Me.StateImage, "Baudit.png"
2. 按钮权限与图片
• LoadButtonImage(Button, IconName)
功能:加载按钮图片
来源:Images\ButtonIcons 文件夹
• EnableButton(Button, Enabled)
功能:设置按钮图片和启用状态
来源:Images\ButtonIcons 文件夹,按钮名称与图片名称一致。
默认值:Enabled = True
示例:
EnableButton Me.btnAdd, HasPermission(“CG_MF", "Add")
LoadButtonImage Me.btnAdd, "Add.ico"
3. 界面美化
• ApplyTheme(DataForm)
功能:设置护眼色
示例:ApplyTheme Me
• AutoSizeColumns(DataSubForm)
功能:子窗体(数据表)自动调整列宽
示例:AutoSizeColumns Me.sfrList
• RandomPicture("文件夹")
功能:随机加载指定文件夹内的图片
来源:Image\文件夹
示例:Me.Picture = RandomPicture("HeadImages")
• GetRndColor()
功能:随机获取颜色值
示例:Me.sfrDetail.BackColor = GetRndColor()
4. 消息提示
• MsgboxEx"消息"
功能:定时自动关闭的消息框
示例:MsgboxEx "保存成功!"
5. 窗体控制
• fSetAccessWindow(num)
功能:设置 Access 主窗口状态
参数:0 隐藏 / 1 显示 / 2 最小化 / 3 最大化
示例:fSetAccessWindow 0
• IsFormLoaded(strFrmName)
功能:判断指定窗体是否已加载
示例:If IsFormLoaded("frmDept") Then …
• ValidSize(ValueNum, LowerLimit,UpperLimit)
功能:窗体大小控制在上下限之间
示例:ValidSize(Me.sfrList.Width, 1000, 5000)
二、权限控制函数
1. 权限检查
• HasPermission(strMenuSnm, strBtn)
功能:检查当前用户对指定菜单按钮的权限(如:审核Audit)
示例:Me.btnAudit.Enabled =HasPermission("CG_MF", "Audit")
2. 操作日志
• WriteOperationLog(ModuleName, Operation, Description)
功能:将单据操作 写入日志表
示例:WriteOperationLog "采购订单","审核", Me![CG_NO]
三、日期时间函数
1. 常用日期
• FirstDayOfWeek() 本周第一天(周一)
• LastDayOfWeek() 本周最后一天(周日)
• FirstDayOfMonth() 本月第一天
• LastDayOfMonth() 本月最后一天
• FirstDayOfYear() 本年第一天
• LastDayOfYear() 本年最后一天
2. 季度相关
• Qnumber() 返回当前季度(1-4)
• Qsdate() 当前季度第一天
• Qedate() 当前季度最后一天
3. 单号转日期
• Getbilldate(strBillNo)
功能:从单据单号提取日期
示例:Getbilldate("RK202505060001") 返回 2025/5/6
4. 年份数组
• GetYYList()
功能:返回近 10 年的年份字符串,组合框行来源
示例:2026;2025;2024;2023;2022;2021;2020;2019;2018;2017
5. 控件日期录入
•DatePickerFor / CalendarFor
功能:文本控件录入日期,在控件属性的事件:单击= DatePickerFor([sys_dd])
示例:DatePickerFor([sys_dd])
四、数据验证函数
1. 控件验证
• ClearControlValues(EntryForm)
功能:清空窗体的控件值
示例:ClearControlValues Me
• CheckRequired(DataEditObject)
功能:验证窗体上的控件必填项
示例:If Not CheckRequired(Me) Then Exit Sub
• CheckTextLength(DataEditForm)
功能:验证窗体上的控件录入文本长度
示例:If Not CheckTextLength(Me) Then Exit Sub
2. 辅助
• GetLineNumber([Form])
功能:动态行号(用于文本框控件来源=GetLineNumber[Form])
五、数据处理函数
1. 自动编号
• GetAutoNumber(Expression)
功能:单据生成自动编号
示例:Me![CG_NO] = GetAutoNumber("CG")
2. 记录集加载
• LoadRecord(FormOrTable, SQL)
功能:加载记录集到窗体或本地表,二者字段名称一致才写入
示例:LoadRecord Me, "SELECT * FROM dept WHEREdep_NO=" & SQLText(Me![dep_NO])
• LoadRecordSQL(LocalTable, strSQL)
• LoadRecordSQLX(LocalTable, strSQL)
• LoadRecordMSSQL(LocalTable, strSQL)
功能:将 SQL Server 查询结果写入 Access 本地表
说明:strSQL 为 SQL Server 语法
3. 查询维护
• UpdateQueryDef(StrQueryName, StrSQL, IsMSSQL)
功能:动态修改查询 SQL
说明:False DAO 查询 ,True 传递查询;默认值 True
示例:UpdateQueryDef "qryPendings","Execute Pr_V_PendingS"
• DeleteQueryDef(StrQueryName)
功能:批量删除查询
说明:多个查询用逗号分隔
示例:DeleteQueryDef "qryCG_MF,qryCG_MF打印"
4. 存储过程与服务端SQL
• ExecProcSQL(strSQL)
功能:运行存储过程并返回结果
示例:Dim strmsg asstring: strmsg = ExecProcSQL("EXEC sp_GetMaxNo 'SO'")
• ExecMSSQL(strSQL)
功能:执行任意 SQL Server 语句
说明:成功返回 True,失败返回 False
示例:ExecMSSQL "UPDATE dept SET stop_dd=getdate()WHERE dep_no='10'"
5. 链接表
• CreateSQLLinkedTables(arrTables)
功能:按数组批量创建/刷新 SQL Server 链接表
示例:CreateSQLLinkedTables Array("tblCustomer","tblOrder")
6. 导出
• ExportToExcel(SubFrm)
功能:将子窗体的刷选后数据导出到新建 Excel里
示例:ExportToExce Me.sfrList
• ExportToExcelQueryTables(WorkbookName, strSQL)
功能:将DAO查询结果导出到新建 Excel里
示例:ExportToExcelQueryTables "采购订单表.xlsx", "SELECT * FROM DEPT"
7. 导入
• ImportFromExcel(strTable)
功能:将Excel数据导入Access的本地表/链接表。
示例:ImportToExce “TMP_CG_TF”
8. 冒泡排序
• BSort(ar,iFirst,iLast,iLeft,iRight,iKey,isOrder)
功能:对二维数组按指定列进行排序。
示例:BSort(ar, LBound(ar, 1), UBound(ar, 1), LBound(ar, 2),UBound(ar, 2), 2, True)
ar:要排序的数组
iFirst:起始行(通常为 LBound(ar, 1))
iLast:结束行(通常为 UBound(ar, 1))
iLeft:要交换的起始列(通常为 LBound(ar, 2))
iRight:要交换的结束列(通常为 UBound(ar, 2))
iKey:排序依据的列(这里是 第2列)
isOrder:True 升序,False 降序 按第2列升序排序
9. 随机数
• RandomNumber(Num,Bln)
功能:指定数值内的随机奇数或者偶数。
说明 True 偶数, False 奇数;默认值False
示例:RandomNumber(10,False)
六、文本处理函数
1. SQL 拼接
• SQLText(Expression) / PinJie(Expression)
功能:将值转义为 SQL 文本
示例:"WHERE dep_no=" & SQLText(Me![dep_no])
• SQLDate(Expression)
功能:将日期格式化为DAO SQL 日期字串
示例:"WHERE sys_dd=" & SQLDate(Me![sys_dd])
• StrSplit(Expression)
功能:将逗号文本转换为 SQL IN 字串
示例:StrSplit("11,12,13") 返回 ('11','12','13')
2. 中英对照
• GetString( Expression, Bln)
说明:False 英→中,True 中→英;默认值False
示例:GetString("Save", False) 返回 "保存"
3. 中文处理
• CnMoney(Money) 金额转中文大写
• CnNumber(Number) 数字转中文
• PinYin(Expression) 取汉字拼音首字母
4. 加密/解密
• Base64Encode(Expression) Base64 编码
• Base64Decode(Expression) Base64 解码
• MD5(Expression) MD5 哈希
• DES3_String(Expression, Bln)
• EnStrDe(Expression, Bln)
说明:False 加密,True 解密,默认值False
示例:DES3_String("123456", False)
5. 正则表达式
• RegexMatch(Expression,num)
说明:正则表达式匹配过滤文本
示例:RegexMatch("CG20240105001",7) 返回 20240105001
1: 只返回汉字
2: 返回除汉字外的字符
3: 只返回英文字母(不分大小写)
4: 只返回大写字母
5: 只返回小写字母
6: 返回除数字外的文本
7: 只返回数字
8: 返回含小数点的数字
七、系统与参数函数
1. 延时
• Delay (num)
功能:阻塞延时,单位毫秒
示例:Delay 1000 '延时 1 秒
2. 参数与连接
• GetParameter(Name, Bln)
说明:False 取客户端参数,True 取服务端参数
示例:GetParameter("Current User UserName",False)
• GetCDCXStr() 获取SQL Server的传递查询连接字符串
• GetCnStr() 获取SQL Server的ADO连接字符串
• GetConnection() 获取SQL Server的ADO连接对象
• ODBCImportMSSQ(MSSQL,AccessSQL)
功能:Access表数据通过ODBC快速导入SQL Server表
说明:两表字段名称一致且保证顺序一致。导入成功返回True,失败返回False
示例:ODBCImportMSSQ(“dept(dep_no,dep_name,top_dep)”,”selectdep_no,dep_name,top_dep from dept”)
3. 文件与Shell
• ShellEx(FileOrURL)
功能:调用系统打开文件、文件夹或网址
示例:ShellEx "https://chat.deepseek.com"
4. 集合
• CleanCollection(gCol As Collection)
功能:清空集合
示例:CleanCollection gMyColl
八、组合框多选
• MultComb()
功能:使组合框支持多选(复选框式)
使用:
1. 组合框属性表 → 更新后事件 → =MultComb()
2. 标签属性必须留空,不能含 <Required>
2025年07月27日 01点07分 2
1