
お世話になります。
VBAにてテーブルを作成した際の、書式設定についてご教授願います。
以下のようにテーブルを作成しております。
Set cdb = CurrentDb()
Set ctb = cdb.CreateTableDef("TBL")
ctb.Fields.Append ctb.CreateField("A番号", dbInteger)
cdb.TableDefs.Append ctb
Set ctb = Nothing
cdb.Close
Set cdb = Nothing
この『A番号』フィールドは数値型で、書式を3桁にしたいと思っております。
テーブルのデザインでは書式のところに『000』と入れれば、001、002・・・となりますが、上記のようにVBAでテーブル作成したとき、どのようにすればよいか分かりません。
以上、宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
リンク先をもう一度確認してください
>Set prp = fld.CreateProperty("Format", dbInteger, "000")
Set prp = fld.CreateProperty("Format", dbtext, "000")
ですよ。
追加して
fld.Properties.Append prp
の後に
Application.RefreshDatabaseWindow
を足してください
(無くても問題は有りませんがデータベースウィンドウが即更新します)
ご回答ありがとうございます。
早速、dbtextに変更したところ3桁になりました。
勉強不足ですみません。この箇所はてっきり当該フィールドのデータ型を指定する所かと思い、dbintegerとした次第です。
ありがとうございました。
大変助かりました。
No.3
- 回答日時:
こちらで解決するでしょう。
http://www.ruriplus.com/msaccess/Exp/exp0140.htm
ただ、DAO と ADO の両方に参照設定がしてあると
期待しない方のライブラリを見に行ってしまうかもしれないので
Dim db As Database → なにもしない
Dim tdef As TableDef → DAO.Tabledef
Dim fld As Field → DAO.Field
Dim prp As Property → DAO.Property
にしてください。
んで、"@@@@"の部分を、"000" で、
また、『書式』が『Format』なのは分かったけど他のは?は、
設定していないものは参照できませんので一旦手作業で設定します
その後
Sub てすと()
Dim db As 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 "fieldName= " & fld.Name
For Each prp In fld.Properties
Debug.Print , "name=" & prp.Name _
, "type= " & prp.Type _
, "value= " & prp.Value
Next
Next
End Sub
なんてので調べてました。
ご回答ありがとうございます。
教えて頂いたサイトを参考にし、以下のようにしました。
しかし、テーブル自体は作成されますが、やはり書式が設定できません。
Dim db As Database
Dim tdef As DAO.TableDef
Dim fld As DAO.Field
Dim prp As DAO.Property
Set db = CurrentDb
Set tdef = db.CreateTableDef("TBL")
Set fld = tdef.CreateField("A番号", dbInteger)
tdef.Fields.Append fld
tdef.Fields.Refresh
db.TableDefs.Append tdef
db.TableDefs.Refresh
Set fld = tdef.Fields("A番号")
Set prp = fld.CreateProperty("Format", dbInteger, "000")
fld.Properties.Append prp
どこか間違っておりますでしょうか。
No.2
- 回答日時:
ご回答ありがとうございます。
教えて頂いたサイトを参考にし、以下のようにしました。
しかし、テーブル自体は作成されますが、やはり書式が設定できません。
Dim oDb As DAO.Database
Dim oTd As DAO.TableDef
Dim oPrp As DAO.Property
Dim flTNK As DAO.Field
Set oDb = CurrentDb
Set oTd = oDb.CreateTableDef("TBL")
Set flTNK = oTd.CreateField("A番号", dbInteger)
oTd.Fields.Append flTNK
oDb.TableDefs.Append oTd
Set oPrp = flTNK.CreateProperty("Format", dbInteger, "000")
flTNK.Properties.Append oPrp
どこか間違っておりますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スケッチスタイルの有効化
-
差し込み印刷で反映されないフ...
-
Excelの集計がSUM関数で、1円...
-
エクセルで和暦表示の桁合わせ...
-
箇条書きの記号の色が勝手に変わる
-
【エクセル】コメントの初期(...
-
ワードで棒線が直接文章に入る...
-
Open office Writerで余白の調整
-
【EXCEL2003】セルの書式設定で...
-
改行すると一段、間が開いてし...
-
WORD 書式の設定ではない黄色の...
-
ワード2007 で表にカンマを入...
-
ワード文書、箇条書きで1.2...
-
目次番号が横書き、縦書きにしたい
-
C言語のprintf()関数の「f」の意味
-
メールソフト Thunderbirdでの...
-
OpenOfficeの用紙のサイズ変更で
-
一太郎13 スタイル・袋とじ・...
-
「テーブルとして書式設定」で...
-
IllustratorCC 文字パネル場所移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードで棒線が直接文章に入る...
-
スケッチスタイルの有効化
-
差し込み印刷で反映されないフ...
-
Excelの集計がSUM関数で、1円...
-
【エクセル】コメントの初期(...
-
箇条書きの記号の色が勝手に変わる
-
エクセルで和暦表示の桁合わせ...
-
【EXCEL2003】セルの書式設定で...
-
Access→Excelへエクスポートす...
-
「テーブルとして書式設定」で...
-
OpenOfficeの用紙のサイズ変更で
-
スタイル同じなのに表示が異なる
-
箇条書きや段落番号の行頭文字...
-
WORD 書式の設定ではない黄色の...
-
C言語のprintf()関数の「f」の意味
-
課題で、Wordを使って提出する...
-
Open office Writerで余白の調整
-
【エクセル】バブルチャート上...
-
エクセル 電話番号に市外局番...
-
WORDで囲み線の検索
おすすめ情報