2014-03-03 72 views
0

我有一個程序[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 

回答

2

下面的代碼將通過你的表的索引進行迭代。

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

好的,我怎麼能得到對象的CurrentDB?因爲我使用Oledb.connection將sql instruccions發送到數據庫。謝謝 – Millas

+0

'CurrentDb'在VBA中可用。只需在VBA編輯器中打開一個模塊並使用上面的模塊。 –

+0

我可以在我的VB.Net項目中打開這個嗎?我需要在那裏做 – Millas