半角のカッコを使ってテーブル名を名付けてしまったの
半角のカッコを使ってテーブル名を名付けてしまったのですがADOでエラーになります。
試しに、
半角()
全角()
と言うテーブルを作成して、
Sub test()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source= " & CurrentProject.FullName
rs.Open "全角()", cn, adOpenKeyset, adLockOptimistic
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
としたら、全角()の場合は問題なく動きました。
しかし、
rs.Open "半角()", cn, adOpenKeyset, adLockOptimistic
にした場合は
---------------------------------------------------------------------
実行時エラー'-2147217900(80040e14)':
SQLステートマントが正しくありません。'DELET','INSERT','PROCEDURE','SELECT',
または'UPDATE'を使用してください。
---------------------------------------------------------------------
となります。
実はたくさんのテーブル名とクエリ名に半角カッコを使ってしまって、
治す方が手間がかかるので、ADOで半角カッコを使えるのなら使いたいのです。
オブジェクト名でも使用できる方法・読み取れる方法が知りたいのですが、ご存知でしょうか?
補足
ご回答頂き、有難うございます。 早速参考にさせて頂き、下記コードを書き込んだのですが、 エラーで「抽出条件が違っています」と出てしまうのですが、 どこが間違っているのでしょうか? 情報少なく申し訳ありませんが、宜しくお願い致します。 rs.Open "ZAIKO", cn, adOpenKeyset, adLockOptimistic rs!売日 = DLookup("[DATE]", "納品書", "商品番号 =" & Forms!frm納品書!txt商品番号 & "") rs.Update rs.Close また、今後の勉強のために参考になる良い書籍をご紹介頂けますでしょうか? 宜しくお願い致します。