• ベストアンサー

ACCESSのエクスポート

よろしくお願いします。 下記のようにデータがあります。 伝票番号1 A 伝票番号2 B 伝票番号3 C 伝票番号4 D このデータをエクスポート(CSV形式)で下記のようにエクスポートします。 伝票番号1 A 伝票番号2 B 伝票番号3 C 伝票番号4 D どのようにしたらいいでしょうか?     

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.4

テーブル名を「テーブル名」 主キーのフィールド名が「ID」で数値型と仮定します。 下記のクエリで希望の結果になると思いますので、 このクエリをエクスポートして下さい。 -------------------------------------------------- SELECT X.*, Y.* FROM テーブル名 AS X LEFT JOIN テーブル名 AS Y ON Y.ID = DMin("ID","テーブル名","ID > " & X.ID) WHERE (DCount("*","テーブル名","ID < " & X.ID) Mod 2)=0; -------------------------------------------------- ・IDに抜け番号があっても問題ないです。 ・このクエリはデザインビューでは表示できません。 ・重いクエリなので表示に時間が掛かるかもしれません。 ================================================== 主キーのフィールドが文字列型の場合は上記は使えません。 複雑なクエリになりますが、クエリで可能だと思います。 文字列の場合の回答が必要であれば、補足欄にコメント下さい。 ================================================== 補足:SQL文からクエリを作る方法 ・新規のクエリを作成、デザインビュー ・テーブルは追加しない ・[表示]→[SQLビュー] ・SQL文をコピー&ペースト ・適当な名前をつけて保存

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

レコードの処理ができるプログラムを質問者が知ってないとできないでしょう。ADOとか。 ーー エクセルにエクスポートして、1列データを別シート(の方が良かろうが)で2個1行に関数で構成しなおすと言うのはできると思う。 さらにエクセルでCSVファイルで保存する。 ーー こういうのはエクスポートとは言わず。CSVファイルで保存するという。 ーー CSVファイルで保存し、それを読んで2レコード分をつなぎ、CSVで 書き出すプログラムも今から勉強するならこちらが簡単と思う。 伝票番号1,A 伝票番号2,B 伝票番号3,C 伝票番号4,D 伝票番号5,E 伝票番号6,F 伝票番号7,G 伝票番号8,H 伝票番号9,I ーー コード エクセルVBAで標準モジュールで Sub test01() r = 0 Open "C:\Documents and Settings\XXXX\My Documents\aaa3.csv" For Input As #1 'CSVファイルをシーケンシャル入力モードで開く Open "C:\Documents and Settings\XXX\My Documents\aaa4.csv" For Output As #2 Do Until EOF(1) 'EOFでない間は Line Input #1, s1 r = r + 1 ' MsgBox s1 Line Input #1, s2 r = r + 1 ' MsgBox s2 Print #2, s1; ","; s2 Loop If r Mod 2 = 1 Then Print #2, s1 End If Close #1 Close #2 End Sub 結果 伝票番号1,A,伝票番号2,B 伝票番号3,C,伝票番号4,D 伝票番号5,E,伝票番号6,F 伝票番号7,G,伝票番号8,H 伝票番号9,I

noname#140971
noname#140971
回答No.2

補足:回答は欠番には対応していませんよ!

noname#140971
noname#140971
回答No.1

<tab1> ID__fld1 1___A 2___B 3___C 4___D <クエリ1> D__fld1 1___A 3___C SELECT ID, fld1 FROM tab1 WHERE (ID MOD 2)=1; ここまでは簡単かと思います。 それから先を SQL文で実現するのは難しい。 だから、質問に至ったのだと思います。 <クエリ2> ID__fld1__ID_II__fld1_II 1___A_____2______B 3___C_____4______D との出力も不可能ではないでしょう。 SELECT ID, fld1, DLookup("ID", "tab1", "ID=" & ID+1) AS ID_II, DLookup("fld1", "tab1", "ID=" & ID+1) AS fld1_II FROM tab1 WHERE (ID MOD 2)=1; 一番、簡単なのはこのように DLookup関数などを作成して強制的に横に並べることです。 しかし、DLookup関数は実行速度が遅いし・・・。 それに、出力用の一時テーブルに単一Select文で出力する手もあります。 そうすりゃ、難解な SQL文に挑まなくてもOKかと。 シンプルが一番かと思います。

関連するQ&A

  • Accessのcsvエクスポートに関して

    Accessでのcsvエクスポートに関して、ご教授頂けましたら幸いです。 テーブルを基にした帳票形式のフォームがあります。チェックボックスにフラグが付い たデータのみcsvでエクスポートし、かつ、保存するファイル名をフィールドに値を使用 したいのですが、このような処理は可能でしょうか。 フォーム表示例: 商品コード 数量 チェックボックス A     10  チェックあり B     10  チェックなし この時、チェックありの商品コードAの情報のみをcsvでエクスポートし、かつ、ファイル名を「A.csv」としたい。あわせて、商品Bが対象となった場合は「B.csv」としたい。 お手数ですが、宜しくお願い致します。

  • accessからExcelへのエクスポート

    今、access初心者の私ですが、仕事上必要なので、クエリをエクセルにエクスポートしています。 しかし、実際に必要なデータは下記の例のように、クエリの演算したフィールドも含めて一部であって、クエリで表示させたフィールド全部がいるわけではないのです。 例)  <クエリ>               <エクセル> A B C D E F   ―エクスポート→  A C E F 演算フィールドの関係でどうしても表示させておかないと演算結果がエラーになってしまうので、クエリの表の状態では「A~F」はどうしてもいるのです。 これを、今はエクセルにエクスポートしてから「B」と「D」のフィールドを削除しているのですが、フィールドを選んでエクスポートってできないでしょうか? どなたかいい方法があれば教えて下さい。お願いします。

  • 【Access2003 VBA】クエリをエクスポートしたい

    選択クエリを.csvもしくは.txt形式でエクスポートしたいです。 今は、下記のコマンドで行っていますが、ヘッダー(タイトル行)が付加されません。 DoCmd.TransferText acExportDelim, , "qry_select_クエリ1", "C:\クエリ1.csv" ヘッダーを入れてエクスポートしたのですが、 どうコーディングすればよろしいでしょうか? よろしくお願いします。

  • Access2000、データのエクスポート

    Access2000でテーブルデータをエクスポートする時、csv形式で保存しますが、その際にフィールド名を付加する設定で保存します。 今回実現したいのは、このフィールド名の手前にデータを置きたいのです。 具体的には欲しいcsvファイルは次のような内容になります。 1行目 公共料金明細 2行目 (空白) 3行目 日付,金額,部門 4行目 20/1/10,2100,01001 5行目 20/1/10,3150,18001 (以下はこのような内容が続く。)(内容はすべてテキスト形式です。) このように普通にエクスポートすると3行目以降のcsvファイルができるのですが、その手前に1行目と2行目のデータを入れたいのです。 1行目はEXCELで言うところのA1セルに該当します。 2行目は何も入れませんが、1行空ける必要があります。 これらは、このcsvファイルを取り込むソフトの都合上、こうせざるを得ないのです。 方法を教えていただきたくお願いします。

  • Access CSVデータのエクスポート

    Access CSVデータのエクスポート 下記のようにCSVデータをエクスポートしています。 最後をTrueに設定すると1行目がタイトルとしてエクスポート出来るはずが出来ません。 エクスポート定義が原因でしょうか? 対処方法を教えて下さい。 ※ちなみに下のようにエクスポート定義を使用しないと1行目をタイトルしてエクスポート出来ます。 DoCmd.TransferText acExportDelim, "エクスポート定義", "テーブル名", Format(Now(), "yyyymmdd") & "test.csv", True DoCmd.TransferText acExportDelim, , "テーブル名", Format(Now(), "yyyymmdd") & "test.csv", True

  • ACCESS CSV形式でエクスポートしたい

    ACCESSで作成したデータをCSV形式でエクスポートしたいです。 ファイルの種類で「テキストファイル(*.txt;*.csv;*.tab;*.asc)」を選択すると 拡張子txt で保存されてしまいます。 もちろん、あとで拡張子を変更すればよいのですが、保存の際に CSV形式にすることは不可能でしょうか?? VBAなど難しいことは、わからないので、出来なければ結構です。 よろしくお願いいたします。

  • Access2003でのエクスポートについて

    不可能かもしれませんが、ACCESS2003でCSVエクスポートする時に、CSVの一行目(Excelで言うところのA1セル)に文字を注入する事は可能でしょうか?? 初心者ですので、可能であれば簡単に教えていただけませんか??

  • ExcelデータをACCESSへエキスポート

    ExcelデータをADOを使いACCESSへエキスポートしたいのですが、 データ型がちがうというエラーが出てエクスポートできません。 対処法を教えてください。 Excelシートの次のようなデータをAccessへエクスポートしようと しています。 A B C D E F G(列) 1 ID  番号 地域  客先  売上金額 種類 数量 2    K01 東京    a社  100,000    イ  4 3    K02 神奈川  b社  50,000 Excelシートの1行にフィールド名があり、レコードがA2:G3入って いるとします。Accessの売上テーブルにExcelのフィールドと同じ 順番のフィールド名があった時、Excel VBAにてADOを使いAccess にデータを貼り付けようとすると、データ型がちがうとエラー表示 が出てしまいます。A2:A3はAccessの自動発番機能を使うのでいつも 空です。又F3:G3はデータがこの例のように空の場合もあります。 Excel側もAccess側もフィールドのデータ型は同じにしたつもりです が、レコードが空があることがエラーの原因でしょうか。もしそうなら どう対処すればよいのでしょうか。

  • Excel2003で列数制限以上のCSVファイルを読み込む方法

    初めて投稿いたします。 仕事で使うCSV形式のテキストファイルをExcel2003に読み込ませようとしています。1つのデータ群が数値50個の連続データで構成されていますが、改行情報が入っていないため、データ群が多くなると列数制限(256列まで)でファイル自体が単純に読めない状態です。 データ群毎に改行すれば、1枚のワークシートで読み込めると思います(下記イメージ)。何とか頑張ってVBAマクロで作成したいと思います。 参考になるサンプルマクロとかをご存じないでしょうか?CSVエディタとの併用も考えましたが、Excelだけで完結できればありがたいです。 どうぞよろしくお願い申し上げます。 [現在のデータ形式イメージ] a1,a2,…,a50,b1,b2,…,b50,c1,c2,…,c50,d1,d2,…,d50,……… (1行で連続したデータ) [変更後のデータ形式イメージ] a1,a2,…,a50 b1,b2,…,b50 c1,c2,…,c50 d1,d2,…,d50 e f … (1行あたり50列のデータ)

  • エクスポートしたcsvの変換を無効化したい

    閲覧ありがとうございます。 あるデータベースよりcsv形式でエクスポートしておりますが、 エクスポートするデータの中に、「1-1、1-2…」といったデータがあり、 csvにエクスポート後、そのデータが「1月1日、1月2日…」といったデータへ変換されてエクスポートされており、恐らくexcelの機能で日にち変換されてしまっております。 この日にちへ変換する機能?を無効化したいのですが 何か手はありますでしょうか? エクセルに詳しい方宜しくお願いします。

専門家に質問してみよう