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

今までExcelを使用していてVBAも段々と理解してきたのですが
今回Accessを使用することになって詰まってしまいました。
下のようなExcelのマクロ(VBA)があるのですが、
これをAccessでも同じように動かしたいのですがわかりません(汗)
-----------------------------------------------
Sub テスト()
Dim GYO As Long
GYO = 1
Do Until Worksheets("テスト").Cells(GYO, 1).Value = ""
If Worksheets("テスト").Cells(GYO, 1).Value >= 80 Then
Worksheets("テスト").Cells(GYO, 2).Value = "合格"
Else
Worksheets("テスト").Cells(GYO, 2).Value = "不合格"
End If
GYO = GYO + 1
Loop
End Sub
-----------------------------------------------
これでAccessのレコード一つ一つの合否を入力する欄に
自動で入力されるようにしたいのですが、
Accessでの記述方法がよくわからないのです。(^_^;)
お詳しい方、よろしくお願いしますm(_ _)m

A 回答 (2件)

更新クエリで、


合格クエリ
UPDATE テスト表 SET 合否='合格' WHERE 成績>=80;
不合格クエリ
UPDATE テスト表 SET 合否='不合格' WHERE 成績<80;
とすればいいと思います。

これだけでもいいけど、あとは、マクロで、このクエリを呼び出せばいいと思う。
答えになってなかったらすみません
    • good
    • 0
この回答へのお礼

回答どうも有り難うございます。
想定していた回答とは違いましたが(^_^;)
回答して頂いた方法で今回は解決できそうですね。
また今後何かありましたらその際はよろしくお願い致しますm(_ _)m

お礼日時:2005/01/09 18:10

#1の回答で良いと思いますが、それ以前に折角データベースを使用するのであれば「データベース的思考法」を身に着けられることをお薦めします。


まず「合否」フィールドの型は文字型ではなく、Yes/No型に。するとクエリの該当部分は
合否=Yes
に(合否="Yes"ではない)
さらにいえばデータベースでは「計算で得られる値は保持しない」という(規則ではないが)一般的方針があります。もちろんこれはそれほどきついものではなくケースバイケースで運用しますが。

ともかくアクセスの入門書を立ち読みでも良いからひもとかれると良いでしょう。#1のご回答も、文字で表現するにはあのようにしか出来ませんが、アクセスの世界では視覚的に判り易い「クエリ」を使用して簡単に操作できます。

それでは折角マスターしたVBAは役に立たないのか?そのようなことはありません。クエリでは処理できないような複雑な判定やその他動作はVBAで記述することになります。しかしそれまでは「アクセスの特性」を活用して楽をしましょう
    • good
    • 0
この回答へのお礼

回答どうも有り難うございます。
やはりExcelとAccessでは考え方が大分違うと言うことですね。
しばらくはAccessの理解に励みたいと思います。
また今後何かありましたらその際はよろしくお願い致しますm(_ _)m

お礼日時:2005/01/09 18:10

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