※ ChatGPTを利用し、要約された質問です(原文:VB でExcelファイルの行を削除したのですが?)
VBでExcelファイルの行削除方法
このQ&Aのポイント
VBでExcelファイルの行を削除する方法について教えてください。
現在、VBを使用してExcelファイルのデータベース操作を行っていますが、DELETE文で行を削除する際にエラーが発生しています。
DELETE文で「ISAMではリンクテーブル内のデータを削除することは出来ません」というエラーが表示され、行の削除ができない状況です。解決方法を教えてください。
VB でExcelファイルの行を削除したのですが?
VB歴はまだ浅く素人レベルではございますがよろしくお願いします。ご質問内容も不鮮明な点もあるかもしれませんがご指導お願い致します。
SQL Server & VB2008EEを使用しております。
身近なExcelファイルをデータベースもどきで使用できないかと思いまして、今挑戦しています。
現在、読み込み、ソート、UPDATEなどのクエリも順調に動作しました。
しかし、DELETEで
「ISAMではリンクテーブル内のデータを削除することは出来ません」
というエラーが出てしまい困っております。
UPDATE [会社$] SET 氏名='' などで空白には出来るのですが行が残ります。行削除が出来ると理想なのですが..
よろしくお願いいたします。
【参考ソースコード】*************************************
Dim row As Integer
Dim name As String
'データグリッドビューの行番号を取得する
row = DataGridView1.CurrentRow.Index
'行番号から社員名を取得する
name = DataGridView1.Item(0, row).Value.ToString()
'コネクションを指定する
cn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.jet.OLEDB.4.0; " & _
"Data Source=C:\DATA\TEST.xls; " & _
"Extended Properties=Excel 8.0")
'Excelブックの接続
cn.Open()
com = New OleDb.OleDbCommand("DELETE FROM [会社$] WHERE 氏名='" & name & "'", cn)
com.ExecuteNonQuery()
'コネクションを閉じる
cn.Close()
'正常終了のメッセージ
MsgBox("1件の社員データを削除しました")
'データグリッドビューの再表示
DataLode()
*****************************************************
お礼
ご回答を頂、ありがとうございます。 私も色々調べてみたのですが、削除項目ではヒットしませんでした。 参考URLのご紹介をいただき、ありがとうございます。 とてもわかりやすいサイトでした。 おっしゃるとうり出来ないのかもしれませんね。 何か方法があるかもう一度調査してみます。