かなり困っています...
ACCESSからEXCELにデータをエクスポートしたいのですが、ACCESS側の
テーブルの中身すべてをEXCELに吐き出すのではなくて、1レコードづつ
エクスポートしたいのです。
やりたいことは...
ACCESS側のテーブルをEXCELにエクスポートする際、あらかじめ、テーブルの
一つのフィールド(部門コード)を昇順に並べておいて、エクスポートしていきながら、部門コードが変わったら、それまでの部門の金額の合計を出し、その合計もエクスポートして、次の部門に進み、最終的に金額の総合計をだそうと考えています。
この部分をVBAで組もうと考えているのですが...
エクセルのレイアウトを簡単に書くと
部門 100
名称 金額
aaa 1000
bbb 500
合計 1500
部門 200
名称 金額
ccc 700
ddd 400
合計 1100
こんな感じです
ちなみにOS WIN98 ACCESS2000,EXCEL2000です
皆様、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
これはOLEの機能を使う必要があります。
下記のサンプルは97用のものですが、恐らく2000でも大丈夫だと思います。また全部載せようとするとかなり長文になるのである程度省略しますね。Dim XL As Object 'OLE時のExcelアプリ自体
Dim WB As Object 'OLE時のExcelのワークブック
Dim WS As Object 'OLE時のExcelのワークシート
Dim WC As Object 'OLE時のExcelのセル
Dim WR As Object 'OLE時のExcelのセル範囲
Dim lngCol As Long '列
Dim lngRow As Long '行
Dim rsBumon As Recordset
Dim BCD As Long '部門コード比較用
Set XL = CreateObject("Excel.Application")
XL.Application.Visible = True
XL.Application.SheetsInNewWorkbook = 1
XL.Workbooks.Add
XL.ActiveWorkbook.SaveAs FileName:="c:\○○.XLS"
XL.Application.ReferenceStyle = -4150
Set WB = XL.ActiveWorkbook
Set WS = WB.ActiveSheet
Set rsBumon=CurrentDB.OpenRecordset("SQL文又はクエリー名",dbOpenSnapShot)
Do Until rsBumon.EOF
If BCD<>rsBumon("部門") Then
If BCD<>0 Then
'合計の式
#Sum関数内の範囲はどこかでスタート・エンドを覚えておいて、式の文字列を作成して下さい。*行は1行書き込む毎にカウントアップして下さい。#
WS.Cells(*行,*カラム)="Sum(R1C:R3C)"
End If
BCD=rsBumon("部門")
WS.Celss(*行,1)=rsBumon("部門")
End If
WS.Cells(*行,1)=rsBumon("名称")
WS.Cells(*行,2)rsBumon("金額")
rsBumon.MoveNext
Loop
rsBumon.Close
'総合計の書き込み
#自分の場合、総合計用の式は、部門毎の小計を出力した行を配列などで保存しておいて、その配列から下記の式を生成しています。#
WS.Cells(*行,*カラム)="=R5C+R8C+R15C"
'保存して終了
XL.Application.ActiveWorkbook.Save
XL.Application.Quit
Set WS = Nothing
Set WB = Nothing
Set XL = Nothing
もっと単純にするのでしたら、同じようなイメージのレポートを作成して(部門でグループ化して)そのレポートを「Excel形式で出力」すれば、同じようなイメージになると思うのですが。
No.1
- 回答日時:
VBAで出来ると思いますが、全部クエリで処理を行ってデータのエクスポート機能で書き出したほうが楽じゃないですか。
もしくは、ピボットテーブル使うのが一番簡単ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半値八掛けとは???
-
売変で廃棄処分?????
-
日々の売上昨対(前年対比)は...
-
日々の売上管理における累計前...
-
誰か、教えてください。社内間...
-
生産部門と非生産部門をヨコモ...
-
小売店における粗利益と工賃の関係
-
売上に「部門」がある場合の「...
-
日割り計算について
-
「値引入力」って何に使うので...
-
難しい粗利益率の問題
-
レジスターに詳しい方
-
管理会計の内部振替について
-
売価を上げる計算方法を教えて...
-
売価還元原価法と、売価還元低...
-
社内の部門間 商品移動時に 利...
-
発注書金額の誤りについて
-
町内の班長になりました。回覧...
-
町内の班長になったことがある方
-
自治会の班の再編成・合併
おすすめ情報