• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessのテーブルにVBAでフィールドを追加したい)

AccessのテーブルにVBAでフィールドを追加する方法

このQ&Aのポイント
  • Access97を使用してクロス集計クエリを基にテーブルを新規作成し、VBAを使用してフィールドを追加する方法を教えてください。
  • テーブルは作業用で頻繁に作成し、フィールドの数が異なるため、常に同じフィールド数にしたいです。また、追加したフィールドの表題は空白で表示したいです。
  • 例えば、商品名と場所のフィールドがあり、場所の数が異なる場合、空白で表示したいフィールドを追加する方法を教えてください。

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

  • ベストアンサー
  • gadd3
  • ベストアンサー率46% (211/451)
回答No.2

あるテーブルのフィールド数を数えるには、Fields.Countを使います。 例えば、DAOでやるなら次のようにすると、メッセージボックスに「テーブル名」で指定したテーブルのフィールド数が表示されます。 Dim db2 As DAO.Database Dim rs2 As DAO.Recordset Set db2 = CurrentDb Set rs2 = db2.OpenRecordset("テーブル名") MsgBox rs2.Fields.Count Set rs2 = Nothing Set db2 = Nothing 以上を利用して、足りない分のフィールドを作成すればよいのではないでしょうか? もし意図していることと違ったらごめんなさい。

minami373
質問者

お礼

返事が遅くなってすみません。ようやく、フィールド数を数え、不足分を追加することができました。本当にありがとうございました!

その他の回答 (1)

  • gadd3
  • ベストアンサー率46% (211/451)
回答No.1

具体的なコードがわからないので申し訳ないのですが、多分、TableDefの、Fieldsコレクションなどを使ってフィールドを追加するようなかたちになるのだと思います。 「TableDef」 や 「VBA テーブル作成」というような語句でインターネットを検索すると何か出てくるかもしれません。ちなみにこんなのが出てきました。 http://www.accessclub.net/samplefile/samplefile_163.htm 市販のVBAの教則本(中級以上)などにも載っていますので、調べてみて下さい。

参考URL:
http://www.accessclub.net/samplefile/samplefile_163.htm
minami373
質問者

補足

参考URLを見て、「既に同名のテーブルがある場合は、テーブルを削除」の方法がわかって喜んでいます。ありがとうございます。 質問の内容を言い換えますと、新規作成したテーブルのフィールド数を取得して、それに足りない数のフィールドを追加することができますか? 最終的にはすでに保存されているExcelワークシートの決められたセルに書き出ししたいのです。

関連するQ&A