プロが教える店舗&オフィスのセキュリティ対策術

Access2000でPC貸し出しの受付けシステムを開発中ですが、テーブルにリンクされたエクセルのシートがあります。
ある座席番号を入力して貸し出し中であれば貸し出した時に入力したレコードがテーブルから削除されるようになっているんですが、リンクテーブルのためAccessでレコードを削除できないと判明しました。そこでAccessからExcelのレコード(行)を削除するにはどのようなコードになるか教えていただけませんでしょうか?
説明が不十分なら補足をお願いします。

A 回答 (2件)

補足に示されたコードでは、「リンクテーブルのためAccessでレコードを削除できない」と言うことでの質問ではないかと思います。



ひとつの方法ですが、ここでは削除するレコードに別に設けたフィールドに印を付ける
だけにする(必要により全フィールドをNullにしてもいい)とか、または別に削除用の
テーブルを作るとかしてフォーム(リンクテーブル)を閉じてから、それを基に先の方法で
Excelの該当行を一括削除するという方法は、如何でしょうか。

この回答への補足

ありがとうございます。
ご指摘のあったようにレコードを削除できないのとコードの内容とは違いますが、テーブルにある座席コードと一致したExcelの値のある行を削除するにはどのようなコードになるか教えていただけたら幸いです。
それか別の方法で何かいい案があればお願いします。

補足日時:2002/12/11 13:14
    • good
    • 0
この回答へのお礼

どうもありがとうございました

お礼日時:2003/01/14 09:28

リンクされている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

補足日時:2002/12/10 15:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A