|
こんにちは、YU-TANG です。
> というわけで、保存形式がAC2000になっていました
それはおそらく [ツール]-[オプション]-[詳細]-[既定のファイル形式] を
「Access 2000」 に設定して(あるいは設定されたまま)使っていたから
でしょう。
> 上記が原因かわかりませんが
関係ありません。原因ではないです。
> charだと
> フォーム名等の後ろに半角スペース等付いて50文字となってしまい
> うまく動作しませんでした
それが固定長ですから。そういうものです。
> char → text
> としてうまく動作することが出来ました
>
> Create Table 初めて勉強したような気がしますか
> こんな理解でいいですか
可変長にしたかったのでしたら、それでよろしいかと思います。
理解度を確認したいなら、Access 付属の JET SQL のヘルプを参照すると
よいです。インストール漏れていたら追加しておきましょう。
> また、イメージ的にはコード的なものに主キーを付けるような気がしていたのですが
> こういう、名称列とうか文字列フィールドで主キーを張ることは
> 一般的なことなのでしょうか
> なんか使いやすいような気がしますが少ない知識ではあまり見たことがないような気がします
>
> 普通だよとか コメント頂けると助かります
ふつうです。
主キーはユニークであることを保証できれば、別にコード類である
必要はないです。
ただ他のテーブルの外部キーになることを想定する場合は、ユニークな
複合キーが合っても、それとは別に単一フィールドのコードを設ける
場合もあります。
要はケースバイケースであって、DB 全体の設計の中で他テーブルとの
連携を抜きにして一律 主キー=コードとかその逆とか言うのはナンセンス
と言うことです。
余談ですが、ADO を使うとテーブル作成時に複合主キーを一発で張れます。
Dim s As String
s = "create table T1 ("
s = s & "FormName TEXT NOT NULL,"
s = s & "ControlName TEXT NOT NULL,"
s = s & "ColumnOrder SMALLINT NOT NULL,"
s = s & "ColumnWidth SMALLINT NOT NULL,"
s = s & "ColumnHidden BIT NOT NULL,"
s = s & "CONSTRAINT PrimaryKey PRIMARY KEY (FormName, ControlName)" ' ここで主キーを設定
s = s & ")"
CurrentProject.Connection.Execute s
それでは。
|
|