- 締切済み
Access2003_ALTER TABLE構文
Accessのテーブルにフィールドを追加したくSQLで命令文を書いています。 1.[T_テーブル1]というテーブルに[フィールドA]というフィールドを データ型:数値型 フィールドサイズ:単精度浮動小数点型 小数点以下表示桁数:2位まで表示 で追加したいです。 →ALTER TABLE T_テーブル1 ADD COLUMN フィールドA FLOAT4 これに少数点以下桁数を設定するにはどう書けばよろしいでしょうか? 2.[T_テーブル1]というテーブルに[フィールドB]というフィールドを データ型:数値型 フィールドサイズ:長整数型 で追加しました。 →ALTER TABLE T_テーブル1 ADD COLUMN フィールドA INT 「説明」の箇所に説明書きも入れたいのですがここでの設定は可能でしょうか? 以上2点につきましてご指導頂きたくよろしくお願い致します。
- picopico_7
- お礼率75% (121/160)
- その他(データベース)
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
失礼しました。VBEの参照設定で、Microsoft DAO 3.6 Object Library にチェックを入れてお試しください。 イミディエイトウィンドウにて ?application.CurrentDb.TableDefs("テーブル名").Fields("フィールド名").Properties("description").Value ↑として、EnterKey で『説明』が返ってきませんか(あればの話ですが (^^ゞ) application.CurrentDb.TableDefs("テーブル名").Fields("フィールド名").Properties("decimalplaces").Value =4 同様に入力後、EnterKeyで桁数が4桁になるとハズ? 標準モジュールにて Sub test() '要参照設定 Microsoft DAO 3.6 Object Library Dim db As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field Dim prp As DAO.Property On Error Resume Next Set db = Application.CurrentDb Set tdf = db.TableDefs("そのテーブル名") For Each fld In tdf.Fields Debug.Print fld.Name For Each prp In fld.Properties Debug.Print , prp.Name, prp.Value Next Next Set tdf = Nothing Set db = Nothing End Sub 当方Access2002
- nicotinism
- ベストアンサー率70% (1019/1452)
たぶん、Accessが独自に追加した部分なので、SQLでは出来ないのでは? ?application.CurrentDb.TableDefs("テーブル名").Fields("フィールド名").Properties("description").Value application.CurrentDb.TableDefs("テーブル名").Fields("フィールド名").Properties("decimalplaces").Value =4 で参照と変更は出来ましたけど・・・。
補足
回答ありがとうございますm(_ _)m お手数なのですがこのコード以外に書かなければいけないコードがあるようでしたら 教えて頂けないでしょうか? こちらのコードだけだとエラーが出てしまうもので。 申し訳ないです。
関連するQ&A
- ALTER TABLE mytable CHANGE
mytableというテーブルのaカラムの型と名前を変更するのは ALTER TABLE mytable CHANGE a new_a INT; でできましたが、今度はnew_aをbにすると動時にTINYINT(4)にしたいのですが、SQLの文法が違うようだったので正しいものを教えてください。 ALTER TABLE mytable CHANGE new_a b TINYINT(4); でなく、何なのですか?
- ベストアンサー
- MySQL
- alter table でチェックボックスの追加
accessにて・・・ alter table でカラム追加したいのですが・・・ 追加したい属性がチェックボックスなんです・・・・ いろいろやってるのですが、うまくいきません・・・ チェックボックスは追加できないのでしょうか?
- ベストアンサー
- その他(データベース)
- mysql alter table 終わらない
ALTER TABLEの処理が全然終わらなくなってしまったので、質問させて下さい。 下記のような状態です。 ・テーブルの行数は962362 ・topコマンドで見たとき、普段mysqldのCPU使用率が50~100%なのですが、ALTER TABLE後に確認すると2%前後になる ・試した処理はdrop indexとadd column ・mysqlを再起動しようにもstopするのに数分かかる ・nginxを一度stopし、負荷の少ない状態でも同じことを試しましたが結果はかわりませんでした ・検索してみると、key_buffer_sizeが少なすぎることが原因という記事をみかけたので、試しにkey_buffer=512Mとして、設定を読み込み直してから試してみましたが結果はかわりませんでした このような場合の原因と対策を教えて頂ければ幸いです。 足りていない情報は随時補足させていただきます。 是非回答宜しくお願い致します。
- 締切済み
- MySQL
- 重複を許すキーの構文がわかりません。
データベース自体はPostgreSQLを使っています。そして、アクセス2003を使って、テーブルリンクで閲覧しています。 あるフィールドに検索が早くなるようにキーを設けたいのですが、 重複を許すキーの構文がわかりません。 PRIMARY KEY, UNIQUEの設定はわかるのですが、 どのように記述すればよいのでしょうか? 以下、アクセスのプロパティです。 インデックス ●いいえ デフォルト、無指定 ●はい(重複あり)[***** ここの部分のSQLが知りたい *****] ALTER TABLE テーブル名 ADD ???????? (フィールド); ●はい(重複なし)UNIQUE もしくは値要求混みのPRIMARY KEY ALTER TABLE テーブル名 ADD UNIQUE (フィールド); ALTER TABLE テーブル名 ADD PRIMARY KEY (フィールド);
- ベストアンサー
- PostgreSQL
- ALTER TABLEで複数のカラムを消す
ALTER TABLEでなくてもいいんですが ALTER TABLE KOJINTABLE DROP COLUMN(T_VAL, MEMO); これができませんでした。 T_VALとMEMOを同時に消す書式はありませんか?
- 締切済み
- PostgreSQL
- ACCESS 1クエリでの複数ALTER文
ACCESS2007で複数テーブルのカラム属性を一括して変更したいのですが、1クエリで複数のALTER文は実行できないのでしょうか? 構文エラーで停止してしまいます。 ALTER TABLE TBL_ID1 ALTER COLUMN SEQ INTEGER; ALTER TABLE TBL_ID2 ALTER COLUMN SEQ INTEGER; どなたか御教え願えないでしょうか。
- ベストアンサー
- その他(データベース)
- Accessフォームのテキストボックス表示方法
Access2002です。フォームにテキストボックスを作りそこに温度を表示したいのです。 テーブルのデーター型は数値型、 フイールドサイズは単精度浮動小数点型 書式は数値 数値は小数点以下表示桁数1にしてあります。 テキストボックスのプロパテイの書式に##.#Cと書くと何故か最初の#が消えて#.#Cになってしまい例えば0.9Cが最初の0が抜けて.9Cと表示されてしまいます。 書式を数値、固定、標準にすると今度はCが書けません。尚小数点以下表示桁数は1にしてあります。 要は例えば0.9を0.9Cと表示したいのです。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- テーブルのフィールドにNot null制約を付けたい
お世話になります。 既存テーブルにフィールドを追加する方法は わかっているのですが、その追加したフィールドに not null制約を付けるにはどのようなコマンドを 実行する必要があるのでしょうか。 ↓のコマンドには制約をつけるオプションはないですよね。。 ALTER TABLE テーブル名 ADD (カラム名 カラム定義) よろしくお願いします。
- ベストアンサー
- その他(データベース)
- カラムの存在チェック
あるテーブルに、あるカラム(列)が存在するかどうかを調べる方法はあるのでしょうか? ・あるテーブル(TABLE_A)に、あるカラム(COLUMN_A)が存在しない場合はALTER TABLE ~ ADD でカラム(COLUMN_A)を追加する ・COLUMN_Aがある場合は何もしない というSQL文を作成したいのですが… 宜しくお願いします。
- 締切済み
- SQL Server
- アクセスのデータ型。数値型についてお聞きしたいのですが・・・
アクセスのデータ型。「数値型」ですが、「フィールドサイズ」に (1)バイト型(0~255の範囲。小数点以下の数値は扱えない) (2)整数型(-32,768~32,767の範囲。小数点以下は扱えない) (3)長整数型(-2,147,483,648~2,147,483,647の範囲。小数点以下は扱えない) (4)単精度浮動小数点型(-3.402823×10^38~3.402823×10^38の範囲。 小数点以下の数値が扱える) (5)倍精度浮動小数点型(-1.79769313486231×10^308~-1.79769313486231× 10^308の範囲。少数点以下の数値が扱える) (6)十進型(-10^28-1~10^28-1の範囲。小数点以下の数値が扱える) と6種類決められますが、それぞれの「選び方の違い」と「その理由」を 教えてください。 たとえば、(1)~(3)くらいなら分かります。 扱える数値の桁数が違うということですよね?で、(1)~(3)を選ぶ時と(4)~(6)を 選ぶときで大きな違いというと、「小数点以下の数値が扱えるかどうか」 ですよね?そういう認識であっているか・・・ということと、上記の(1)~(6)を 「選び分ける必要がある場合」というのを教えてください。 なぜ、このような6種類に分かれているのか、人に説明しないとなりません。 よろしくお願い致します。m(_ _)m
- ベストアンサー
- オフィス系ソフト
お礼
2度に渡りご丁寧な回答を頂け感謝致します。 ありがとうございました。
補足
何度も申し訳ありませんでした。 ご丁寧に書いてください大変ありがたいのですが、私はあまり詳しくないもので まだちょっとよく分からなくて・・・。 DAO 3.6 Object Library にチェックを入れた後 書いていただいたコードをひとまずコピペして使わせてもらってみました。 (Dim db As DAO.Database ~ Set db = Nothing) Set tdf = db.TableDefs("そのテーブル名")の箇所には該当のテーブル名を入力 しましたが他の箇所もきっと変更しなけれないけない箇所があるんですよね? このままで実行してみたらとりあえずどうなるのかとやってみたところ 何も変化は見られませんでした。 もしお時間ありましたら細かく教えて頂きたいのですが・・・。