

No.4ベストアンサー
- 回答日時:
エクセルvbaでcsv変換できるコードを書いてみました。
ツール→参照設定で
Microsoft ActiveX Data Object 2.x Library
Microsoft Scripting Runtime
にチェックを入れておいてください。
あとコマンドボタンを一つ作りそのクリック時のイベントに以下を書き加え「mdbファイル名」、「テーブル名」、「出力ファイル名」を適宜書き換えてコマンドボタンを押すとCSV変換できると思います。 (コマンドボタンのキャプションが抽出中から終了に変わればファイルは出来上がっています)
Private Sub CommandButton1_Click()
Dim Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim strMDBName As String
Dim strSQL As String
Dim FSO As New FileSystemObject
Dim TS As TextStream
Dim strMDBFILEName As String
Dim strTXTFILEName As String
Dim strConName As String
Dim strTBLName As String
Dim strOUTText As String
Dim lngFieldNum As Long
Dim lngCount As Long
'mdbファイル名(フルパスで)
strMDBFILEName = "C:\Documents and Settings\...............\mdbname.mdb"
'テーブル名
strTBLName = "テーブルA"
'出力ファイル名(フルパスで)
strTXTFILEName = "C:\Documents and Settings\..............\OUTPUT.TXT"
strSQL = "SELECT * FROM " & strTBLName
strConName = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFILEName
Set TS = FSO.CreateTextFile(strTXTFILEName, True)
Me.CommandButton1.Caption = "抽出中"
Con.Open strConName
Rst.Open strSQL, Con, adOpenKeyset, adLockOptimistic
lngFieldNum = Rst.Fields.Count
Do Until Rst.EOF
strOUTText = """" & Rst.Fields(0) & """"
For lngCount = 1 To lngFieldNum - 1
strOUTText = strOUTText & ",""" & Rst.Fields(lngCount) & """"
Next lngCount
TS.WriteLine strOUTText
Rst.MoveNext
Loop
TS.Close
Set TS = Nothing
Set FSO = Nothing
Rst.Close
Con.Close
Set Rst = Nothing
Set Con = Nothing
Me.CommandButton1.Caption = "終了"
End Sub
小さいファイルではできましたが、何万件というレコードでは実験していません。 (メモリ不足などの問題がおきないとは言い切れません。) 汎用性があるようには作っていませんので、複数のテーブルを出力されたい場合などはご自分で使いやすいように改造してください。
ご回答ありがとうございます.わざわざマクロまで作成していただいて恐縮です.
現在は#3さんの方法で試行中ですので,後ほどお教えいただいた方法を試してみたいと思います.
ただし,うちのPCが非力なのと,件数がExcelの制限を越える6万5千件以上あることは確実ですので,これらがネックになりうまく行かないかもしれませんorz

No.6
- 回答日時:
ついでにでっかいmdbファイルでも試してみました。
フィールド数80以上、レコード数40万件以上のリンクテーブルをテキストに書き出してみました。およそ4分30秒くらいで725MBのテキストファイルが出来上がりました。 頭の部分しか確認はできませんでしたが、(テキストエディタが読み込むのに時間がかかりすぎるため)とりあえず正常に書けているようでした。 利用可能なメモリの状況をモニタしていましたが、開始前は670MB程度ありましたが、ぐんぐん下がっていきましたが、170MB程度になった時点でそれ以上下がることはなくなりました。 どうやらFSOはそのあたりを考慮してくれるようです。
他の方法が見当たらなければ、お試しください。 すべてのデータをテキストとして出していますので、もしかしたら改造が必要かもしれません。 ただ、このCSVファイル他のdbにインポートさせる以外には使いようがないですね。 開こうにもワードパッドではいつまでたっても開けませんでした。
たびたびご回答いただいて大変ありがとうございます.
スクリプトは完璧なのですが,mdbファイルにハングルが含まれているのがネックとなっているようでTS.WriteLineの行でエラーになります.引数のstrOUTTextを"test"などの固定値に置き換えると無事終了するので,VBが多言語対応出来ていないのが原因だと推測しております.
お教えいただいたスクリプトが間違いなく最善の策だと思いますが,こちらの特殊事情で活用できず大変恐縮です.
教えてもらってばかりでなく,この点について自分でももう少し頑張って調べてみようと思います.
No.3
- 回答日時:
1、Baseでファイルを開いたあと、Calcの新規書類を作成。
2、Baseの書き出ししたいテーブル名の上で右クリック、コピーを選択。
3、Calcの新規書類に切り替えて、貼り付け。
4、保存するときにcsv形式を選択。
これで書き出せるはずです。実際にOpenOffice2.2で確認しました。詳しい手順はOpenOfficeのヘルプで「エクスポート」を検索してください。
データベースが大きいとメモリを大量に消費するでしょうから、あらかじめ仮想記憶を大きめに設定するか、もしくは十分なメモリを積んだマシンで作業しましょう。
ご回答ありがとうございます.
お教えいただいた方法を何度か試してみたのですが,うちのPCの実力を上回る苛酷な作業になっているようで,長時間だんまりを決め込んだ末に原因不明のエラー云々というメッセージを吐いて終了してしまいますorz
現在も比較的小さめのmdbファイルで試しているところですが,マシン自体をパワーアップしないとどんな方法でもダメっぽいです(汗)
No.2
- 回答日時:
OpenOfficeで開けたのなら、csv形式でエクスポートできるような気がします。
ファイル保存または書き出しのメニューから、形式を選んで保存ができないか確認してみてください。また、SQL Studioというフリーウェアでも同様のことが可能でしょう。
このソフトは大変高機能なので、データベースを扱う作業をするならぜひ持っておいた方がいいと思います。
http://kuronekosoft.nobody.jp/
ご回答ありがとうございます.
私もOpenOfficeで開けたときはこれで解決できたと思ったのですが,自力ではどうすれば出力できるのかわからず,改めて http://oshiete1.goo.ne.jp/qa3334928.html で質問したのですが,いまだにご回答いただけないところを見るとちょっと甘く見ていたようです(あるいはBaseユーザが少ないのかも).
お教えいただいたツールも使ってみましたが難しくてわかりませんorz

No.1
- 回答日時:
使ったことはないけれど、
http://cowscorpion.com/file/MDBView.html
自分でsqlを発行するものを作るのもそう難しくはない。
http://www.asahi-net.or.jp/~ef2o-inue/download/s …
ご回答ありがとうございます.
ツールでは「FROM句の構文エラーです」と表示され,マクロはSQL文の書き方が分からず挫折しましたorz
結局OpenOfficeをインストールしてBaseで開けたんですが,テキスト形式で保存するにはどうすればいいのやら(汗)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Word(ワード) テキストデータのPDFをWordで開くとテキストが図として認識されてしまう 3 2023/01/24 11:38
- Excel(エクセル) ドキュメントに保存していたエクセルのファイルが開きません。 2 2022/12/02 09:38
- システム メールのcsv添付ファイルの種類を テキスト形式からカンマ区切り形式に 変更する方法はありますか? 4 2023/03/09 20:33
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Excel(エクセル) Excelのセル上の日付の不具合 3 2022/05/22 18:20
- ノートパソコン EXCEL のドキュメントの回復について 2 2023/03/19 17:16
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
MDBファイルをCSV出力したい
Visual Basic(VBA)
-
アクセスを開けるフリーソフトってありますか?
Access(アクセス)
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
複数のメールファイルを1つの...
-
AccessのマクロでCSVファイルを...
-
Wordの文章をExcelに内容ごとに...
-
CSVファイルを固定長のテキスト...
-
CSVをExcelに変換したい
-
多数のeml形式ファイルを1つの...
-
ACCESS複数テキストファイルを...
-
複数のエクセルファイルをアク...
-
ACCESS でインポートフ...
-
mdbをテキストに変換するツール...
-
Excelのデータ(数字)をテキス...
-
列数が4000を超えるcsvファイル...
-
アクセスで小数点以下1桁まで...
-
VBA 複数のCSVファイルを一度...
-
ダブルクォーテーション囲いカ...
-
Accessファイル選択インポート
-
CSVファイルをEXCELに...
-
差し込み印刷の元データファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
Excelのデータ(数字)をテキス...
-
SQLSever 一括インポートについて
-
多数のeml形式ファイルを1つの...
-
ダブルクォーテーション囲いカ...
-
notepad++ で作成した文書を cs...
-
アクセス2007でのインポートエ...
-
Excelでhtml形式のテキストを表...
-
VBA 複数のCSVファイルを一度...
-
複数eml形式のBecky!への一括イ...
-
[VBA]csvファイルを開いて保存...
-
エクセル2000で65536行を超える...
-
ACCESS複数テキストファイルを...
-
ACCESS でインポートフ...
-
複数のエクセルファイルをアク...
-
ACCESS CSV形式でエクスポート...
-
mdbをテキストに変換するツール...
-
アクセス(ACCESS) インポート...
-
CSVファイルを固定長のテキスト...
おすすめ情報