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

使用ODBC查询Access2007多值字段

  •  1
  • apenwarr  · 技术社区  · 15 年前

    我有一个Access2007数据库,它使用“attachment”数据类型(在Access2007中是新的)作为其字段之一。这个字段是一个神奇的“多值”字段,可以包含多个附件。

    我希望能够使用单个ODBC查询,轻松地看到数据库中所有行的这个字段的内容。理想情况下,原始表的每一行应该正好是一行,我希望所有附件都作为一个数据库单元返回。在理想的情况下,可以使用单个insert-in to查询将该附件集重新插入到另一个表中。

    我认为这可能是一个很高的要求,所以如果必须的话,我会满足于:

    • 告诉我给定附件字段中附件数的SQL查询

    或最坏情况:

    • 一个SQL查询,它告诉我给定行中的附件是否为空。

    我似乎在网上找不到任何关于多值字段的好文档。也许它们太新了。

    思想?

    (P.S.别费心告诉我多值字段是邪恶的。我已经知道了。我不是创建数据库的人。)

    2 回复  |  直到 15 年前
        1
  •  3
  •   onedaywhen    15 年前

    如果可以使用ADO,则连接到数据源 没有 使用 OLEDB:Support Complex Data=True 在连接字符串中并查询列:应获取类型为的列 adLongVarWChar (即 MEMO )其中,值是用分号字符分隔的文件名。因此,获取文件列表只需要简单的解析。

    可以 可以使用ADO获取附件,但我还没有看到它完成。使用 OLEDB:支持复杂数据=真 意味着您将得到一个类型的列 adIDispatch 即物体。那个目标是什么,我不知道(我希望它是一个 ADODB.Recordset 但不能走。

        2
  •  1
  •   Tony Toews    15 年前

    http://www.access-freak.com/tutorials.html#Tutorial07 获取一些信息,尽管他没有一个好的屏幕截图或查询的SQL。他的网站也不是最好的格式或可读性。

    这假设您正在从InsideAccess2007运行查询。如果您想通过ODBC运行它,请参见 http://groups.google.ca/group/microsoft.public.data.odbc/browse_thread/thread/d0ee29cc5e54e0fb