- ベストアンサー
AccessのテーブルにVBAでフィールドを追加する方法
- Access97を使用してクロス集計クエリを基にテーブルを新規作成し、VBAを使用してフィールドを追加する方法を教えてください。
- テーブルは作業用で頻繁に作成し、フィールドの数が異なるため、常に同じフィールド数にしたいです。また、追加したフィールドの表題は空白で表示したいです。
- 例えば、商品名と場所のフィールドがあり、場所の数が異なる場合、空白で表示したいフィールドを追加する方法を教えてください。
- みんなの回答 (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 以上を利用して、足りない分のフィールドを作成すればよいのではないでしょうか? もし意図していることと違ったらごめんなさい。
その他の回答 (1)
- gadd3
- ベストアンサー率46% (211/451)
具体的なコードがわからないので申し訳ないのですが、多分、TableDefの、Fieldsコレクションなどを使ってフィールドを追加するようなかたちになるのだと思います。 「TableDef」 や 「VBA テーブル作成」というような語句でインターネットを検索すると何か出てくるかもしれません。ちなみにこんなのが出てきました。 http://www.accessclub.net/samplefile/samplefile_163.htm 市販のVBAの教則本(中級以上)などにも載っていますので、調べてみて下さい。
補足
参考URLを見て、「既に同名のテーブルがある場合は、テーブルを削除」の方法がわかって喜んでいます。ありがとうございます。 質問の内容を言い換えますと、新規作成したテーブルのフィールド数を取得して、それに足りない数のフィールドを追加することができますか? 最終的にはすでに保存されているExcelワークシートの決められたセルに書き出ししたいのです。
お礼
返事が遅くなってすみません。ようやく、フィールド数を数え、不足分を追加することができました。本当にありがとうございました!