以下是我的源程序,当导出的数据值中有“OK”的时候,会自动导出到第二行,请高手指教其中错误。Public Sub SQLtoEXCEL(tSQL As String, strFileName As String)
Dim objFileSystem As Object
Dim objExcelText As Object
Dim strTableString As String, i As IntegerDim rst As rdoResultset
Dim strConn As StringOn Error GoTo errtmpIf strFileName = "" Then Exit SubSet rst = CN.OpenResultset(tSQL, adOpenStatic, adLockOptimistic)
If rst.EOF = False Then
i = 0
For i = 0 To rst.rdoColumns.Count - 1
strTableString = strTableString & rst.rdoColumns(i).Name & Chr(9)  '獲取字段名
Next i
strConn = strConn & rst.GetClipString(rst.RowCount)   '字段名+數據庫的記錄
End If
rst.CloseSet objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objExcelText = objFileSystem.createtextfile(strFileName, True)
objExcelText.writeline (strTableString)
objExcelText.writeline (strConn)
objExcelText.Close
Set objFileSystem = NothingMsgBox "已完成!", vbInformationExit Sub
errtmp:
 MsgBox "请注意要导入的文件是否在使用!", vbInformation
End Sub

解决方案 »

  1.   

    查询 SQL 中要将字段中包含的回车换行替换成其它字符
      

  2.   

    下面是我在测试时的数据,如下面的OK之后会有一个回车到第二行的第二列,不知道是什么字符呢“?
    ?rst.GetClipString(rst.RowCount)
    TAJY    JYOUT-070051    JYIOR-070037    借出出仓    TAJY001 2007-10-26          钟冠强  0   已审核      审批通过    钟冠强  2007-10-26 11:41:52 111100060000    揭阳主仓    上海日成电子有限公司        111100060000        角钢[A40*t6*L6000]  Angle Iron Material 条  5   0   0
    TAJY    JYOUT-070052    JYIOR-070039    调拨出库    TAJY001 2007-10-26          黄鹏    1389.72 已审核      审批通过    黄鹏    2007-10-26 15:10:20 ok
        揭阳主仓            221153600000-J  645500120010    1.5KW变频器(东芝)   Inverter :1.5K  PCS 1   1389.71965  1389.72
    TAJY    JYOUT-070053    JYIOR-070040    借入还料    PART001 2007-10-29          黄鹏    112.57  已审核  JYIN-070037 审批通过    黄鹏    2007-10-29 9:54:21  ok
        零件仓A仓   上海日成电子有限公司        221000100000        田岛铭牌[GN]    Tajima Brand Name Plate PCS 2   51.8256 103.65
    TAJY    JYOUT-070053    JYIOR-070040    借入还料    PART001 2007-10-29          黄鹏    112.57  已审核  JYIN-070037 审批通过    黄鹏    2007-10-29 9:54:21  ok
        零件仓A仓   上海日成电子有限公司        221000110000        磁块    Magnet Block[S] PCS 2   4.4604  8.92
                  
      

  3.   

    strConn = Replace(strConn, "ok" & vbCrLf, "ok")