VB6でDAOを使用してExcelデータを読込

解決


CONTM  2010-11-18 16:28:38  No: 102707  IP: [192.*.*.*]

VB6でDAOを使用してExcelデータを読込
\\work1\tmp\hoge.xls
の内容は

見出し1  見出し2  見出し3
a  1  101
b  2  102
c  3  103

List2.AddItem RS("F1").Value & vbTab & RS("F2").Value & vbTab & RS("F3").Value
の行で、数値フィールドがオーバーフローしましたとなりますが、何故ですか?


Private Sub Command4_Click()
    Dim ws As DAO.Workspace
    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim strXLSName As String
    Dim strSQL As String
    strXLSName = "\\work1\tmp\hoge.xls"
    Set ws = DBEngine.Workspaces(0)
    Set DB = ws.OpenDatabase(strXLSName, False, False, "EXCEL 8.0;HDR=NO;")
    strSQL = "Select * From [Sheet1$] "
    Set RS = DB.OpenRecordset(strSQL, dbOpenDynaset)
    List2.Clear
    Do Until RS.EOF
        List2.AddItem RS("F1").Value & vbTab & RS("F2").Value & vbTab & RS("F3").Value
        RS.MoveNext
    Loop
    RS.Close
    DB.Close
    ws.Close
End Sub

編集 削除
魔界の仮面弁士  2010-11-18 22:45:19  No: 102708  IP: [192.*.*.*]

インポートモードを指定してみては如何でしょう。
とりあえず、
  "EXCEL 8.0;HDR=NO;"

  "EXCEL 8.0;HDR=NO;IMEX=1;"
にしてみた場合、状況は変わりますか?

編集 削除
CONTM  2010-11-19 08:23:51  No: 102709  IP: [192.*.*.*]

魔界の仮面弁士さんうまくできました。
インポートモードなるものしらべましたら
http://support.microsoft.com/kb/257819/ja
雰囲気なるものは少しわかりました。大変有り難う御座いました。

編集 削除
CONTM  2010-11-19 08:25:28  No: 102710  IP: [192.*.*.*]

解決しました。

編集 削除