access 2007 vba 开发中学到的知识(一)
使用ado连接本身的数据库,需要先创建一个 adodb.connection的连接对象
Set cn = CreateObject("ADODB.Connection")
数据库的提供者
cn.Provider = "Microsoft.ACE.OLEDB.12.0"
CurrentProject.Path是取得当前access数据库程序所在的路径
strCn = "Data Source = " & CurrentProject.Path & "\Accessdatabase.accdb;Jet OLEDB:Database Password= "
打开连接
cn.Open (strCn)
创建recorderset,用来接收查询到的数据
Set rs = CreateObject("ADODB.Recordset")
需要执行的检索sql文
rs.Open "SELECT * FROM tablename " & wherecondition, cn, 3, 1
rs.fields() 取得表中字段的值,列头的序号是从0开始的,这个例子中我写的是1,也就是表格中的第二列
kkn = rs.fields(1) 删除的sql文
使用连接的execute方法,第一个参数是sql文,第二参数是删除的记录条数,如果成功则返回1,失败返回0
cn.Execute "DELETE FROM tablename WHERE name = '" & Value & "' AND birthday = CDate('" & Value & "') ", cnt 更新的sql文
参数同上,cnt是返回更新的记录条数,1是成功,0是失败
cn.Execute “UPDATE tablename SET 更新字段=更新的值 WHERE name = '" & Value & "' AND birthday = CDate('" & Value & "') ", cnt 插入的sql文
参数同上,cnt是返回插入的记录条数,1是成功,0是失败
cn.Execute ”insert into tablename values(每个字段的值)",cnt 查询count(*)的sql文
因为这个查询后只有一个字段,所以使用rs.fields(0),1是已存在,0是不存在
rs.Open "SELECT COUNT(1) FROM tablename WHERE name = '" & Value & "' AND birthday = CDate('" & Value & "') ", cn, 3, 1
cnt = rs.fields(0)
checkbox是否选中的判断
Me.chk.Value = -1是选中 IsNull()判断是否为null
Len()判断数据的长度 email地址的判断
Set tkExp = CreateObject("VBScript.RegExp")
tkExp.Pattern = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
If tkExp.Test(email) = False Then
MsgBox "email 格式不正確。", 48
Me.自宅email .SetFocus
Exit Function
End If
带有返回结果的msgbox,33的含义是 32+1,32是带有问号图标的提示框,1是显示“确定”和“取消”按钮,所以当你需要指定按钮和图标的时候可以把它们代表的数字加起来
当你点击取消的时候返回值是2,而vbCancel 的值是2,如果返回值和vbcancel的值一致的话,那么你点击的就是取消按钮,msgbox之后会详细列出来
msgRet = MsgBox("msg", 33)
If msgRet = vbCancel Then
Exit Sub
End If
打开新窗体,用法单独说明
DoCmd.OpenForm "openedFormName", , , , , , "需要传递的参数"
openedFormName中接收的写法是,变量=strTransitFormName = Me.OpenArgs 子窗体调用主窗体的方法并关闭自己
Dim main As MainForm
Set main = MainForm
main.検索_Click
DoCmd.Close acForm, "ChildForm"
子窗体右键可以删除数据的设置,设计视图许可设成 否
access 2007 vba 开发中学到的知识(一)的更多相关文章
- access 2007 vba 开发中学到的知识(三)
打开文件或程序 'API函数声明Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellEx ...
- access 2007 vba 开发中学到的知识(二)
文件的导入和导出 excel 'excel导入Private Sub btnInExcel_Click() Dim strSelectFile As StringWith Application.Fi ...
- access 2007 vba (亖)
OpenReport方法执行 OpenReport 操作在 Visual Basic 中. 语法 表达式 .OpenReport(ReportName, View, FilterName, Whe ...
- iOS开发学习概述及知识整理
设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了.这个界面模仿了Evernote iOS app的风格. 我以迅雷不及掩耳盗铃之势开始在Xcode上编程,用 ...
- 前端开发:css基础知识之盒模型以及浮动布局。
前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西? 为什么这个浮动没有效果? 这个问题楼主已经回答了n遍.今天则是把 ...
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息 ...
- access 2013下载 access 2010下载 access 2007下载 Access 2003下载 安装交流的论坛
在网上搜索了一个access 2013下载 access 2010下载 access 2007下载 Access 2003下载 安装交流的论坛 office安装的常见问题: http://www.of ...
- 最全的access2013教程 access 2010教程 access 2007教程 Access 2003教程
最全的access2013教程 access 2010教程 access 2007教程 Access 2003教程 都在这个access中国网站里 http://www.office-cn.net/o ...
- Office、VBA开发方案选择指南
最近很多朋友向我提出Office的开发方式方面的疑惑,主要是针对特定的系统和Office版本不知道选择哪一种编程语言.创建哪一种类型的项目. 事实确实如此,如果搞不清楚语言的特性和项目类型的特点,很可 ...
随机推荐
- query等待ajax执行完毕再继续执行下面代码的操作
Jquery等待ajax执行完毕再继续执行下面代码的效果,具体代码如下,其实就是将 jquery ajax 函数的 async 参数设置为 false 即可,该参数默认为 true: $(docume ...
- BOM头问题
最近有不少在微博上谈论BOM头问题,BOM头会造成页面展示的乱码,xml分析出现问题.而我恰巧遇到一种情况,在wml页面中如果加上BOM头,PC浏览器(IE,火狐)和手机浏览器(UC)都很正常,而如果 ...
- 解决Android ListView 和 ScrollView 共存时冲突 问题 方法其一
转载请注明出处: http://www.goteny.com/articles/2013/11/8.html http://www.cnblogs.com/zjjne/p/3428480.html 当 ...
- 转:Java反射教程
原文来自于:http://www.importnew.com/9078.html 什么是反射?反射有什么用处? 1. 什么是反射? “反射(Reflection)能够让运行于JVM中的程序检测和修改运 ...
- Android 字体颜色变化(点击)
在开发的过程中,经常会遇到这样的场景,点击按钮,背景颜色发生变化:在drawable中,定义xxx.xml(selector) <selector xmlns:android="htt ...
- webserver and application server
http://www.diffen.com/difference/Application_Server_vs_Web_Server http://www.differencebetween.com/d ...
- 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?
当然,在作模板的过程中,我们除了要定义好SELINUX,IPTABLES之后, HOSTS文件维护,用ZOOKEEPER还是RSYNC实现? 都要在前期好好规划.. 脚本如下,一般改成自己的就可以用. ...
- 自定义事件实现不同窗体间的通讯Delphi篇
要实现子窗体与父窗体之间的通讯,有多种方法(比如:重载子窗体的构造函数,将父窗体的引用作为参数传递给子窗体).下面我要介绍的是利用自定义事件的方法,它能够最大程度的避免模块之间的耦合,充分体现面向对象 ...
- Linq中join & group join & left join 的用法
Linq中join & group join & left join 的用法 2013-01-30 11:12 12154人阅读 评论(0) 收藏 举报 分类: C#(14) 文章 ...
- 【转】java byte转long、double、float、int、short,或者long、double、float、int、short转byte
原文网址:http://www.xuebuyuan.com/988752.html java byte与其他数据类型的转换主要用于二进制数据的编码和解码,主要用于网络传输,读写二进制文件,java和c ...