首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在MS Access中,有没有一种方法可以用VBA来判断ODBC链接表是SQL视图还是表

在MS Access中,可以使用VBA来判断ODBC链接表是SQL视图还是表。可以通过检查链接表的属性来实现。

以下是一种方法来判断ODBC链接表是SQL视图还是表:

  1. 使用VBA打开MS Access数据库。
  2. 使用CurrentDb.TableDefs对象获取数据库中的所有链接表。
  3. 遍历链接表列表,对于每个链接表执行以下操作: a. 使用链接表的名称作为参数,调用CurrentDb.TableDefs("TableName").Connect方法获取链接表的连接字符串。 b. 使用链接表的名称作为参数,调用CurrentDb.TableDefs("TableName").SourceTableName方法获取链接表的源表名称。 c. 使用链接表的名称作为参数,调用CurrentDb.TableDefs("TableName").Attributes方法获取链接表的属性。
  4. 判断链接表的属性是否包含dbAttachedODBC常量,如果包含则表示链接表是ODBC链接表。
  5. 如果链接表是ODBC链接表,则判断连接字符串中是否包含VIEW关键字,如果包含则表示链接表是SQL视图,否则表示链接表是表。

下面是一个示例代码:

代码语言:txt
复制
Sub CheckODBCLinkedTable()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    
    Set db = CurrentDb
    
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbAttachedODBC) <> 0 Then
            Dim connectString As String
            Dim sourceTableName As String
            
            connectString = tdf.Connect
            sourceTableName = tdf.SourceTableName
            
            If InStr(1, connectString, "VIEW", vbTextCompare) > 0 Then
                Debug.Print sourceTableName & " is an ODBC linked SQL view."
            Else
                Debug.Print sourceTableName & " is an ODBC linked table."
            End If
        End If
    Next tdf
    
    Set tdf = Nothing
    Set db = Nothing
End Sub

请注意,此代码假定你已经在VBA编辑器中引用了Microsoft DAO 3.6 Object Library。你可以在VBA编辑器的"工具"菜单中选择"引用",然后勾选"Microsoft DAO 3.6 Object Library"来引用该库。

希望这个答案能够满足你的需求。如果你需要更多帮助,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Microsoft Office Access

可视对象用于显示和报表,他们的方法和属性VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。...数据库做了很多地扩充,如,Access的环境,可以查询中使用自己编写的VBA函数,Access的窗体、报表、宏和模块作为一种特殊数据存储JET数据库文件(.mdb),只有Access环境才能使用这些对象...受此限制,JET数据库引擎允许用户通过链接表ODBC来访问大型的数据库系统,如Microsoft SQL Server、Oracle等,也可以使用链接表访问ISAM数据文件,如dBase、Excel、...在这方式下,处理大型数据库(服务型数据库,如SQL Server、Oracle)时,每一个链接表都有一个服务器的连接,服务器端,连接一种资源,除了每个连接都要占用一定服务器资源外,还要负责链接表传递过来的数据访问指令的处理并返回相应的结果给客户端的...Microsoft不甘心它的Access软件只能通过JET引擎使用链接表ODBC这种既浪费服务器资源又浪费客户端资源的方式或者通过ADO复杂的编程和不直观的操作方式开发大型数据库系统应用,于是,Access

4.2K130

【续坑】如何心平气和地填坑之拿RSViewSE的报表说事(2)

ODBC基于结构查询语言(sql)的,以此作为访问数据的标准。 简单点说,ODBC就是一种统一的对SQL数据库的连接接口,用户可以通过ODBC接口编写SQL语句实现对数据库的增删查改操作。...创建完可在Access里面看到这些 Datalog的第二个选项内为路劲(Path),选择ODBC备用路劲的,感兴趣的可以自己设置试试。...RSViewSE里面,虽然以图形化的方式完成了数据记录功能,但却并没有集成直接读取数据的接口,所以,我们还是需要编写VBA脚本来实现对数据库的读取。...1)、编写脚本读取Access数据库内的内容 VBA脚本代码中会涉及一个数据库的连接接口ADODB,它是一种兼容的各类数据库应用程序接口(API),各种数据库都可以。...使用SQL语句查询需要注意日期格式,查询Access的日期时间时两边加上#符号,如#2020/03/22 12:00:00#。另外,Access通配符需要注意。

2.9K10
  • Access获取外部数据(一)

    使用数据的过程,实际上直接向数据库输入数据十分少见的,更多的情况直接使用已使用的数据文件,可以避免需要重复输入数据的麻烦。本节先介绍导入和导出数据。...可以将其他的Access数据库、Excel表格、ODBC数据库、HTML文档和文本文件等导入到当前的Access数据库。 选择外部数据选项卡--新数据源,可以根据需要选择。 ?...一种将源数据导入到当前数据库一种通过创建链接表链接数据源。(采用导入就是将数据复制到Access,创建保存数据,与数据源的数据无关联。...而采用创建链接表源数据做的更改也会在Access更新,而无法从Access的更改源数据。) ?...第三选择主键,Access自行创建id还是自主选择。最后完成即可。 ? 如果Access已经有了表格,选择源文件后,会多一个选项:向追加一份记录的副本。

    2.9K10

    SQL语言初识

    SQL查询指用户直接使用SQL语句创建的查询,可以AccessSQL视图中查看,包括联合查询、传递查询、数据定义查询和子查询四种。 ?...四、Access SQL 语 言 1、查询的SQL视图 Access数据库,查询操作都是通过SQL语言实现的,主要是数据操作语言DML的Select语句及其子语句。...使用Access数据库创建查询设计时,会在设计视图和数据视图切换,还有一种SQL视图,对应查询的SQL语句可以SQL视图中找到。...创建查询后,通过切换SQL视图可以查看SQL语句,这也是很好的学习方法。...2、VBA代码中使用 SQL语言不仅可以单独使用,还可以大部分的编程语言中使用。比如在AccessVBA编辑器,后期如果讲到VBA再做说明。 ? ?

    1.6K20

    Odbc微软开发式数据库操作和使用

    [TOC] 0x00 前言简介 描述:开发之中常常使用 OCCI接口进行编程的它得优点: 一个原因自己比较喜欢纯C++编程 二考虑到程序要往Linux服务器移植的少走冤枉路 百度百科:开放数据库连接...开放系统体系结构))的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵...点击进去就能看见您安装得 数据源驱动程序 注意: 从网站上下载的驱动包版本必须一致的; Windows10系统默认X64的ODBC数据源,如果您需要执行32位得ODBC数据源程序您要进入文件目录...ODBC Data Sources (32-bit)[C:\WINDOWS\SysWOW64\odbcad32.exe] ---- 0x02 配置Odbc链接 描述:采用Excl的Access进行ODBC.... 4.连接成功可以看见数据库中所有的链接表 WeiyiGeek. ---- 0x03 入坑解决 问题1:无法加载驱动程序的安装教程,因为存在系统错误代码 193 原因:因为64位系统安装32位的服务端及客户端所致

    1.3K20

    VBA代码引用ADO的连接用法

    我们如何利用EXCEL的VBA代码,有效地与SQL SERVER数据库结合起来,实现菜鸟水平也可以达到高效利用数据库呢?...这关键的第一步就是,如果使EXCEL的VBA代码,顺利访问SQL SERVER数据库,然后就可以用普通的SQL语句读写数据库的数据了。现在就我的编写调试的实践经验,谈谈我的个人体会。...SERVER的用户名sa,密码就是在数据库安装时以sql server身份验证时所设置的密码,服务器名称就是数据库名称,可以是ip地址,本机可以用127.0.0.1表示,局域网其他计算机可以用其ip...无源数据库连接则不用配置ODBC环境,可以省去手工设置DSN的麻烦,这种方法所编写的软件适应性广,又符合专业软件的要求。 当然,网上还有一种与此不同的方法,有源数据库连接。...有源连接就需要配置ODBC环境又要设置DSN,所以我也没有哪个时间去测试了。好方法,有效的方法只要有一个就够了。你说是不?

    2.6K100

    vba新姿势,如何让vba的数据处理超越Python

    "你的vba水平不行,才需要写这么复杂,比如分组可以先排序,再遍历判断边界做处理" "vba可以调用odbc等数据库驱动,使用 sql 呀" 那些不看内容不经思考的评论就不说了 真希望他们评论的同时能自己动手实践一下...红框本需求的关键逻辑 注意了,他固定逻辑的循环里面 当然也可以先排序,遍历判断边界。..._性别") ,就是分组+处理 参数1自然数据数组 参数2分组列,4表示第4列 参数3每个组的处理逻辑,执行时,每一组"性别"的数据就会传入自定义方法执行 红框方法,xdf 参数实际也是一个二维数组...分组 key 实际也可以做成字段,不过为了方便讲解,这里没有制作成完整的类模块形式 虽然看起来 vba 代码多一些,但多出来的只是一些通用细节: 指定工作与单元格区域生成数组,用了2句,完全可以用一句...pandas 实现: vba 实现: 注意绿色框的调用,方法 groupby_apply 参数3之后,我们可以传递无数个参数,他们会组成一个字典,组处理方法参数3 kws,可以获取数据 看看每个方法的处理

    3.1K10

    【坑】如何心平气和地填坑之拿RSViewSE的报表说事

    ADO和DAO的最大区别是ADO使用OLEDB接口而非ODBC作为底层数据供应者的。依靠OLEDB,ADO也能够支持对非SQL数据存储的记录集访问,如Email和网络目录服务。...OLEDB提供了比ODBC更多的灵活性和易用性。OLEDB服务的内部设计使得它能存取标准SQL类型的数据那样容易的访问非SQL数据存储。OLEDB的一个关键特性它可以提供对描述性数据存储的处理。...通过提供某种方法描述数据存储方式,OLEDB可以对以任何格式存储的数据和以任何方法执行的查询提供访问途径。由于OLEDB并不要求所有数据存储都以表格、行和列的形式出现。...所以与ODBC相比,它适用于更多的数据存储类型 DATA和ADODC DATA只能用jet或ODBC的方式来访问数据,而ADODC则可以用ADO的方式来访问数据,相对于DATA控件来说ADODC访问数据又快又方便...,输入标题栏内容 VB里面,子程序分为两种, 一种过程,一种函数 Sub 和Function 区别, 如果需要返回子程序的值,就用函数(Function) 如果不需要返回子程序的值,就用过程(

    3.1K41

    Microsoft office 2021激活密钥值得购买吗?

    Office 2021 专业增强版还是可以买下的,包含Word、Excel、PowerPoint、OneNote、Outlook、Publisher 和 Access 等应用,我亲自测试过,Microsoft...新增功能: 工作视图 不中断他人的情况下在 Excel 工作创建自定义视图。 新增功能: 注意: 工作视图 Excel LTSC 2021 不可用。...新增功能: 使用深色模式减少眼睛疲劳 以前,你可以 Word 中使用深色功能区和工具栏,但文档颜色仍然亮白色。 现在,Word 的深色模式还提供深色画布。...刷新、重新链接或删除链接表 更新的 链接表管理器 查看和管理 Access 数据库中所有数据源和链接表的中心位置。 查看我们根据你的反馈对 链接表管理器 所做的所有改进。...新增功能: Access 尝试新的日期/时间扩展数据类型 为了增强与 SQL 的语法兼容性并提高包含日期和时间的记录的准确性和详细程度,我们 Access 实现了 SQL DateTime2

    5.8K40

    VBA与数据库

    使用Excel的目的是为了处理大量的数据,而学习VBA是为了更方便的处理大量的数据,用的多了就会发现,使用VBA处理Excel的数据的时候,总是花很多的精力处理那些不规则的数据上。...所以,VBA用的多了,最后总还是会回到数据的规范上来,只有规范的数据才更方便用VBA来处理。...其实很多概念和Excel也是一样的,首先可以新建一个Access文件,这就相当于Excel的文件,打开后空的,点击创建-,就新建了一个叫做表的东西,这个就和Excel的Worksheet一样。...点击视图-数据视图,展现给我们的其实和Excel表格的形式差不多的,数据的构成仍然行+列的二维数据形式。 只是里面存在很多的限制,也就是这些限制和Excel有很大的不同。...只需要安装好对应的数据库驱动程序,Windows上,VBA只需要使用ADO接口去操作就可以。 所以想使用VBA操作数据库,需要学习的东西并不多,主要就是ADO和SQL语句。

    1.9K20

    oracle数据库connectionstring,oracle数据库 connectionstring

    不同的数据提供程序对应着不同的Connection对象,… 文章 余二五 2017-11-13 634浏览量 工厂模式连接数据库 项目中通常可能会使用不同的数据源,可能SQL Server也可能ACCESS...对,使用工厂模式.Net1.1的时候,这需要项目实施者自己完成.Net2.0,MS已经新增了几个用于实施工厂模式的类库.首先… 文章 宝珠 2006-03-06 703浏览量 [SPLEB]数据库设计...2.0,新增了ConnectionStrings. 1.Connectio… 文章 嗯哼9925 2017-12-14 1048浏览量 使用unidac linux 上无驱动直接访问MS SQL...这段代码打开了MyTable,并把操作员的名字列出。字段类型OracleString。读取的时候用的字段编号,我不知道怎么使用字段名读取某字段的内容。...,列名对比 数据库里创建、删除时,往往需要判断这个是否存在; 有时候修改表字段,比如添加、删除字段时也需要事先判断该字段是否存在,这往往有对应的脚本或操作,不同的数据库有不同的相关的对象、脚本

    4.3K40

    SQL命令 INSERT(三)

    IRIS返回一个状态变量SQLCODE,指示插入成功还是失败。要将行插入到,插入操作必须满足所有、字段名和字段值要求,如下所示。 : 该必须已经存在。...请注意,此错误在编译时发出的,而不是执行时发出的。 如果通过视图更新,则不能将该视图定义为只读。尝试这样做会导致SQLCODE-35错误。...可以通过调用SET TRANSACTION %COMMITMODE修改SQL当前进程的这个默认值。...可以通过调用SetOption()方法ObjectScript修改当前进程的这个默认值,如下SET status=$SYSTEM.SQL.Util.SetOption("AutoCommit",intval...Microsoft Access 要使用INSERT通过Microsoft Access将数据添加到 IRIS表格,请将表格RowID字段标记为专用,或者一个或多个附加字段上定义唯一索引。

    2.4K10

    PHP学习笔记——MySQL的多种连接方法

    WHERE LastName='Griffin'"; $result = $conn->query($sql); PHP 数据库 ODBC ---- ODBC 一种应用程序编程接口(Application...Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。...---- 创建 ODBC 连接 通过一个 ODBC 连接,您可以连接到您的网络的任何计算机上的任何数据库,只要 ODBC 连接可用的。...这是创建到达 MS Access 数据库的 ODBC 连接的方法控制面板打开管理工具图标。 双击其中的**数据源(ODBC)**图标。 选择系统 DSN 选项卡。...点击系统 DSN 选项卡的添加。 选择Microsoft Access Driver。点击完成。 在下一个界面,点击选择定位数据库。 为数据库起一个数据源名(DSN)。 点击确定。

    3K20

    SQL命令 INSERT(一)

    table - 要对其执行插入操作的视图的名称。此参数可以是子查询。INTO关键字可选的。名(或视图名)可以是限定的(schema.table),也可以是不限定的(Table)。...参数 可以指定要直接插入到参数、通过视图插入的参数或通过子查询插入的参数。如创建视图中所述,通过视图插入受要求和限制的约束。...可以SQL执行环境显式设置SELECT模式,如下所示: ObjectScript程序或从Terminal 接口:调用SetOption()方法,如下所示:设置SET status=$SYSTEM.SQL.Util.SetOption...动态SQL,指定%SelectMode=n属性,其中整数n为0=逻辑(默认值),1=ODBC,2=显示。...因此,强烈建议使用%List结构插入%SerialObject属性值之后,使用$SYSTEM.SQL.Schema.ValidateTable()方法执行数据验证。

    6K20

    Python操作SQL 服务器

    ODBCODBC开放数据库连接的简称)一种用于访问数据库的标准化应用程序编程接口(API),由90年代初的SQL Access组开发。...兼容的数据库管理系统(DBMS)包括: IBM Db2 MS Access MS SQL服务器 MySQL Oracle 本文将使用MS SQL 服务器。...多数情况下,该服务器可以直接转移,与任何符合ODBC的数据库一起使用。唯一需要更改的连接设置。 2. 连接 首先,要创建与SQL 服务器的连接,可以通过pyodbc.connect实现。...”前1000行的数据框。...SQL变更数据 现在,如果要变更SQL的数据,需要在原始的初始化连接后添加另一步,执行查询过程。 SQL执行查询时,这些变更将保存在临时存在的空格,而不是直接对数据进行更改。

    3.3K00

    5个常用的MySQL数据库管理工具_sql数据库管理工具

    它能处理包括元数据编辑(、列、键、索引)、自定义SQL执行、用户管理、多连接等在内的所有主要任务。 6. SqlWave SQLWave一种简单、快速且易用的MySQL客户端。...SqlWave支持所有MySQL的最新版本,包括它用来管理数据库结构的所有最新功能,如工作视图、存储过程、函数、事件、外键和触发器等。 7....Sequel Pro Sequel Pro基于MySQL数据库的一种快速易用的Mac数据库管理应用程序。用户可通过Sequel Pro本地和远程服务器上直接访问MySQL数据库。...HeidiSQL HeidiSQL一种专为web开发人员设计的有用且可靠的工具,可用于当前最受欢迎的MySQL服务器,微软SQL数据库和PostgreSQL。...用户可以通过ODBC与OleDB连接任何数据库系统,也可以访问MS AccessMS FoxPro Database、Dbase和XML文件。 15.

    10.3K40

    探索SQL Server元数据(一)

    什么动态在线目录?   每一个关系型数据库系统,比如SQL Server 一定要提供关于它的结构的信息,这些信息往往需要通过sql语法查询。通常这些信息被保存在指定数据的结构。...总有一种方法可以使用DDL修改视图中的任何信息,即使并不总是显而易见的。 关系型数据库使用动态的系统视图中的数据描述数据库,但是目前还有没有标准化。...之前看到MSDN上有人警告说不要使用INFORMATION_SCHEMA视图确认对象架构,我理解是因为SQL Server允许不同的架构中有相同的名字,因此当只有名称的时候会有混淆。...兼容性视图 兼容性视图维护元数据的视图SQL Server 2005之前有系统支持的,并且只向后兼容。...有许多派生视图,比如外键、约束、服务队列、视图和过程,这些视图用特定于被编目的对象类型的信息补充一般的对象信息 并非SQL Server元数据的所有内容都是对象。

    57120

    VBA创建Access数据库的4种方法

    那么,将数据存取到Access数据库中就是一种好的解决方法。今天,我们谈谈怎么使用Excel VBA创建数据库,数据的几种方法。...操作方法:单击VBE窗口上的【工具】按钮,弹出的快捷菜单单击【引用】按钮, 接下来,弹出的对话框选择【Microsoft Access 16.0 Object Library】。...Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接连接到 Access 。...操作方法:单击VBE窗口上的【工具】按钮,弹出的快捷菜单单击【引用】按钮,接下来,弹出的对话框选择【Microsoft DAO 3.6 Object Library】。...当用户从网站请求网页时,返回的网页也包括了数据的相应数据,这些由于使用了ADO代码的结果。 其中ADO+SQL用于创建和字段,ADOX用于创建数据库。

    6K100

    Power Query 系列 (03) - 从数据库导入数据

    本篇介绍 MS Access 和 MySQL 数据导入,其他数据库的使用方式类似。也会介绍 从 ODBC 数据源导入数据的方法。...从数据库导入数据,有两个要点: 数据库驱动:默认情况下, PQ 支持 MS AccessSQL Server 数据库的连接,其他数据库机器上要有相应驱动的支持。...ODBC 和 OLEDB 微软两种数据库操作的应用程序编程接口 (API)。...导入 MS Access 数据 [20190829074408572.gif] 导入 MySQL 数据 PQ 连接 MySQL 数据库使用的 ADO.NET Driver for MySQL (Connector...MySQL 数据库默认的端口 3306。可以展开 “高级选项”,高级选项中直接输入 SQL 语句。如果不展开 “高级选项”,也可以在下一步的界面,可视化选择需要导入的数据

    2.4K30

    OPC服务器比较

    Intellution公司和Wonderware公司专门从事监控软件工作的,市场占领绝大部分份额;Cimplicity和WinCCGE和Siemens公司自动化产品的配套产品。...有全面解决扩展点的报警、报警记录、历史记录的方法,有查找替换功能,可以替换整个图画以及画面的对象的属性、组态点信息,对于同类型物体,避免重复组态。...支持Oracle、SQL Server 2000、Access等关系型数据库。...点的扩展功能与iFIX一样强大,但对于扩展点的报警设定比较难解决,输出问题,历史记录没问题的。支持Oracle,SQLServer 2000,Access关系型数据库。...该软件最主要的优点很容易地iFlX中集成第三方的对象和控件,并且把iFIX对象嵌入到其它应用程序。此外,iFIX ODBC提供关系数据库与过程数据的通讯。

    2.4K10
    领券