MS Access

SqlServerにAccessでいうオートナンバー型をつける

投稿日:2012年12月14日 更新日:

テストデータを作るために、Accessで2万件ほどのデータを用意し、別途追加クエリを作って、ODBC接続したSqlServerに追加しようとしたところ、「型変換エラーがどうのこうので追加出来ない」とのメッセージが返ってきた。

こういうメッセージが返ってくるときは、キー関係のエラーだと長年の経験で分かっているので(偉そう)、ははーん、SqlServerのテーブルでキー項目がオートナンバーになっていないから、追加しようとしているレコードの連番をセットできないのだなと、ピンと来た。

SQL Server Management Studio (SSMS) を開いて、目的のテーブルを見つけ、自分のテーブルの場合、「no」がキーになっているので、それを右クリックして「変更」を選択し、「IDENTITYの指定」というところの「IDである」を「はい」にした。

これで良しと保存しようとしたところ、「変更の保存が許可されていません」とエラーメッセージが表示される。

このメッセージを回避するには、

「[ツール] メニューの [オプション] をクリックします。
[オプション] ウィンドウのナビゲーション ウィンドウで、[デザイナー] をクリックします。
[テーブルの再作成を必要とする変更を保存できないようにする] チェック ボックスをオンまたはオフにして、[OK] をクリックします。 」

と、以下のページにあったので、その通りにしたら、うまく上書き保存(?)できた。

エラー メッセージ “変更の保存が許可されていません” が、SQL Server でテーブルを保存しようとすると表示される
<http://support.microsoft.com/kb/956176/ja>

改めてAccessに戻り、再度追加クエリを実行(もちろんno以外のフィールドを使う)したら、うまくいった。
そして20万件のテストデータも無事作れた。
ああ、今回も何とか難関をクリア・・・よかった。

でも、あれだな。
このたびの引っ越しでLANをギガビットにしたら、すんごく速くなったので、あえてSqlServerにしなくても、mdbのままでもいいかな、と思っている。
マジで。

-MS Access

執筆者:

関連記事

no image

VBAで忘れてしまっていたことと、知らなかったこと

STOPステートメント: ブレークポイントを設定しないでもその行でコード処理を止めることができるので、Access終了->Access起動といったシチュエーションで使える。 Randomizeステート …

Accessのフォームをデザインしようとすると固まる

タイミングとしては、フォームをデザインビューにした直後、プロパティシートをクリックしたとき。それだけで数十秒待たされる。 原因は、なんとなく、気が付いている。 ついさっき、フォームで使っているクエリに …

Office365にはSharePointリストという表データが保存できる機能がありAccessのリンクテーブルにできる

Office365では、AccessのWebアプリを作れる。 それで今、勉強しているのだが、Office365にはSharePointリストという表データが保存でき、それをAccessのリンクテーブル …

no image

Accessで1件ずつレコードを読んでスナップショットファイルを作ってメール送信する処理

作るのにWebに情報が無くてすごく苦労したので備忘録。 私にしかわからないかもしれないけど、見た人も何か参考になるかもしれないから、公開しよっと。 ■事前準備 1.処理を起動するフォームにボタン「調査 …

no image

Accessでファイル選択ダイアログを開いて選択したExcelファイルの先頭シートを読み込み番号が一致するデータの配送日を本日日付で消し込む処理

ファイル選択ダイアログを開いて、選択したExcelファイルの先頭シートを読み込み、番号が一致するデータの配送日を本日日付で消し込む処理(楽天販売DB.mdb) ダイアログを表示する際には、事前にMic …