【问题标题】:drop unnamed contraints in access在访问中删除未命名的约束
【发布时间】:2014-04-04 04:24:11
【问题描述】:

我有一个带有 [msaccess] 的程序,我需要重命名表的列。问题是如果列被索引,我不能用sql语句重命名,所以我必须删除索引。

删除我使用的索引:

ALTER TABLE SuministroProductos DROP CONSTRAINT Index_84793306_29F5_4DFF

但并非在所有版本中,索引都具有相同的名称。

那么,我如何知道每个表中的索引名称? 还有另一种重命名列的方法吗?我需要用 SQL 指令访问。

谢谢

编辑: 这项工作:

DROP INDEX Index_BB8ACAF4_28D7_4339 ON SuministroProductos

但这不起作用:

DROP INDEX Index_* ON SuministroProductos

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    以下代码将遍历表的索引。

    For i = 0 to CurrentDb.TableDefs("SuministroProductos").Indexes.Count - 1
       IndexArray(i) = CurrentDb.TableDefs("SuministroProductos").Indexes(i).Name
    Next
    

    【讨论】:

    • 好的,我怎样才能得到对象 CurrentDB?因为我使用 Oledb.connection 将 sql 指令发送到数据库。谢谢
    • CurrentDb 在 VBA 中可用。只需在 VBA 编辑器中打开一个模块并在那里使用上面的内容。
    • 我可以在我的 VB.Net 项目中打开它吗?我需要在那里做
    • @Millas - 在 VB.Net 项目中,如果您已添加 Access 库作为参考,则 CurrentDb 对象应该在您创建的 Access 应用程序对象中可用。
    • 我没有添加Access库,我使用OleDb对象。
    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 2021-05-29
    • 2013-08-22
    • 2018-10-05
    • 2013-01-03
    • 2012-09-05
    • 1970-01-01
    相关资源
    最近更新 更多