• ベストアンサー

ACCESSのFieldの追加方法

VB初心者です。ACCESSのMDBに下記の構文でFieldの追加はできたのですが 少数点以下2桁に設定する方法がわからなく困っています。 Fieldプロパティにも無く、どなたか教えて下さい。 Set field01 = tdfEmployees01.CreateField("Tanka", dbCurrency) tdfEmployees01.Fields.Append field01

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

  • ベストアンサー
  • yoisho
  • ベストアンサー率64% (331/516)
回答No.2

テキストボックスなどのコントロールに対してなら、Decimalplaces = 2 のようにプロパティを設定すればよいのですが、 DA0 で、テーブルの Field オブジェクトに設定する場合には、Properties コレクションに明示的に DisplayControl プロパティを追加してやらないと、VBAから参照できません。 (Access のHELPには、Field オブジェクトのプロパティとして載っていません。) 具体的には、 Dim dbs As Database Dim tdfEmployees01 As DAO.TableDef, field01 As DAO.Field, prp As DAO.Property Set dbs = CurrentDb Set tdfEmployees01 = dbs.CreateTableDef("テーブル名") Set field01 = tdfEmployees01.CreateField("Tanka", dbCurrency) tdfEmployees01.Fields.Append field01 dbs.TableDefs.Append tdfEmployees01 Set prp = field01.CreateProperty("DecimalPlaces", dbByte, 2) Call field01.Properties.Append(prp) のようになります。 (CreateProperty は、テーブルの Append の後で実行してください。)

Likodon
質問者

お礼

早速の回答ありがとうございます。 教えて頂いた通りにコーディングすると小数点2桁が設定できました。 感謝!感謝!です。 私のレベルでは解決まで1週間かかるのではと覚悟していましたが おかげさまで非常に助かりました。 ありがとうございました。

その他の回答 (2)

  • yoisho
  • ベストアンサー率64% (331/516)
回答No.3

すみません、訂正です。 2行目 (誤)明示的に DisplayControl プロパティを・・・・・・ (正)明示的に DecimalPlaces プロパティを・・・・・・ 以前に回答した類似のご質問の一部をそのままコピペしてしまいました。 恥ずかしいので、自信なしで・・・・・・(^_^;)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

Decimalplaces = 2 で小数点以下2桁を設定できます。

関連するQ&A