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

客先で動かしているAccessとFAXの連携システムが昨日から止まっている

これまでのWindowsXP+OutlookExpressであれば問題なかった。 しかし、OSはWindows7になってしまい、メールはWindowsLiveメールになってしまった。 そしてWindo …

no image

サブフォームで苦労

Access覚書。 サブフォームつきのフォームからダイアログ・フォームを呼び出す。 ダイアログフォームのリスト形式のレコードをクリックしたら、呼び出し元のフォームのサブフォームに値を追加して、次のため …

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …

no image

Accessで複数の用紙サイズ・向きの帳票を印刷したいが2枚出るとか、思ったようにならないなら

私がAccessで作った会社の業務管理システムは、帳票類がほとんどA4縦の用紙で出力されるようになっている。 しかし、一部の帳票、というか封筒は、長三サイズと、角6サイズをの用紙にしないと、プリントが …

no image

Accessの再クエリーでデータが移動してしまうのを解消

仕事メモ。 メイン・明細フォームのときは、 http://www.sanryu.net/acc/tips/tips323.htm を参考に、 Dim m_offset As Long ‘レ …