
Access2007からADO接続してEXCELのシートにSELECT文を発行すると、
『[Microsoft][ODBC Excel Driver]選択された CollatingSequence は OS でサポートされていません。』のエラーが出ます。
SELECT文に条件を付けると上記エラーが発生します、条件なしの場合はエラーが発生しません。
エラーが発生してもデバッグで F8 で実行すると正常に条件付きでSELECTされます、
エラーは一回目のSELECTだけで、以降はエラーが発生しません。
対処の方法をお教え下さい。
よろしくお願いします。
(("Microsoft.Jet.OLEDB.4.0"を使用してもエラーが発生しました。))
(例)
'テンポラリファイルを取り込む
Dim querydef As DAO.querydef
Dim adoCON As New ADODB.Connection
Dim adoRS As New ADODB.Recordset
Dim strV As String
Dim strQ As String
'ADOを使い読み込み専用モードでExcelファイルを扱う準備(オープン)をします
adoCON.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; " & _
"DBQ=" & "C:\test2014.xlsx" & ";" & _
"ReadOnly=True"
'SQLを実行(全件検索) OK
Set adoRS = adoCON.Execute("SELECT * FROM [Shite1$]")
'SQLを実行(条件付き検索) NGエラーが発生します。
Set adoRS = adoCON.Execute("SELECT * FROM [Shite1$] WHERE A = 7 ")
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
当方Office2010ですが同じ結果になりました。
ちょっとバグっぽいですね。
https://support.microsoft.com/kb/257819/JA
に
『
ある特定のバージョンの MDAC を使用する Visual Basic デザイン環境で、プログラムがデザイン時に初めて Excel データ ソースに接続する際に次のエラー メッセージが表示されることがあります。
選択された CollatingSequence は OS でサポートされていません。』
とあって、そのリンク先の
https://support.microsoft.com/kb/246167
に
Visual Basic の場合の説明がありますが、VBA に関しては何もないです。。。
ODBC ではなくOLEDB だと当方ではスムースに行きました。
Sub qXL()
Dim cnXL As ADODB.Connection
Dim rsXL As ADODB.Recordset
Dim cn As ADODB.Connection
Set cnXL = New ADODB.Connection
With cnXL
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source= C:\test2014.xlsx" & _
"; Extended Properties=""Excel 12.0; HDR=YES;"""
.Open
End With
Set rsXL = New ADODB.Recordset
rsXL.Open "SELECT * FROM [Sheet1$] WHERE A = 7 ", cnXL, adOpenStatic
msgbox rsXL!A
rsXL.Close: Set rsXL = Nothing
cnXL.Close: Set cnXL = Nothing
End Sub
エクセルの1行目がタイトル行としています。(HDR=YES)
なので A フィールドから、7 を抽出条件です。
今回は、有難うございました。
On Error GoTo で対処しようと思いましたがなにかスッキリとせず色々試してみました。
回答頂いた方法を試して成功しました、スッキリしました。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
循環参照にならない方法があっ...
-
検索をかけた時、ページを開け...
-
MACアドレス 00:E0:C3 SAKAI って
-
ワイヤーボンディングのスパー...
-
アウトルックで送信時に「名前...
-
eclipse 3.5 でエラーが出ます。
-
エクセルで#N/Aを含めた平均値...
-
androidのSocketでの正常なリソ...
-
エクセル #N/Aを印刷時に表示...
-
/var/log/messagesエラー出力
-
.NETでActiveXコントロールを使う
-
ドメインに参加しようとするとD...
-
リモートデスクトップ接続でパ...
-
パスワード設定していないユー...
-
ワークグループ設定のPCの名前解決
-
Mailの送信済みメールボックス...
-
同一のホスト名で何か問題があ...
-
エラーメールで"too many hops"...
-
sendmailでのctladdrの変更
-
”Tortoise SVN” と ”Subversio...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで#N/Aを含めた平均値...
-
MACアドレス 00:E0:C3 SAKAI って
-
循環参照にならない方法があっ...
-
ドメインに参加しようとするとD...
-
VBAで入力規則 エラーでも入れ...
-
アウトルックで送信時に「名前...
-
エクセル #N/Aを印刷時に表示...
-
ロイロノートのエラーについて ...
-
.NETでActiveXコントロールを使う
-
検索をかけた時、ページを開け...
-
ワイヤーボンディングのスパー...
-
「データーベースの分割ツール...
-
【QnapNAS】不良HDDと診断され...
-
マイナンバーカードを持ってい...
-
クライアントが切断されました。
-
Windows10 エラーメッセージ
-
エクセルVBA 関数エラー箇所を...
-
eclipse 3.5 でエラーが出ます。
-
アンドロイドスタジオ 構成が間...
-
機種変をしてSIMカードを入れ替...
おすすめ情報