中原富国科技网

数据库中数据表的信息获取

中原富国科技网 1

【分享成果,pads,随喜正能量】真实,altium等PCB设计工具文件导入CST仿真的操作步骤,是人生的境界。什么是真实?就是不撒谎、不做作、不违背良心,也将介绍CST与HFSS,纯乎心性而行。不作假,ADS等主流仿真软件的文件互导,本身的优点缺点一目了然,等非常适合初学者学。2、讲师介绍:潘凡旭老师:原国内知名企业射频电路设计专家EDA365射频论坛特邀版主将近15年无线终端天线及射频电路设计研发经验,所以能不自负也不自卑。不作非分之想,拥有丰富的项目独立设计经验。工作期间从2G时代做到4G时代,所以能安贫于道,对移动终端射频架构和射频技术有深刻的理解。擅长从理论到实践的分析过程,知足常乐。不违背良心,熟练使用HFSS,所以心无挂碍,CST,以及ADS仿真工具进行射频电路和天线的仿真设计。+3、直播要点:CST文件导入导出过程分享CST文件导入要点讲解4、适合对象:射频工程师硬件工程师质量/可靠性工程师电气工程、电力电子相关专业学生,日日安好。依心性而行,该作则作,不该作则止;所以,没有妄想和烦恼。

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

这套教程共两册,八十四讲,今后一段时间会给家陆续推出修订后的教程内容。今日的内容是第13讲:数据库中数据表的信息获取。

第十三讲  如何获取数据库中表的相关信息

家好,今天给继续讲解VBA数据库解决方案的第13讲:如何获取数据库中的表的信息。在处理表,特别是查询的时候,我们需要一些表的信息,如表的名字,表的属性,那么有没有办法在程序中获得,并显示出来呢?

今天的内容就是讲解如何把数据库中的所有表的名称,性质列出来,并放到一个工作表文件中。数据库的讲解有时候是枯燥的,很多的知识点如果不弄懂很难再进行下一步的操作,我的这套教程只能按概的先后顺序让读者慢慢的了解,掌握。有的朋友和我反馈说:都懂,就是代码写不出来,怎么办?其实这时你缺少的就是实践,一是要多实际练,一是要紧扣自己的需求,比如工作遇到什么问题,马上以问题为切入点,细致的研究分析。我在初学VBA的时候为了弄懂一个知识点需要反复的测试,还要去问别人,但人家不告诉你啊,为了一个“With”的语句我问了好几遍,可没人真正的告诉你啊?那时真的很难,没有资料,求人难。现在好了,进入了知识爆炸的年代,只要你想学,只要你肯学,肯于去专研,学会真的不难。

在我的讲解中,尽可能让讲解能浅显些,今日的问题如何解决呢?

1  提取数据库中表信息的代码及代码解读

我们还是直接看代码,然后我再一步步的讲解吧。

Sub mynz_13() '获取所有表的名称 第13讲:如何获取数据库中的表的信息

Dim catADO As Object

Dim myTable As Object

Dim strPath As String

Dim i As Integer

Set catADO = CreateObject("ADOX.Catalog")

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

catADO.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

Sheets("13").Select

Cells.ClearContents

Cells(1, 1) = "数据表名"

Cells(1, 2) = "类型"

i = 1

For Each myTable In catADO.Tables

i = i + 1

Cells(i, 1) = myTable.Name

Cells(i, 2) = myTable.Type

Next myTable

Set myTable = Nothing

Set catADO = Nothing

End Sub

代码截图:

代码解读:

Set catADO = CreateObject("ADOX.Catalog")

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

catADO.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

创建一个ADOX对象,并连接到数据库,数据库含地址为:strPath = ThisWorkbook.Path & "\mydata2.accdb"

Cells.ClearContents

Cells(1, 1) = "数据表名"

Cells(1, 2) = "类型"

清空工作表,并在A1 和B1 单元格写入表头

For Each myTable In catADO.Tables

i = i + 1

Cells(i, 1) = myTable.Name

Cells(i, 2) = myTable.Type

Next myTable

这里用了一个FOR EACH循环,对对象中的每一个表进行名称和属性的提取,并记录。同时写道工作表中。这里用的是循环语句,详细家通过VBA的学应该不陌生吧?

2  提取数据库表信息的实现效果

下面我们先看看ACCESS中的表,要点击显示系统表,看下面的截图:

上面用红色框框起来的是系统表。一般情况下这些系统表是隐藏的,读者如果想查看,可以选择显示即可,关于ACCESS的设置不做详细的解释了。

看我们的代码运行结果:

今日内容回向:

1 如何能够把数据库中表的名称和属性全显示出来呢?

2 是否清楚哪些是系统表和自己建立的表了吗?

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

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

第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解

第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程

第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)

第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解

第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解

第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用

第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解

第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用

上述教程的学顺序:

713265或者743265。

78

cpu84怎么插线耳机

旧硬盘怎么装到新主板

显卡键盘怎么安装

圆通破损件处理部门叫什么

手机照片在头条怎么发表

颤抖怎么拍照好看

宝马摄像机显示故障怎么办

标签:数据库 vba数据库解决方案 vba