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

下記ソースでADOを使用してExcelファイルをオープンするも読めないデータが発生します。

読めないデータは
UNO
--------------------
11 <-OK
32 <-OK
1-1 <-NG (Nullになる)
2-3 <-NG (Nullになる)
3-2 <-NG (Nullになる)
等ハイフンが入ったものが読めません。
対策はあるでしょうか。


Set rst = New ADODB.Recordset
'+++++++++++++++++++++++++++++++++++
rst.Source = "Select UNITNO From [一般$] WHERE 会社='" & Combo3.Text & "' AND 場所='" & Combo5.Text & "'"
rst.ActiveConnection = cn
rst.CursorType = adOpenDynamic
rst.Open , , , , adCmdText
'------
icheck = 0
Do While Not rst.EOF
If IsNull(rst.Fields("UNO")) = False Then
Combo7.AddItem rst.Fields("UNO")
End If
rst.MoveNext
Loop
'-----
rst.Close

A 回答 (1件)

コネクションオブジェクトに


Extended Properties
パラメータを指定し、そこに
IMEX=1
を追加します。意味は Google でどうぞ。
Extended Properties の指定の仕方は、
http://msdn.microsoft.com/ja-jp/library/dd148538 …
このページを "Extended Properties" で検索してみてください。
    • good
    • 0
この回答へのお礼

下記でうまくなりました。
ありがとうございました。

Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Properties("Extended Properties").Value = "Excel 8.0;IMEX=1"
cn.Properties("Data Source") = App.Path & "\仕様.xls"
cn.Open

お礼日時:2009/01/05 17:04

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