アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access97を使用しています。
クロス集計クエリを基にテーブルを新規作成します。
その後、フォームのコマンドボタンのイベントプロシージャでコードを記述してフィールドを追加していきたいのですが、どう書けばいいのでしょうか。
このテーブルは作業用で、頻繁に作って作業後は削除しますが、作成するたびにフィールドの数が異なります。(フィールド名も一部変わります。)それを常に同じフィールド数にしたいのです。追加したフィールドの表題は”-”(空白っぽく表現する)にしたい。

たとえば

商品名|場所A|場所B|合計|仕入先
みかん| 10 | 20 | 30|a店
りんご| 30 | 40 | 70|b店

を、下記のようにしたいと思います。

商品名|場所A|場所B|-|-|合計|仕入先
みかん| 10 | 20 | | | 30|a店
りんご| 30 | 40 | | | 70|b店

また、下記のようなケースもあります。

商品名|場所D|-|-|-|合計|仕入先
みかん| 10 | | | | 10|a店
りんご| 30 | | | | 30|b店

商品名|場所B|場所C|場所D|-|合計|仕入先
みかん| 10 | 20 | 20 | | 50|a店
りんご| 30 | 40 | 10 | | 80|b店

わかりにくい説明ですみません(>_<)
よろしくお願いします。

A 回答 (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



以上を利用して、足りない分のフィールドを作成すればよいのではないでしょうか?

もし意図していることと違ったらごめんなさい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/04/28 02:33

具体的なコードがわからないので申し訳ないのですが、多分、TableDefの、Fieldsコレクションなどを使ってフィールドを追加するようなかたちになるのだと思います。



「TableDef」 や 「VBA テーブル作成」というような語句でインターネットを検索すると何か出てくるかもしれません。ちなみにこんなのが出てきました。
http://www.accessclub.net/samplefile/samplefile_ …

市販のVBAの教則本(中級以上)などにも載っていますので、調べてみて下さい。

参考URL:http://www.accessclub.net/samplefile/samplefile_ …

この回答への補足

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

補足日時:2003/04/25 03:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています