
No.4
- 回答日時:
こんな感じで如何でしょ。
標準モジュールでどうぞ。エラー処理は入れていませんし検証も十分ではありません。
後は適宜アレンジしてください。
Sub csvOut()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim fld As DAO.Field
Dim s As String
Dim objFs As Object
Dim outFile As Object
Const ForWriting = 2
Set objFs = CreateObject("Scripting.FileSystemObject")
Set outFile = objFs.CreateTextFile("c:\test.csv", ForWriting, True)
'既存の c:\test.csv は上書きされます
Set db = CurrentDb
Set rs = db.OpenRecordset("実際のテーブル名", dbOpenSnapshot)
Do Until rs.EOF
For Each fld In rs.Fields
Select Case fld.Type
Case 10, 12 'テキストかメモ型の場合
s = s & Chr(34) & fld.Value & Chr(34) & Chr(44)
Case Else
s = s & fld.Value & Chr(44)
End Select
Next
s = Left(s, Len(s) - 1)
Debug.Print s
outFile.writeline s
s = ""
rs.MoveNext
Loop
outFile.Close
Set objFs = Nothing
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
MsgBox "おしまい"
End Sub
No.3
- 回答日時:
具体的な項目名までは 不明ですが
参考までに。
テキスト項目は、"囲む形ですかね?
取りあえず、
1,"ああああ" のように、文字列は””でくくるように
書いています。
Private Sub コマンド0_Click()
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim f_out As String
Dim nRtn As Long
Dim strLine As String
On Error GoTo CSV_Go_Err
Set DB = CurrentDb
'砂時計を表示
DoCmd.Hourglass True
f_out = "c:\目的のCSVファイル名.CSV" '変更してください
'ファイルが既に存在する時→確認後ファイルの削除
If Dir(f_out) <> "" Then
If MsgBox("既に目的のCSVファイルが存在します。作成しなおしますか?", vbOKCancel + vbCritical) = vbCancel Then
Exit Sub
End If
Kill f_out 'ファイルを削除する
End If
'新規にCSVを作成する
Open f_out For Output As #1 ' シーケンシャル出力モードでファイルを開きます。
Set rs = DB.OpenRecordset("テーブル1") '変更してください
With rs
Do Until .EOF
strLine = .Fields("数値項目").Value & ","
strLine = strLine & """" & .Fields("テキスト項目").Value & ""","
strLine = strLine & .Fields("数値項目2").Value & ","
'必要なだけ 繰り返し(トータル230項目分)項目名は変更してください
strLine = strLine & """" & .Fields("テキスト項目2").Value & """"
'ファイルへ書き込み
Print #1, strLine
'次のレコードへ
.MoveNext
Loop
End With
CSV_Go_Exit:
Close #1
Set rs = Nothing
DB.Close
'砂時計を表示
DoCmd.Hourglass False
MsgBox ("目的のCSVファイル 作成成功!" & Chr(10) & Err.Description)
Exit Sub
CSV_Go_Err:
MsgBox ("目的のCSVファイル 作成失敗!" & Chr(10) & Err.Description)
Resume CSV_Go_Exit
End Sub

No.2
- 回答日時:
私のacc2000では、
DoCmd.TransferText acExportDelim, , "出力テーブル名","出力ファイルパス" & "\" & "出力ファイル名.csv", true
でレコード数13万件(フィールド数は20くらいですけど)は数秒で問題なく作られました。 これでだめだったら、txt形式でエクスポートしてCSVに変換とか、一件ずつ読んで、一行ずつ書くものをつくるとか、、、(フィールド数が多いとめんどくさいですね。)
No.1
- 回答日時:
テーブルのレコードのサイズが大きすぎるようですね。
回避方法1、テーブルの設計を見直す。
回避方法2、EXCELの上限にかからないのであれば、たぶんEXCELには持っていけるので、EXCELに移した後で、CSV形式で保存する。
回避方法3、VBAで自前でファイル出力する。
ですかね。
1は、テーブルを分散させる様になるので、影響が大きいでしょう。
2は、データの量が不明なので?
3が、一番確実です。
同様の質問がNET上で数件ありました。
「開始位置は32767以内で指定してください」で検索してみてください。
今の方法のままでの、回避は難しいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- 電子マネー・電子決済 QUICPayの登録ができない。 4 2023/06/10 10:57
- Excel(エクセル) 関数で複数ある→以降の文字の抽出したい 4 2022/08/07 09:47
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセス2002のエクスポートエラー
Access(アクセス)
-
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
Accessにインポートしようとするとエラーに
Access(アクセス)
-
-
4
Accessのテーブルからcsv出力する際に一部のフィールドを除いて出力したい
Access(アクセス)
-
5
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
6
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
7
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
8
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
9
INSERT INTO ステートメントに認識できないフィールド
その他(データベース)
-
10
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
11
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
12
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
13
Access テーブルを分割してエクスポートしたい
Access(アクセス)
-
14
「#エラー」の回避
Access(アクセス)
-
15
ACCESS で 項目名を出力せずにエクスポートしたい
その他(データベース)
-
16
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
17
アクセスで複数のレコード情報を1レコードにまとめる方法
Access(アクセス)
-
18
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
19
空白をそのままインポートする方法について
その他(データベース)
-
20
ダブルコーテーション付きでCSV出力
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Server のデータをCSVファ...
-
Access97の文字化けについて
-
アクセスのテーブルからエクス...
-
accessのエクスポートエラーに...
-
エクスポート時の改行コードに...
-
既に使用されているので、使用...
-
Accessのリンクテーブルについて
-
AccessでCSVインポートのゼロサ...
-
pl/sqlでcsvファイルダウンロード
-
[SQL Server] コマンドプロンプ...
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
ACCESSのSQLで、NULLかNULLでな...
-
SELECT文でのデッドロックに対...
-
DataTableから条件を満たした行...
-
SQLServer Insertが遅い
-
ACCESSのBookmarkプロパティの...
-
インデックスの再構築の意味っ...
-
SI Object Browserのテーブルス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessのエクスポートエラーに...
-
SQL Server のデータをCSVファ...
-
エクスポート時の改行コードに...
-
既に使用されているので、使用...
-
SybaseのBCPでファイル上書き
-
AccessでCSVインポートのゼロサ...
-
Accessのリンクテーブルについて
-
DBMAGICのプログラム解析
-
bcpインサートでのフォーマ...
-
アクセスのテーブルからエクス...
-
SQLServer2005でフラットファイ...
-
ACCESSでのエクセルインポート...
-
SQL Server 2000 - bulk insert
-
ACCESSでのCSVデータの自動取り...
-
symfowareのSQL文in句をバッチ...
-
SQLServer2005 データのCSVファ...
-
ACCESSデータベースのインポート
-
アクセスから自動で(マクロ化...
-
スクリプトファイルの一括実行
-
MS-SQLプロシージャでファイル...
おすすめ情報