プロが教えるわが家の防犯対策術!

1テーブルでレコード毎にレコード長の違うテキスト(CSV)ファイルを出力したいのですが、通常VBソースを生成するツールを使っていて、シングルレイアウトしか対応していません。
しかも、可変長の""引用符くくり(TEXT項目)のカンマ区切りしか出力できません。
実際に欲しいのは、可変長の""くくりなし(TEXT項目)のカンマ区切りです。
内容は例えば項目数10のレコード(A)、項目数5のレコード(B)、(A)、(B)・・・の繰り返しです。
よろしくお願いします。

A 回答 (1件)

使うアプリケーションは何でしょうか?


VB6.0、Excel 2003 VBA、VB2005.NEt のどれでしょうか?
それによりコードが違います。
具体的な条件や何からデータを持ってきてどのように加工するのか
などがわからなければなりません。

VB6.0 なら
DIM STRout as string

OPEN "TESTout.CSV" FOR OUTput AS #1

STROUT = 項目A & " " & 項目B ’ここを変化させます。

PRINT #1,strOUT
Close #1
end

でできます。
以上

この回答への補足

説明不足で申し訳ありません。
VB6.0です。
例)SQLServer2000で次の様なテーブルがあるとします。
テーブル名 売上データ
項目 日付(yyyy/mm/dd) NO(00000) 商品名(NNNNNNNNNN) 数量(##0) 単価(###0) 金額(#####0) 指定NO(xxxxx)
テキスト(CSV) 名 URIDATA というテーブルに次のように書込。
一行目 H,20070401,12345,商品名A,A-001
(固定でH),日付,NO,商品名,指定NO)
二行目 D,25,1000,25000 (固定でD,数量,単価,金額)
三行目 H,20070402,12380,商品名B,A-052
四行目 D,12,1200,24000 ・・・・・
といった具合に一行の内容を違ったレイアウトで二行に分割して書きたいのです。
こんな具合でよろしいでしょうか?
よろしくお願いいたします。

 

補足日時:2007/04/26 08:40
    • good
    • 0
この回答へのお礼

大変ありがとうございました。
ソース自動生成のツールに頼りきっていて、初歩的なTEXTの書き出しの記述がわからなくて、くだらない質問をしてしまいました。
申し訳ありませんでした。
以下の記述で解決しました。
Dim STRout As String
Open "TESTout" For Output As #2
STRout = "H" & "," & YMD & "," & DENBAN & "," & SYONAME & "," & SHITEINO
Print #2, STRout
STRout = "D" & "," & SURYO & "," & TANKA & "," & KINGAKU
Print #2, STRout
Close #2

お礼日時:2007/04/26 13:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!