アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLで”Create Table”を用いてAccessのテーブルを作成しようとしたのですが
テキスト型のフィールドのデフォルトがNotNullになってしまっているようで
「NULL許可」にできません。

どうやったらSQL文内でNULL許可が指定できるのでしょうか?

A 回答 (4件)

> Fieldオブジェクト云々は


> SQL文で操作できるものなのでしょうか?
SQLでは操作できません。VBAで、

Dim curDB As Database
Dim tDef As TableDef
Dim fDef As Field

Set curDB = CurrentDb()
Set tDef = curDB.TableDefs("テーブル名")
Set fDef = tDef.Fields("項目名")
fDef.AllowZeroLength = True

みたいにすればできます。
    • good
    • 0

Nullと空文字列は別物ですが、「空文字列の許可」を「はい」にするには


FieldオブジェクトのAllowZeroLengthプロパティをTrueにする必要が有るようです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうか、空文字列の許可はNULL許可とは違うのですね。
根本的なところを間違っていたようです。

Fieldオブジェクト云々は
SQL文で操作できるものなのでしょうか?

初心者ですみません。

お礼日時:2003/03/07 17:14

データ1   char (009) null, と記述してもダメなのですか。


DROP TABLE ・・・でテーブル定義など削除してからCreate Tableで作成しに
行ってもダメなのでしょうか?

この回答への補足

> DROP TABLE ・・・でテーブル定義など削除してから
> Create Tableで作成しに行ってもダメなのでしょうか?

Drop Table→Create Table
の処理はしているのですが、ダメなんです。
テーブルが新規作成するとテキスト型は全て
空文字列の許可:「いいえ」
になってしまいます。

Accessの設定などがあるのでしょうか?

補足日時:2003/03/07 13:14
    • good
    • 0

SQLはこんな感じなのですか?


  create table ocyan.テストm (
   キー     char (008) primary key,
   データ1   char (009) not null,
   データ2   number (009, 0),
  );

この回答への補足

そうです。
NOT NULL指定はできるのですが
NULL許可指定ができないのです。

”データ1 char (009) null”
と書いても
”データ1 char (009)”
と書いてもNOT NULLになってしまいます。
何故でしょう?

補足日時:2003/03/07 11:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!