- 締切済み
MDB内既存テーブルに主キーのフィールド追加は可能か?
DAOでMDBにアクセスするシステムなのですが、 テーブル仕様変更に伴い、既存のテーブルに新規に主キーとなるフィールドを追加します。 当テーブルはすでに主キーは複数存在しています。 現在は CreateIndex("PrimaryKey")を行ったのですが、 「既に主キーは既に存在しています」と表示されてしまい、異常終了をしてしまいます。 単にフィールド追加することは容易なのですが、主キーとなると、だめみたいです。 この場合は、どのようにすれば良いのでしょうか? 大変申し訳ございません。 ご教授よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sgh
- ベストアンサー率61% (75/121)
#1です 主キーを削除するなら以下のサンプルコードで実現可能です。 それ以外のキーを作成する場合は、TableDefやSQL文を使ってやってみてください。 業務中に主キーをはずすのはおすすめできません。 普通にACCESSを開いて手動で変更することをおすすめします。 Dim dbs As DAO.Database, tdf As DAO.TableDef Dim idx As DAO.Index Dim SQL As String Set dbs = CurrentDb Set tdf = dbs.TableDefs("テーブル1") ' TableDef の Indexes コレクション取得 For Each idx In tdf.Indexes ' Recordset オブジェクトの Primary プロパティを確認します。 If idx.Primary Then SQL = "ALTER TABLE テーブル1 DROP CONSTRAINT " & idx.Name dbs.Execute SQL End If Next idx
補足
失礼致しましたユニークキーです