今まで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
No.1ベストアンサー
- 回答日時:
更新クエリで、
合格クエリ
UPDATE テスト表 SET 合否='合格' WHERE 成績>=80;
不合格クエリ
UPDATE テスト表 SET 合否='不合格' WHERE 成績<80;
とすればいいと思います。
これだけでもいいけど、あとは、マクロで、このクエリを呼び出せばいいと思う。
答えになってなかったらすみません
回答どうも有り難うございます。
想定していた回答とは違いましたが(^_^;)
回答して頂いた方法で今回は解決できそうですね。
また今後何かありましたらその際はよろしくお願い致しますm(_ _)m
No.2
- 回答日時:
#1の回答で良いと思いますが、それ以前に折角データベースを使用するのであれば「データベース的思考法」を身に着けられることをお薦めします。
まず「合否」フィールドの型は文字型ではなく、Yes/No型に。するとクエリの該当部分は
合否=Yes
に(合否="Yes"ではない)
さらにいえばデータベースでは「計算で得られる値は保持しない」という(規則ではないが)一般的方針があります。もちろんこれはそれほどきついものではなくケースバイケースで運用しますが。
ともかくアクセスの入門書を立ち読みでも良いからひもとかれると良いでしょう。#1のご回答も、文字で表現するにはあのようにしか出来ませんが、アクセスの世界では視覚的に判り易い「クエリ」を使用して簡単に操作できます。
それでは折角マスターしたVBAは役に立たないのか?そのようなことはありません。クエリでは処理できないような複雑な判定やその他動作はVBAで記述することになります。しかしそれまでは「アクセスの特性」を活用して楽をしましょう
回答どうも有り難うございます。
やはりExcelとAccessでは考え方が大分違うと言うことですね。
しばらくはAccessの理解に励みたいと思います。
また今後何かありましたらその際はよろしくお願い致しますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) vba シートコピーの不具合 1 2022/06/25 17:48
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです教えてくださいお願いし...
-
ACCESS クエリで重複データを最...
-
ACCESSでクエリを作成したら「...
-
ACCESSにてフィールド間の最小...
-
追加先の発見方法(SQL以外)
-
クエリで「データ型が一致しま...
-
アクセスでフォームが更新でき...
-
access:連続データ入力
-
Access VBAでパラメータクエリ...
-
access・カウント結果がゼロで...
-
Access あるクエリを利用して...
-
ACCESS クエリー 抽出条件が...
-
「データベースまたはオブジェ...
-
月別の利用者実人員の集計方法
-
SqlServer2012 ビューとクエリ
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
ACCESSのフォームからデータの...
-
「メソッドまたはデータメンバ...
-
Accessを使って日付を比較したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
ACCESSでクエリを作成したら「...
-
ACCESS クエリで、グループ化...
-
access・カウント結果がゼロで...
-
「データベースまたはオブジェ...
-
クエリで「データ型が一致しま...
-
ACCESS クエリー 抽出条件が...
-
ACCESSで2つのテーブル比較で...
-
accessで選択クエリで得た全レ...
-
ACCESSにてフィールド間の最小...
-
access:連続データ入力
-
追加先の発見方法(SQL以外)
-
アクセスのスナップショット
-
ACCESS のクエリー実行に異常に...
-
ユニオンクエリについて
-
SQLで優先順位が高いレコードを...
-
Access あるクエリを利用して...
-
Accessで「クエリーが複雑すぎ...
-
Accessのフィルタ検索でデータ...
-
月別の利用者実人員の集計方法
おすすめ情報