[リストへもどる]
一括表示

投稿時間:2004/06/17(Thu) 20:28
投稿者名:まんたろー
URL :
タイトル:
ADO:SQL実行時のエラー
こんにちは。
ADOって物を使って、MDBの中にあるテーブルのレコードを削除しようってことをやろうとしてます。
ADOをつかうのは初めてで....(DB自体もほとんどはじめて)
困っていることがあるんです。
一番下に書いたようなコードでの中で、
mySql = "DELETE  FROM  " & myAdoTbl.Name & ";"
のところが問題です。
myAdoTbl.Name が"Usage"ですとエラーになるんです。
メッセージは「From句の構文エラーです。」です。

どうも、Table名に依存しているようで...
こんなことって有るんですかね?
Usageってのは何かの予約語にでもなっているんですか?
どなたかご存知の方教えてください。
よろしくお願いします。

Sub deleteOldRs()
    
    Dim cn As New ADODB.Connection
    Dim existTbl As String
    Dim myTbls As ADOX.Tables
    Dim myAdoTbl As New ADOX.Table
    Dim mySql As String
    Set expCat = New ADOX.Catalog
    expCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MDBfile      
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MDBfile
    cn.Open
  
    Dim tmpRS As New ADODB.Recordset
    Set myTbls = expCat.Tables  
    Set myTblCol = New Collection
    For i = 0 To myTbls.Count - 1
        Err.Clear
        
        Set myAdoTbl = myTbls.Item(i)
        If myAdoTbl.Type = "TABLE" Then
            mySql = "DELETE  FROM  " & myAdoTbl.Name & ";"
            Set tmpRS = cn.Execute(mySql)
        End If
    Next i


End Sub

投稿時間:2004/06/18(Fri) 08:29
投稿者名:dai
Eメール:dee_bassist@hotmail.com
URL :http://homepage2.nifty.com/Dee/
タイトル:
Re: ADO:SQL実行時のエラー
> どうも、Table名に依存しているようで...
> こんなことって有るんですかね?
> Usageってのは何かの予約語にでもなっているんですか?

少なくともSQL92の予約語です。
紛らわしいので推奨はできかねますが、
DELETE FROM [USAGE] とカッコ付きで書いてあげれば通ると思われます。