
No.2ベストアンサー
- 回答日時:
Employee:
ID_EName
_1_伊藤
_2_佐藤
_3_田中
[イミディエイト]
? FileWrite("C:\Temp\Test.txt", DBSelect("SELECT EName FROM Employee"))
True
これは、Access2003 のイミディエイトウインドウでの実行結果です。
テーブル[Employee]の列[EName]を C:\Temp\Test.txt に出力しています。
C:\Temp\Test.txt:
伊藤;佐藤;田中
データがコンマでは区切られていません。
[イミディエイト]
? FileWrite("C:\Temp\Test.txt", DBSelect("SELECT EName FROM Employee", ","))
True
C:\Temp\Test.txt:
伊藤,佐藤,田中
今度は、列データの区切り子にコンマ(,)を指定しているので目的が達成されています。
このように、FileWrite関数、DBSelect関数の類を開発すれば目的は容易に達成されます。
この2つの関数は、別に特段に難しいものではありません。
プログラマでもない素人の私が書ける程度のもんです。
ちょっと、サワリを示せば次のようです。
Public Function FileWrite(ByVal FileName As String, _
ByVal Text As String) As Boolean
On Error GoTo Err_FileWrite
Dim fso As Object
Dim txs As Object
Set fso = CreateObject("Scripting.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 ByVal strSeparator1 As String = ";", _
Optional ByVal strSeparator2 As String = "") As String
On Error GoTo Err_DBSelect
Dim I As Integer
Dim J As Integer
Dim R As Integer
Dim C As Integer
Dim M As Integer
Dim N As Integer
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim Datas As String
Set rst = New ADODB.Recordset
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
M = .RecordCount - 1
N = .Fields.Count - 1
.MoveFirst
For R = 0 To M
For C = 0 To N
・・・・・
Next C
・・・・・
.MoveNext
Next R
・・・・・
End If
End With
Exit_DBSelect:
DBSelect = Replace(Datas, strSeparator1 & strSeparator2 & strSeparator1, "")
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
こういう方向性でも良いのであれば参考にされてください。
なお、・・・・・部は、丸回答というルール違反を避けるためで他意はありません。
No.1
- 回答日時:
DBが何なのか書かれていませんが・・
一般的なDBだと何行になるかわからないものをカンマ区切りで出力するようなオプションはないと思います。普通にエクスポートしておいてから、テキストファイル処理で改行コード→カンマの変換をかける方がいいと思います。
この回答へのお礼
お礼日時:2008/05/23 21:54
すみません。ACCESS 2003です。
現在は、EXCELにエクスポートしてから、CONCATENATE関数で地道に繋げています。
簡単なマクロを作って処理してますが、行数が一定していないので、かなり大変な作業です。
CONCATENATE関数のような関数があれば、簡単に繋げられるのではないか、と思ったのですが…。
>テキストファイル処理で改行コード→カンマの変換をかける
素人なもので、処理の方法が分かりません。
自分でも調べてみますが、よければご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで以下のシステムを1か...
-
teraterm から起動したプログラ...
-
Accessでエクセル出力の保存先指定
-
エクセルで縦のカラムデータを...
-
SQLPLUSで結果を画面に表示しない
-
【Excel】[Expression.Error] ...
-
「○○○.ldb」のAccess レコード ...
-
オラクル(PL/SQL)のエラー
-
Access95のエクスポートで教え...
-
100万行のCSVを10万行ずつのフ...
-
VB6.0でファイルの一行だけ削除...
-
AccessのDB破損に関して お教...
-
Access インポート
-
txtをemlに変換したい!
-
Access 実行時エラー'3075' 対...
-
ACCESSのモジュールエラー?
-
ACCESSで他の人が使って...
-
ThunderbirdのメールをCSVでま...
-
拡張子が「cda」のファイルを聞...
-
PLSQLでファイルに書き込みをし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで以下のシステムを1か...
-
アクセスクエリ(複数)→マクロ...
-
エクセルで縦のカラムデータを...
-
ACCESS で 項目名を出力せずに...
-
Accessでエクセル出力の保存先指定
-
Access Excel出力する保存先を...
-
Access データベースの最適化を...
-
teraterm から起動したプログラ...
-
指数表示しない方法
-
「,」が入った文字列に「"」が...
-
AccessのマクロでExcelにエクス...
-
AccessのデータをExcelの決まっ...
-
Access2013の質問です
-
Access内の任意のクエリを指定...
-
エクセル 入力フォームのデータ...
-
Accessから指定した画像データ...
-
access 更新ボタンを作る
-
AccessでUTF-8のtxtデータを出力
-
エクセルデータのインポート(...
-
ACCESSのVBAで自動的に保存...
おすすめ情報