• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access データーエクスポート方法)

Accessデーターエクスポート方法

このQ&Aのポイント
  • Access初心者のため、VBAを使用せずにデータをCSV形式で出力する方法について教えてください。
  • 納期の範囲指定をしてエクスポートする方法や、状態フラグを使用して出力範囲を絞る方法など、自動エクスポートの実現方法を教えてください。
  • データベースの内容や詳細についても教えていただけると助かります。

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

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.4

こんにちは (1)出力するクエリの     納期の抽出条件にBetween [いつから?] And [いつまで?]を入力。 (2)出力するクエリを保存 (3)作成タブのマクロボタンをクリック (4)表示されていなかったら、デザインタブで「アクションカタログ」をクリック (5)デザインタブで「すべてのアクションを表示」をクリック (6)アクションカタログの「データのインポート/エクスポート」から     「テキストのインポート/エクスポート」をダブルクリック (7)テキストのインポート/エクスポートの変換の種類「区切り記号付きエクスポート」 (8)テキストのインポート/エクスポートのテーブル名「出力するクエリ名」 (9)テキストのインポート/エクスポートのファイル名「出力するcsvファイルのフルパス」 (10)テキストのインポート/エクスポートのフィールド名の設定は必要なら「はい」 (11)マクロを保存 (12)作成タブでフォームデザインボタンをクリック (13)表示されたフォームデザイン上に作成したマクロをドラッグ&ドロップ (14)フォームを保存 (15)フォームを開いてマクロボタンをクリックするとエクスポートが実行される こんな手順を試してみて下さい。

coco--chanel
質問者

お礼

こんばんわ 分かりやすく細かに順をおっての説明有難うございました。 いろいろみなさんがおっしゃるように複雑な事から単純な事までためしたのですが...勉強不足を痛感致しました。 素人の私にも簡単に出来る方法が見つかりとても感謝しています。 有難うございました。

その他の回答 (3)

回答No.3

【補足】 >コピペすれば出来ますか? 次の条件をクリアすれば可能です。添付図がそれを示しています。 1、FileSystemObject、ADODBを利用する環境を整える。 その要領は、"FileSystemObject 参照"、"ADODB 参照" etcで検索を。 (*)FileSystemObjectの参照はコードの書き方を変更してもよい。 2、二つの関数を標準モジュールに追加する。 1、2が済めば、添付図のように【イミディエイトウインドウ】でテストできます。そうして、テストに成功したコードをイベントに書けば目的は達成されます。 PS、DBSelect関数について 例えが、0・-1は、No・Yes。通貨型は¥1,000と出力などと機能を追加することも可。        ' ------------------------------------        ' 列情報を For-Next で配列に代入する        ' ------------------------------------        .MoveFirst        For R = 0 To M          C = -1          For Each fld In .Fields            ' =================            ' Begin With: fld            ' -----------------            With fld              C = C + 1              If Not isConvert Then                DataValues(R, C) = Nz(.Value, "")              Else                ' --------------------------                ' 列データを表示形式に変換                ' --------------------------                Select Case .Type                  Case adBoolean         ' ブール型                    DataValues(R, C) = IIf(.Value = -1, "Yes", "No")                  Case adChar, adVarChar     ' 文字列型                    DataValues(R, C) = Nz(.Value, "")                  Case adDBDate, adDBTimeStamp  ' 日付型、日付/時刻型                    DataValues(R, C) = .Value                  Case adSmallInt, adInteger   ' 整数                    DataValues(R, C) = FormatNumber(.Value, 0)                  Case adSingle, adDouble     ' 浮動小数点型                    DataValues(R, C) = FormatNumber(.Value, 2)                  Case adCurrency         ' 通貨型                    DataValues(R, C) = FormatCurrency(.Value, 2)                  Case Else                    DataValues(R, C) = .Value                End Select              End If            End With            ' ---------------            ' End With: fld            ' ===============          Next fld          .MoveNext        Next R      Else        ReDim DataValues(0, 0)        DataValues(0, 0) = ""        strList = ""      End If と、自作するってことは色々と出来るってことです。

  • panacon
  • ベストアンサー率31% (214/679)
回答No.2

coco--chanel さんへ クエリを選択してエクスポートを選ぶとき、エクスポート先を決めて次へをおすと、カンマ区切りや固定長などの設定をするダイアログボックスが出てくると思います。それを決めながら設定が終わるまで進んで、あとはOKボタンを押すだけのところまで行ったときに、左下の設定ボタンを押します。そうすると、エクスポートの詳細を設定する画面が出ます。それを入力してOKをすると、エクスポート定義として設定を保存できるようになります。えくぽーと定義を保存するときに名前をメモ帳に貼っておいて、定義を保存します。次にマクロでテキストを出力するものがありますので、これを選んで、出力先のパスとエクスポート定義を書いてマクロを完成させます。このマクロをフォームのボタンに関連付ければ、エクスポートボタンが完成します。出力先のパスは、あらかじめ出力先にテキストファイルを作ってみて、これのショートカットを作れば、そのプロポティをコピーすることで対応できます。

coco--chanel
質問者

補足

回答ありがとうございます。 明日、この通りにやってみます!! ちなみに、このクエリに納期の範囲指定パラメーターが仕込んであっても問題ないと言う事でしょうか?

回答No.1

Q、CSV出力。 A、二つの関数を用意しても実現できます。 関数の利用法と結果とは添付図を参照して下さい。 Public Function FileWrite(ByVal FileName As String, _              ByVal Text As String) As Boolean On Error GoTo Err_FileWrite   Dim fso As FileSystemObject   Dim txs As TextStream      Set fso = New FileSystemObject   Set txs = fso.CreateTextFile(FileName, True)   txs.Write Text   FileWrite = True Exit_FileWrite:   Exit Function Err_FileWrite:   MsgBox Err.Description & "(FileWrite)", vbExclamation, " 関数エラーメッセージ"   Resume Exit_FileWrite End Function Public Function DBSelect(ByVal strQuerySQL As String, _              Optional colDelimita As String = ";", _              Optional rowDelimita As String = ";") As String On Error GoTo Err_DBSelect   Dim R      As Integer ' 行インデックス   Dim N      As Integer ' 行総数 - 1   Dim cnn     As ADODB.Connection   Dim rst     As ADODB.Recordset   Dim fld     As ADODB.Field   Dim strList   As String ' 全てのデータを区切子で連結して格納      Set cnn = CurrentProject.Connection   Set rst = New ADODB.Recordset   With rst     .Open strQuerySQL, _        CurrentProject.Connection, _        adOpenStatic, _        adLockReadOnly     If Not .BOF Then       N = .RecordCount - 1       .MoveFirst       For R = 0 To N         For Each fld In .Fields           With fld             strList = strList & .Value & colDelimita           End With         Next fld         strList = Mid(strList, 1, Len(strList) - 1) & rowDelimita         .MoveNext       Next R     Else       strList = ""     End If   End With Exit_DBSelect: On Error Resume Next   rst.Close   Set rst = Nothing   DBSelect = IIf(Len(strList) > 0, Replace(strList & "[END]", rowDelimita & "[END]", ""), "")   Exit Function Err_DBSelect:   MsgBox "SELECT 文の実行時にエラーが発生しました。(DBSelect)" & Chr(13) & Chr(13) & _       "・Err.Description=" & Err.Description & Chr(13) & _       "・SQL Text=" & strQuerySQL, _       vbExclamation, " 関数エラーメッセージ"   Resume Exit_DBSelect End Function

coco--chanel
質問者

補足

回答ありがとうございます これは、いきなりのハイレベルですね。 A、二つの関数を用意しても実現できます。 関数の利用法と結果とは添付図を参照して下さい。 とは、例えば既存の受注入力フォームなどにボタンを貼り付けてプロパティのイベントのクリック時に添付図をコピペすれば出来ますか? わたくし完全にVBAが無知すぎて何をおっしゃってるのか理解できていないようです。 せっかく書いて頂いたのに、すみません。

関連するQ&A

専門家に質問してみよう