2011-08-25 80 views
1

我需要修改兩個CSV文件中的字符串。我正在使用Windows XP。插入記錄之間的空白行並輸出到CSV

文件名是pi_jobs.csvpi_offices.csv

我需要在每條記錄之間有兩個空格,然後在最後一條記錄之後有兩個空行。

這些文件是由基於Access的應用程序生成的,我可以通過SQL語句在輸出中創建空行(基本上,查詢中的最後一個字段連接兩組Chr(10)和Chr(13)字符,給我兩個換行符和兩個回車符)。

但是,當我將文件輸出到CSV時,它將那些回車符和換行符作爲記錄中的一個單獨字段包含在內,因此在字段前面加上逗號,並在該字段引號。

我在下面提供了一個例子。注意第一個和第二個記錄之間的差距。有一個逗號和引號在第一個記錄的結尾,而第二個記錄開始前右引號:

「經認可的醫療助理計劃,使有資格接受或AAMA或AMT認證;高中文憑或GED要求;至少三年在醫療或相關商務辦公室工作經驗;靜脈切開術和注射的工作知識。期望:專科學位 「」



」TBP20113105-82792「,」 芝加哥Edgewater的」, 「9999999」, 「TBP醫療助理」

我已經很小心在這裏我的頁面格式 - 這正是行間距的樣子,這個間距有三條線間隔,但它應該是這樣的:

「一個經認可的醫療輔助程序, AAMA或AMT認證;高中文憑或GED r equired;至少三年在醫療或相關商務辦公室工作經驗;靜脈切開術和注射的工作知識。期望:大專「


「TBP20113105-82792」, 「芝加哥Edgewater的」, 「9999999」, 「TBP醫療助理」

回答

1

這裏是一個純粹的接入解決方案

。第1步:到Microsoft腳本運行時庫添加數據庫中的參考

enter image description here

步驟2:創建一個函數,該函數將打開表格/查詢並逐行讀取記錄並輸出到。CSV文件

Function OutputToCsv() 
Dim fs As FileSystemObject 
Dim ts As TextStream 
Dim rs As Recordset 

On Error GoTo lberr 

'use this if you query a single table 
Set rs = CurrentDb.OpenRecordset("Select Column1, Column2, Column3 From NewTable") 

'use this if your query DOES NOT have any parameters 
'Set rs = CurrentDb.OpenRecordset("Select Column1, Column2, Column3 From NewQuery") 

'use this if you use query WITH parameter(s) 
'Dim qdf As QueryDef 
'Set qdf = CurrentDb.QueryDefs("NewQuery") 
'qdf.Parameters("Parameter1") = "" 'set the value for the parameter(s) 
'Set rs = qdf.OpenRecordset 

If (rs.RecordCount = 0) Then Exit Function 

Set fs = New FileSystemObject 
Set ts = fs.CreateTextFile("C:\NewFile.csv", True, False) 'this will overwrite the file each time 

rs.MoveFirst 

Do While Not rs.EOF 
    'Chr(34) is a quotation mark " 
    ts.WriteLine (Chr(34) & rs("Column1") & Chr(34)) 'format your record output 
    'ts.WriteLine (Chr(34) & rs("Column1") & Chr(34) & "," & Chr(34) & rs("Column2") & Chr(34)) 'in case you need to output more than one column 
    ts.WriteBlankLines (2) 'Add as many empty lines as you need 
    rs.MoveNext 
Loop 

ts.Close 

MsgBox "Success!" 

Exit Function 
lberr: 
    MsgBox Err.Description 
End Function 

而且,這是你的輸出文件應該如何看起來像:

enter image description here

+0

謝謝 - 有沒有在你的語句來指定查詢任何方式運行?在你的例子中,你有一行:Set rs = CurrentDb.OpenRecordset(「Select Column1,Column2,Column3 From NewTable」),但我試過在該行中包括(並修改)我的查詢SQL,但是我正在編譯錯誤。如果它有幫助,查詢名稱是「aje-job-output-query」。謝謝! – j1mc

+0

當然,查詢也可以使用。我要編輯我的帖子,包括 –

+0

我已更新帖子 –