使用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 开发中学到的知识(一)的更多相关文章

  1. access 2007 vba 开发中学到的知识(三)

    打开文件或程序 'API函数声明Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellEx ...

  2. access 2007 vba 开发中学到的知识(二)

    文件的导入和导出 excel 'excel导入Private Sub btnInExcel_Click() Dim strSelectFile As StringWith Application.Fi ...

  3. access 2007 vba (亖)

    OpenReport方法执行 OpenReport 操作在 Visual Basic 中. 语法   表达式 .OpenReport(ReportName, View, FilterName, Whe ...

  4. iOS开发学习概述及知识整理

    设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了.这个界面模仿了Evernote iOS app的风格. 我以迅雷不及掩耳盗铃之势开始在Xcode上编程,用 ...

  5. 前端开发:css基础知识之盒模型以及浮动布局。

    前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把 ...

  6. SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

    原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息 ...

  7. access 2013下载 access 2010下载 access 2007下载 Access 2003下载 安装交流的论坛

    在网上搜索了一个access 2013下载 access 2010下载 access 2007下载 Access 2003下载 安装交流的论坛 office安装的常见问题: http://www.of ...

  8. 最全的access2013教程 access 2010教程 access 2007教程 Access 2003教程

    最全的access2013教程 access 2010教程 access 2007教程 Access 2003教程 都在这个access中国网站里 http://www.office-cn.net/o ...

  9. Office、VBA开发方案选择指南

    最近很多朋友向我提出Office的开发方式方面的疑惑,主要是针对特定的系统和Office版本不知道选择哪一种编程语言.创建哪一种类型的项目. 事实确实如此,如果搞不清楚语言的特性和项目类型的特点,很可 ...

随机推荐

  1. arclist标签和list标签区别

    很多站长朋友在刚入门织梦的时候对织梦的标签存在很多的困惑,关于arclist标签和list标签,甚至不知道啥时候用arclist,啥时用list标签.arclist 为自由列表,全局模板中都生效,一般 ...

  2. 卓越网的kindle paperwhite

    卓越网的kindle paperwhite, 899元的价钱,好吸引啊,我是不是也应该买一个呢,从卓越网中看见kindle paperwhite的1代开始,一直想买,等到现在的2代也出了,也继续在考虑 ...

  3. Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据

    Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include <stdio.h> ...

  4. 如何进行fragment中的来回切换?

    本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术,本文为大家讲解如何进行fragment中的来回切 ...

  5. log4net 学习笔记

    记入最基本的用法 : refer : http://www.cnblogs.com/aehyok/archive/2013/05/07/3066010.html <configuration&g ...

  6. Usage、Usage Minimum和Usage Maximum项目详解

    (1)一个产生多个数据域(Report Count>1)的主项目之前有一个以上的[用途]时,每个[用途]与一个数据域依次对应,如果数据域个数(Report Count)超过[用途]的个数,则剩余 ...

  7. [Python]round四舍五入精度缺失的解决

    环境: os: win7 64bit python:2.7.5  32bit 对python四舍五入的解决方案 现象: 一般的四舍五入操作都是使用内置的round方法   In [14]: round ...

  8. Linux输出重定向

  9. IE6下的怪异解析知识点补充

    转载请注明出处:HTMl5自由者      

  10. [每日一题] 11gOCP 1z0-052 :2013-09-3 Because of frequent checkpoints...........................A30

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11022433 正确答案:BC 这里我就偷一下懒了,引用 http://www.itpub. ...