はじめまして、MCといいます
最近VBをはじめたのですが、Accessとのやり取りで
問題発生しまくりです。どなたか、以下の問題についてわかる方がいらっしゃったら
教えていただけないでしょうか?
以下のようなデータベースをAccessで作成しました。
データベース名 :Result.mdb
テーブル名 :02月
フィールド名 :ID、入力日、分類
ID(オートナンバ) 入力日(String) 分類(String)
1 2004/2/1 A
2 2004/2/3 B ←の行を一括削除したい
3 2004/2/5 A
4 2004/2/6 C
5 2004/2/10 D
このとき、VisualBasicでプログラムを組んでいるのですが、
上記のデータベースで入力日が"2004/2/3"の行(ID=2)を全て削除したいのですが
うまくいきません。"FROM"構文エラー…と言われます。
なにぶん、VBを使いはじめて、間もないので、専門用語もあまりわからないので
上記のような表記をしました、
どのような記述がいいのでしょうか?DAOなどを使うのでしょうか?
よろしくお願いします。
Access にどのように接続しているのかは分かりませんが、
delete from [02月]
where [入力日] = '2004/2/3'
を実行すれば良いのではないですか?
へいぽさんのおっしゃる通り
WHERE 文でできるんじゃないでしょうか?。
Access でデータベース変更時の FROM 句が使えないかもしれません。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200401/04010017.txt
VB より何より作成した SQL 文が Access で正常に動作するか、
直接 Access で試してみて下さい。
SQLを使用せずに行うにはこれで出来ると思います。
-------------------------------------------------------------
Dim r As System.Data.DataRow
Dim Clm As DataColumn = DataSet11.AddImage.Columns(0)
Dim IndexRow As Integer = DataGrid1.CurrentCell.RowNumber 'DataDrid上の選択セルのRowヘッダーナンバー
r = DataSet11.AddImage.Rows(IndexRow)
If Not r Is Nothing Then
DataSet11.AddImage.Rows(IndexRow).Delete() 'データ削除
OleDbDataAdapter1.Update(DataSet11) 'データ更新
DataSet11.AcceptChanges()
Else
MessageBox.Show("削除するレコードが見つかりません。")
Return
-------------------------------------------------------------
IndexRowを変更すれば希望通りのものになりませんかね?
DataSet11.AddImageはDataTable名
DataSet11はDataSet命です。