- ベストアンサー
SQL DELETE FROM 削除できない
- 「DELETE FORM」で「全レコード削除」を試みたが反応せず。
- 「WHERE句」も試したが無反応。
- 「TRUNCATE UER01」も無反応。対処法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
win7でAccess97が使用できるのか確認はしていません。 その上で、質問の、「With DATA」の「DATA」が何をさしているのか わかりませんが、一般的なVB6とAc97での方法を書いてみますと、 質問のデータベース名、テーブル名を使用すると、 Private Sub Command1_Click() Dim strPath As String Dim strSQL As String Dim db As DAO.Database Dim ws As Workspace strPath = "E:\U SS VB\IK NY DATA\SV_TL.mdb" strSQL = "DELETE * FROM UER01" Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(strPath) db.Execute strSQL db.Close: Set db = Nothing ws.Close: Set ws = Nothing End Sub のようになります。ここで、テーブルのデータをすべて 削除する場合は、「DELETE * FROM UER01」のように 普通は明示的に「*」を使用します。そして、このSQL文をdb.Executeを使って データベースに対して実行します。 なお、この場合はDAOを使用しています。ADO接続の場合は接続方法を 変更してください。DAOの参照設定をプロジェクトで確認してください。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
No1です。 以下の一文を加えておきます。 何かのオブジェクトのRecordSourceを設定する場合は SQL文で取得するならばSELECT文を使用します。 質問の中の、 .RecordSource = "DELETE FROM UER01" このような構文はありえないので、レコードを削除 するときは、Executeコマンドを使ってレコードを 削除するなりの処理が必要になります。
トランザクション処理をしているのに、コミットを実行していないとか。 http://www.happy2-island.com/access/gogo03/capter00419.shtml もしくは、接続先のデータベースが間違っているとか。
お礼
早速、御回答感謝します。 恐れ入りますが、トランザクションなどのレベルのものでもない、高度なモノでもありません。素人発想でのモノ作りでした。