当前位置: 首页 > news >正文

添加网站备案号链接南高齿网站是谁做的

添加网站备案号链接,南高齿网站是谁做的,房地产设计图与规划图,网站托管西安《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA数据库解决方案第十二讲:如何判断数据库中某个数据表是否存在dcba2f4f825a8c676f50a0a6c4b14c09.jpeg

【分享成果,随喜正能量】 心静者高,高者俯瞰世界 心和者仁,仁者包容万物 心慈者深,深者淡对冷暖 心慧者安,安者笑对人生 。

第十二讲 如何判断数据库中某个数据表是否存在

大家好,今天给继续讲解VBA数据库解决方案,今天讲第12讲:如何判断数据库中的表是否存在。

1 应用场景的具体分析

为什么要讲这讲的内容呢?如我在上一讲讲的内容中有这段代码:
Set catADO = CreateObject("ADOX.Catalog")

strPath = ThisWorkbook.Path & "\mydata2.accdb" '此处是一个完整的路径

strTable = "员工记录" '表名称

If Dir(strPath) <> "" Then Kill strPath '如果有一个名称相同的表,那么删除

catADO.Create "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath '创建数据库并连接。

当我要创建一个数据库的时候,要首先判断一下这个数据库是否是存在,如果没有存在才能创建,如果已经存在,那么先要删除这个数据库才能创建,不然会出错的。对于关系表也是如此,如果我们要新建一个表,那么判断这个表是否存在是必须的。如何做到呢?

2 判断数据表是否存在的代码及代码解读

我们看下面的代码:

Sub myna_12() '判断数据表是否存在

Dim cnADO As Object

Dim strPath As String

Set cnADO = CreateObject("ADODB.Connection")

strPath = ThisWorkbook.Path & "\mydata2.accdb"

cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

If cnADO.OpenSchema(20, Array(Empty, Empty, "员工记录", Empty)).EOF Then

MsgBox "[员工记录] 表" & "不存在"

Else

MsgBox "[员工记录] 表" & "已存在"

End If

End Sub

代码截图:

f652beb4d41ac27ad5f1261c7c9157ff.jpeg

代码解读:

1) Set cnADO = CreateObject("ADODB.Connection")

strPath = ThisWorkbook.Path & "\mydata2.accdb"

cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

上面的语句是建立ADO对象,及打开连接,就不再过多的讲解了

2) If cnADO.OpenSchema(20, Array(Empty, Empty, "员工记录", Empty)).EOF Then

上面的语句中用到了cnADO.OpenSchema()方法:

OpenSchema方法是从提供者获取数据库模式信息,返回包含模式信息的 Recordset 对象。

语法:

OpenSchema (QueryType, Criteria, SchemaID)

参数:

  • QueryType 所要运行的模式查询类型,可以选择的常量,由于值较多,我们只是给出文中所用到的值 adSchemaTables = 20 表示请求有关表的信息
  • Criteria 可选。每个QueryType 选项的查询限制条件数组,比如 QueryType是adSchemaTables,Criteria可用的就是TABLE_CATALOG(表的目录),TABLE_SCHEMA(表的模型),TABLE_NAME(表的名字),TABLE_TYPE(表的类型),由于在我们的代码中我们要求的是表明是“员工记录”,所以我们给出的数组是:Array(Empty, Empty, "员工记录", Empty))  
  • 第三个参数SchemaID极少用到。如果 QueryType 设置为 adSchemaProviderSpecific = -1请求提供者特定的信息,则需要该参数,否则不使用它.

EOF它是end of file(End of File就是文件的结束,也即EOF,通常用来判断文件的操作是否结束的标志 )的缩写,表示"文字流"(stream)的结尾。

这样,代码If cnADO.OpenSchema(20, Array(Empty, Empty, "员工记录", Empty)).EOF then 代表的意思:如果到了文件的操作结束,意思是说也没有找到表名称为“员工记录”的表,那么就是没有找到。

2aaad95fa4bfc51872e8d6e544668e98.jpeg

好了,我们运行一下上面的代码:

c1eac2c43fff39c68188c48da1c07f7a.jpeg

今日内容回向:

1. 如何判断一个数据表是否存在?

2 对OpenSchema的语法,是否了解呢?

本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm

48ff737bd06a0f84d8119a039d513a6c.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

a73e169fbfe9f2297ab0894e79b7906a.jpeg


http://www.yayakq.cn/news/40560/

相关文章:

  • 网页设计如何建立网站如何处理网站死链
  • 推荐企业门户网站建设建大仁科公司网站
  • 济南济南网站建设网站建设wordpress关闭站点
  • 深圳手机企业网站设计怎么制作h5
  • ui素材网站个人网站模板制作
  • 大城 网站泰安网站建设哪家不错
  • 专门做肥料外贸的网站全国网站开发赛
  • 劳务派遣东莞网站建设找人做网站协议
  • 手把手教你做网站视频微信怎么申请小程序
  • 免费建设网站建网站需要多少费用
  • 建设春秋龙卡信用卡网站wordpress 兼容移动端
  • 淄博网站建设-中国互联html5做手机网站
  • 淘宝客网站怎么做的wordpress登陆注册界面
  • 弱电网站源码龙采做网站要多少钱
  • 桂林网站制作公司兴平做网站
  • 网站建设毕业设计题目厦门自助建站
  • 网站开发qq群珠海市网站建设制作设计平台
  • 怎样做心理咨询网站怎么样进行网站建设
  • 客户管理系统排行榜做网站优化两年遇到的SEO常态
  • 北京建机网站做企业网站一定要企业邮箱嘛
  • 免费电子商务网站源码二次网站开发
  • wordpress网站做成app6网站备案期间
  • 网站建站所用的技术济南工程建设信息网
  • 手机如何制作网站教程网站技术团队
  • 长春专业网站建设价格做网站具备的条件
  • 怎么优化网站源代码加速器怎么加速网页
  • 国内外创意网站欣赏网站的设计步骤
  • 网站数据库制作wordpress怎么拷贝
  • 信丰县建设局网站响应式网站有哪些2017
  • 个人网站怎么建立模板网站优