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

執筆者:

関連記事

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

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

no image

access覚書

複雑な親子フォームを作る際、テーブル設定でインデックスを2つのフィールドとも「はい (重複あり)」にすることで、親のコンボボックスに子が連動するようになった。 Excelでコピーした表データをテーブル …

no image

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

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

no image

ExcelからAccessの外部データの取り込みでトラブル

ExcelからAccessのクエリを使いたいとき、データ接続途中の「テーブルの選択」ウィンドウに、使いたいクエリが表示されない。 ウィンドウ内には、Accessにあるはずのクエリがあったりなかったり。 …

no image

VBAで英字混じりの引数から数字のみを取り出す関数

たとえば、abcABC123456XYGという引数から、123456のみを取り出したい。 VBAの組み込み関数で、適当なのがありそうだけど、無いみたい。 カスタム関数を作るにも、これはという情報がググ …