Access VBA 学习笔记 技巧
1, 最关键的Object : DoCmd
DoCmd.RunSQL
DoCmd.OpenForm
DoCmd.OpenQuery
DoCmd.OpenTable
DoCmd.Quit
2, 数据的绑定:
Me.frmChild.Form.RecordSource = strSQL
3,关键的查询:
If DLookup("[comSale]", "tblSalelist", "[comSale]='广州分公司'") = "广州分公司"
4,ADO 记录集的使用
vba代码里查询出来的recordset如何绑定到窗体的控件中
如果是子窗体的话,先设置在子窗体的记录源为一个表或查询,然后把你要用的字段放进去,再设置好格式。
然后,动态生成一个recordset, 如果这个recordset 可以用sql表示,那最简单不过:
me.子对象0.form.recordsource="select ......."。
如果是listbox 或combobox的话,先设置记录源为某个表或查询,然后,再动态把表或查询按你的筛选或其他要求更新,然后用:
me.listbox1.requery或me.combobox1.requery语句刷新一下就可以了。
access vba 用recordset读取表中数据的简单方法
- 'strQuery是表名,查询名等
- Public Function Getrs(Byval strQuery as string) as ADODB.Recordset
- Dim objRs As New ADODB.Recordset
- on Error GoTo Error_Getrs
- objRs.open strQuery,CurrentProject.connection
- '程序调试用
- 'Do While Not objRs.EOF
- ' Debug.Print objRs(0) & vbTab & objRs(1) & vbTab & _
- ' objRs(2)
- ' objRs.MoveNext
- 'Loop
- Set Getrs =objRs
- Exit _Getrs:
- Exit Function
- Error_Getrs:
- MsgBox (Err.Description)
- Resume Exit _Getrs
- End Function
Public Function getrs(ByVal strquery As String) As ADODB.Recordset Dim rs As New ADODB.Recordset Dim conn As New ADODB.Connection Set conn = CurrentProject.Connection rs.Open strquery, conn, adOpenKeyset, adLockOptimistic Set getrs = rs Set rs = Nothing Set conn = Nothing Exit Function End Function
access vba在新建查询前查看查询名是否存在
- Dim dbsCurrent As Database
- Dim qryTest As QueryDef
- Set dbsCurrent = CurrentDb
- '---------------------查看查询.Query_temp是否存在-------------------
- Dim I As Integer
- Dim tblA As Boolean
- dbsCurrent.QueryDefs.Refresh
- For I = 0 To dbsCurrent.QueryDefs.Count - 1
- If "Query_temp" = dbsCurrent.QueryDefs(I).Name Then
- '如果查询名:Query_temp存在
- tblA = True
- Exit For
- End If
- Next I
- '--------------------------------------------------------------------
- If tblA Then '如果查询名:Query_temp存在,引用本查询
- Set qryTest = dbsCurrent.QueryDefs("Query_temp")
- Else '如果查询名:Query_temp不存在,建立本查询
- Set qryTest = dbsCurrent.CreateQueryDef("Query_temp")
- End If
- '以下设置本查询的SQL,得到表strQUR_now的一字段Combo27.Value 的不同值组合
- '其中strQUR_now是自定义string变量记录表名,Combo27.Value 为表的一字段名
- qryTest.SQL = "SELECT distinct " & Combo27.Value & " FROM " & strQUR_now
- '将得到的不同值的组合放到Combo29的列表中
- Combo29.RowSource = qryTest.SQL
- DoCmd.DeleteObject acQuery, "Query_temp" '注意对象在打开时不能被删除!
vba 中sql like用法
str3 = "SELECT jhd_mx_jiage.wp_leibie AS 类别, jhd_mx_jiage.wp_migceg AS 名称, jhd_mx_jiage.wp_xighao AS 型号, jhd_mx_jiage.jhmx_danwei AS 单位, jhd_mx_jiage.jhmx_danjia AS 单价 FROM jhd_mx_jiage " & " where jhd_mx_jiage.wp_leibie='" & Listjhlb & "'" Me.Listjhwp.RowSource = str3 Me.Listjhwp.Requery
下面的示例将组合框的 RowSourceType 属性设为“Table/Query”,
Forms!Employees!cmboNames.RowSourceType = "Table/Query"
Dim str1 As String
str1 = "SELECT ziyuag.zy_daihao, ziyuag.zy_mima,ziyuag.zy_ziwu,ziyuag.zy_xigmig FROM ziyuag " & " where zy_daihao='" & Text8dldh & "'and zy_mima='" & Text10dlmm & "'"
子窗体.FORM.recordsourse="SELECT ziyuag.zy_daihao, ziyuag.zy_mima,ziyuag.zy_ziwu,ziyuag.zy_xigmig FROM ziyuag " & " where zy_daihao='" & Text8dldh & "'and zy_mima='" & Text10dlmm & "'
Me.子窗体.RowSource = sjy
使用 RecordSource 属性可以指定窗体或报表的数据源。String 型,可读写。
Dim sjy As String
sjy = "SELECT 名单.* FROM 名单" & " where 姓名 like '*" & List101 & "*'" Me.RecordSource = sjy Requery
me.RecordSource = "名单"
导出成EXECL表
DoCmd.TransferSpreadsheet acExport, 8, "" & Text0 & "", "A:\" & Text0 & ".xls", True, ""
Access VBA 学习笔记 技巧相关推荐
- MS Access 2007学习笔记
<MS Access 2007学习笔记>2009-07-29 16:30:54 摘抄自http://download.csdn.net/source/1529085 01. 数据库概念 ...
- VBA学习笔记(9)--生成点拨(1)
VBA学习笔记(9)--生成点拨(1) 说明(2017.3.26): 1. 还没写完,写到新建文件夹了,下一步新建word,重命名,查找点拨,把点拨复制进去,因为要给点拨编号,应该会很麻烦 1 Pub ...
- VBA学习笔记5:将同一工作簿的数据按照类别拆分为多个工作簿
VBA学习笔记5:将同一工作簿的数据按照类别拆分为多个工作簿 1.对每行数据按照类别所在列进行循环,判断某类别的工作簿是否存在: 2.如果不存在,则新建工作簿并将该行数据复制粘贴: 3.如果存在则打开 ...
- 陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮
陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮:新建一个我的菜单按钮 设置对应的宏过程名称为 [我的菜单宏] 点击按钮弹窗信息,信息可自定义设置 详细代码如下: Sub 新建右键菜单()Dim 菜单 ...
- VBA学习笔记2:将工作簿的表格拆分为工作簿
VBA学习笔记2:将工作簿的表格拆分为工作簿 1.判断原有工作簿的sheet是否需要拆分: 2.如需拆分则创建新表: 3.将原sheet复制到新建的工作簿中. 效果如下: 代码执行前,有1个工作簿,需 ...
- VBA学习笔记8:单元格的合并与拆分
VBA学习笔记8:单元格的合并与拆分 如下图,需要实现1图到2图(单元格合并),或2图到1图(单元格拆分). 1图: 2图: 合并单元格代码如下: Sub 合并单元格()Dim k%, rng As ...
- VBA学习笔记3:合并同一工作簿下的多个表格
VBA学习笔记3:合并同一工作簿下的多个表格 1.建立一个新的汇总表: 2.将其他sheet数据复制到汇总表中. 效果如下: 需要将3个sheet的表的数据汇总起来 汇总后的数据: 代码如下: Sub ...
- VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接
VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接 1.将文件夹中的xlsx文件名复制到新工作簿: 2.将文件夹中的xlsx数据簿中的sheet复制到新表并重命名: 3.插入超 ...
- Excel VBA 学习笔记13:单元格的格式
Excel VBA 学习笔记13:单元格的格式 NumberFormat 属性 (Excel) vba excel 单元格格式设置 Excel VBA 单元格格式 python解决SNIMissing ...
最新文章
- CUDA Samples: 获取设备属性信息
- VBA:指定なフォルダしたのすべてのファイル名
- 遇到“BUG: soft lockup - CPU#0 stuck for 22s”的解决思路
- 训练好的神经网络 如何预测_显存不够,如何训练大型神经网络?
- Dockerfile构建容器镜像 - 运维笔记
- 别再瞎搞数仓了!BAT内部大神:数据仓库不是谁都可以建的
- [Unity] 战斗系统学习 2:FlowCanvas 中的 SubGraph
- 服务器asp.net权限设置问题及解决方法时间:
- 深度相机---(1)TOF总结
- 多线程调用同一个对象的方法_这一次,让我们完全掌握Java多线程(2/10)
- 《信号与系统学习笔记》—周期信号的博里叶级数表示(二)
- 电影:美国队长:复仇者先锋
- Hello CSDN blog
- 软件理论基础学习笔记——模态逻辑(modal logic)
- 蓝盘绿盘黑盘红盘的区别
- 2023北京影视技术设备展览会
- 详解eclipse如何配置tomcat
- Java程序的基本结构
- 戴森:将于2022年内发布“空气净化耳机”
- geotools 数据库连接对象无法正常释放
热门文章
- 【干货】一名全栈设计师的 Mac 工具箱(设计,开发,效率)
- 【STM32】STM32之限位开关
- ppt文件不能打印出来怎么回事?
- NLP-预训练模型-2019-NLU+NLG:BART【Bert+GPT的泛化Seq2Seq模型】【噪声破坏后的原文本喂给编码器,解码器输出原文本】【噪音方案:文本填充(文本片段用单个掩码替换)】
- PySpark数据分析基础:PySpark基础功能及DataFrame操作基础语法详解
- Sine Sweep(正弦扫频信号)
- shell脚本将mysql数据库中查询结果导出制作成.CSV格式文件;或.txt/.log文件
- 做饼状图时,显示百分比的解决方案
- 智联招聘导出的文档有横线去除方法Office2007
- maya如何让控制器跟随模型,不脱节?