- ベストアンサー
Access2000でのExcel行の削除法
Access2000でPC貸し出しの受付けシステムを開発中ですが、テーブルにリンクされたエクセルのシートがあります。 ある座席番号を入力して貸し出し中であれば貸し出した時に入力したレコードがテーブルから削除されるようになっているんですが、リンクテーブルのためAccessでレコードを削除できないと判明しました。そこでAccessからExcelのレコード(行)を削除するにはどのようなコードになるか教えていただけませんでしょうか? 説明が不十分なら補足をお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
補足に示されたコードでは、「リンクテーブルのためAccessでレコードを削除できない」と言うことでの質問ではないかと思います。 ひとつの方法ですが、ここでは削除するレコードに別に設けたフィールドに印を付ける だけにする(必要により全フィールドをNullにしてもいい)とか、または別に削除用の テーブルを作るとかしてフォーム(リンクテーブル)を閉じてから、それを基に先の方法で Excelの該当行を一括削除するという方法は、如何でしょうか。
その他の回答 (1)
- ja7awu
- ベストアンサー率62% (292/464)
リンクされているExcelシート名が、C:\Book1.xlsのSheet1で 3行目を削除するとします。 実行する前に一旦、このリンクテーブルを閉じる必要があります。 Sub test() Dim XL As Object Set XL = GetObject("C:\Book1.xls") XL.Application.Windows(1).Visible = True XL.Application.ActiveWorkbook.Sheets("Sheet1").Rows(3).Delete XL.Save XL.Close Set XL = Nothing End Sub
補足
ありがとうございます。 現在は座席コードが一致したものをテーブルから削除しているのですが、これをエクセルとリンクさせてエクセルの一致した行を削除することはできますか? '返却されたレコードの削除 Dim SQL As String SQL = "delete * from sogo " & _ "where 座席コード='" & Me.座席コード & "';" DoCmd.SetWarnings False DoCmd.RunSQL SQL DoCmd.SetWarnings True
お礼
どうもありがとうございました
補足
ありがとうございます。 ご指摘のあったようにレコードを削除できないのとコードの内容とは違いますが、テーブルにある座席コードと一致したExcelの値のある行を削除するにはどのようなコードになるか教えていただけたら幸いです。 それか別の方法で何かいい案があればお願いします。