代码之家  ›  专栏  ›  技术社区  ›  spinjector

在Microsoft Access中,CodeData、CodeProject和DAO之间的关系是什么。。?

  •  1
  • spinjector  · 技术社区  · 8 年前

    以下几组Microsoft Access VBA集合之间有什么不同。。?其中一些似乎指向相同的数据&子对象,但通过不同的管道。我认为DAO对象是DBMS特定的,但是访问。°代码。°和通道。°项目。°不是,通过访问连接。还有ADODB,它完全是另一种野兽。此外,如果没有该类型的子对象,则某些集合可能不存在。

    考虑到提到SQL特性,似乎有三种场景需要关注,但很难理解:

    1. 独立的ACCDB文件。
    2. 具有两个或多个ACCDB的拆分数据库 文件夹。
    3. SQL server的访问前端。

    对象集#1:

    1. 通道代码数据。所有表格
    2. 通道代码数据。所有查询
    3. 通道代码数据。所有函数
    4. 通道代码数据。所有数据库图
    5. 通道代码数据。所有存储过程
    6. 通道代码数据。所有视图
    7. 通道代码项目。所有窗体
    8. 通道代码项目。所有宏
    9. 通道代码项目。所有模块
    10. 通道代码项目。所有报告
    11. 当然还有CodeData和CurrentData,CodeProject和CurrentProject。

    对象集#2:

    1. 通道应用代码数据*
    2. 通道应用代码项目*

    对象集#3:

    1. 通道应用电流dB。QueryDefs(DAO.QueryDefs)
    2. 通道应用电流dB。关系(道关系)
    3. 通道应用电流dB。TableDefs(DAO.TableDefs)
    3 回复  |  直到 8 年前
        1
  •  3
  •   AdamsTips    8 年前

    最大的区别在于 类型 您正在使用的数据库的。A标准 Microsoft Access数据库 (*.accdb)将主要使用 CurrentDB / CodeDB 对象来引用数据库对象。

    ADP项目 另一方面,是与SQL server上的一些数据(表、查询等)的混合通过访问 CurrentData / CodeData 以及其他对象,如驻留在*中的窗体和报表。adp文件并通过访问 CurrentProject / CodeProject .

    两者之间的区别 电流dB 代码数据库 当涉及多个数据库文件时,例如其他被称为库数据库的Access数据库时,这一功能就会发挥作用。这些库数据库可能具有与父应用程序以及引用库的其他应用程序交互的功能。

        2
  •  2
  •   Erik A    8 年前

    你应该已经知道了(因为我告诉过你 here ),您可以将代码存储在外部数据库中,并从另一个数据库中引用该代码。

    此外部数据库中的代码可能依赖于要显示的某些表、查询和表单。但由于它是在另一个数据库上运行的,它们可能不是。

    那就是 CodeDb , CodeProject CodeData 进来吧它们完全等同于从 Current ,仅指存储代码的数据库,而不是当前打开的数据库。

    之间的差异 CurrentDb , CurrentProject CurrentData 真的是在问苹果、梨和橘子之间的区别。它们都是物体,但具有不同的功能。正如ThunderFrame所指出的, 电流dB 主要是刀,和 当前项目 包含一些ADO功能(大部分只是连接),但也包含影响数据库VBA部分的功能、数据库路径和许多其他功能。和 当前数据 完全是另一回事。

        3
  •  2
  •   ThunderFrame    8 年前

    在Access中 CodeDB CurrentDb 函数返回 DAO.Database 物体。

    CodeDb 是数据库 外接程序,代码在其中运行(可能与 电流dB .

    电流dB 是当前活动的数据库( 加载项)。

    添加了Access 2002/03 ADODB ,于是他们又加了一句 CurrentProject CodeProject 用于返回ADO等价项的函数 电流dB 代码数据库 ,但作为ADO,它们有非常不同的方法和属性。