アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセス 2002 初心者です。
テーブルに入院患者.TBL と、退院患者.TBL があります。
入院患者.TBL の中に多数フィールドがあり、その中に フィールド「退院あり」 Yes/No 型があります。
本日終了時、yes のレコードだけ、退院患者.TBL に追加移動したいと思っています。
フオーム上で、コマンドボタンをクリックして、一発でやりたいのですが、マクロでの記述を教えてく
ださい。宜しくお願いします。

A 回答 (2件)

SQLも使わず、初等的にやってみました。


マンション.TBの「販売」フィールドでYES/NOのYES分
だけ、売却済マンション.TBにレコードを加えています。
テスト済み。ちょっとした色んな場面で使えると思います。2度実行しないようにしましょう。累積してしまいます。
Option Compare Database
Option Explicit
Sub test01()
Dim db As Database
Dim rs As Recordset
Dim ors As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("マンション", dbOpenDynaset)
Set ors = db.OpenRecordset("売却済マンション", dbOpenDynaset)
rs.MoveFirst
While Not rs.EOF
'------------
If rs!販売 = True Then
ors.AddNew
ors!マンション = rs!マンション
ors.Update
' MsgBox rs!マンション
End If
'-----------
rs.MoveNext
Wend
rs.Close
ors.Close
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。難しそうですが、チャレンジしてみます。まだやってみていませんが、完璧そうです。20点。プロですか?よく知っておられますね?感心します。今後ともよろしく。

お礼日時:2002/12/20 22:53

入院患者.TBLと退院患者.TBLが同じテーブルデザインである前提で話を進めます。


まず、入院患者.TBLを元に追加クエリーを作成します。
追加先は退院患者.TBLとし、抽出条件として「退院有り」フィールドがyes(true)のものとします。
次に削除クエリーを入院患者テーブルを元にして作成します。
抽出条件は最初の追加クエリーと同じで、削除フィールドは全フィールドとなります。
マクロに「追加クエリー」「削除クエリー」の順にクエリーを開くように登録すればOKです。
気を付けなければならいないのは、削除するとデータは完全に消えますので、くれぐれもクエリー起動の順番を間違えないことです。
本来であれば、移動データをバックアップしながらコピーするか、入院・退院でテーブルを分けるのではなく、単純に入退院サインというフィールドで度力を判断させる方が、スマートなような気がします。
    • good
    • 0
この回答へのお礼

早速の回答をありがとうございました。なるほど、そういう方法でやるのですか。初心者ですので、勉強になりました。これからもよろしくおねがいします。

お礼日時:2002/12/20 22:45

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