• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBScriptでAccessMDBにテーブルを作成時、値要求はいのフィールドが作成できない。)

VBScriptでAccessMDBにテーブル作成時の値要求に関する問題

このQ&Aのポイント
  • VBScriptでAccessMDBにテーブルを作成する際に、値要求が設定できない問題が発生しています。
  • 質問者はAccess97で使用しているデータベースにスクリプトでテーブルを作成する必要があり、値要求を「はい」に設定しているにも関わらず、設定できないという問題が発生しています。
  • 質問者はVBScriptのサンプルソースを提供しており、設定の仕方が間違っているのかどうか尋ねています。

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

97の環境がありませんので、実験していませんが、 ADOでコネクションを開き、 strSQL = CON.Execute "ALTER TABLE TABLE2 ALTER COLUMN FIELD1 TEXT(30) NOT NULL" のようなSQLを発行することによって、「値要求」を「はい」にすることはできます。 既に存在しているデータに制約に違反するものがある場合は、エラーが起きて実行できなかったと思います。 ただし上記SQLをNULLに変えても、NULL値禁止制約は解除されません。(逆向きの操作はできません。) もひとつ別情報としては、CREATE TABLE の CONSTRAINTでは、NULL値禁止制約を設定することはできません。 (ソースは見つけられません。) 昔、この件で悩んだ事があったような、なかったような・・・ (mdbを)ご利用の際は計画的に!

Oh-Shima
質問者

お礼

解決致しました。 具体的にはどうしたかというと、 テーブル作成後に、「ALTER TABLE テスト ADD フラグ2 YESNO NOT NULL;」のSQLを発行して、値要求「はい」の項目を追加致しました。 ありがとうございました。

Oh-Shima
質問者

補足

ありがとうございます。 調査してみた結果、 Alter Table..Alter Column構文がサポートされたのは Access2000以降の為、 Access97ではサポートされていないようです。

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

ANo1です。 「strSQL =」 はいりませんね。  すみません。

関連するQ&A