MS Access – SQLでフィールドを追加して、フィールドの書式設定をしたい。

  • このエントリーをはてなブックマークに追加

やりたいこと

業務中にMS Access でフィールドを追加して、書式設定をしなければならない場面に出くわした。今後何度も同じ設定するし、めんどくさいのでSQLで済ましたい。



書式設定をしたいのは、Yes/No型と通貨型。

Yes/No型の書式

通貨型の書式

ググった結果

SQLだけじゃできない。VBA使う。

まずは、普通にSQLでフィールド追加。クエリデザインのSQLで以下のSQLを実行。

alter table 全件 add column 特約フラグ yesno 0;
alter table 全件 add column 特約名 varchar(50);
alter table 全件 add column 特約保険料 money;

次にVBAを実行。VBAに標準モジュールを追加して、適当に作ったパブリック関数の中で以下を実行。(勝手に改行入ってCSS効かねぇ…)

 Call CurrentDb.TableDefs("全件").Fields("特約フラグ").Properties.Append(CurrentDb.TableDefs("全件").Fields("特約フラグ").CreateProperty("DisplayControl", dbInteger, acCheckBox))
Call CurrentDb.TableDefs("全件").Fields("特約フラグ").Properties.Append(CurrentDb.TableDefs("全件").Fields("特約フラグ").CreateProperty("Format", dbText, "true/false"))
Call CurrentDb.TableDefs("全件").Fields("特約保険料").Properties.Append(CurrentDb.TableDefs("全件").Fields("特約フラグ").CreateProperty("Format", dbText, "\\#,##0"))



  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。