アクセスの初心者です。ご指導よろしくお願いします。
フォームで条件に合うデータのみを抽出してフォームを開けたいと四苦八苦しています。
現在は汎用フォームを使い、パスIDとパスワードを入れて照合するとDoCmd.OpenForm "フォーム名", , , " [社員No] = 1" で[社員No]「1」のデータのみ抽出した別フォームが開くようになっています。
希望としては、照合した人が照合した人が持つ[社員No]のデータのみが開くようにしたいと考えています。
パス管理のテーブルは
ID、 社員No、社員名、パスID、パスワードになっています。
DoCmd.OpenForm "フォーム名", , , " [社員ID] = 1" の「=1」のところが[パスID][パスワード]と一致する社員Noに置き換える方法を教えてください。
わかりにくい質問で申し訳ないですが、よろしくお願いします。
No.1
- 回答日時:
DoCmd.OpenForm "フォーム名", , , "[パスID] = " & 入力されたパスID & " AND [パスワー
ド] = " & 入力されたパスワードNo.2
- 回答日時:
No.1です。
文字列ならば、シングル クォーテーションを入れた方が良かったかもです。
↓
DoCmd.OpenForm "フォーム名", , , "[パスID] = '" & 入力されたパスID & "' AND [パスワード] = '" & 入力されたパスワード & "' "
早速の回答ありがとうございました。
早速やってみましたが、ちょっと目的と違う結果になってしまいました・・・。私の伝え方がまずかったのと思いますのでもう一度お伝えします。
認証後に開けたいフォームは[パスID]と[パスワード]のフィールドがないフォームで、関連できるのは[社員No]だけです。
フォームを開ける前に汎用認証フォームでIDとパスワードを入れ、パス管理テーブルと認証させ、そのテーブル内のID、パスワードに関連する社員Noを抽出させてから開けたいフォームの社員Noにマッチさせたいのです。(うまく伝わりますでしょうか・・・)
No.3ベストアンサー
- 回答日時:
かなり昔にAccessをやっていただけなので、コードの書き方が昔風かもですが・・・
(以下のような理解で正しいでしょうか?)
[名称の定義]
パス管理のテーブル ・・・ T1
パスIDの入力(TextBox) ・・・ txtID
パスワードの入力(TextBox) ・・・ txtPass
[コード]
Dim objMyDB As Database
Dim objRecordset As Recordset
Set objMyDB = DBEngine(0)(0)
Set objRecordset = objMyDB.OpenRecordset("SELECT [社員No] FROM [T1] WHERE [パスID] = '" & Me![txtID].Value & "' AND [パスワード] = '" & Me![txtPass].Value & "' ", dbOpenForwardOnly, dbReadOnly, dbReadOnly)
If objRecordset.RecordCount = 0 Then
MsgBox ("IDとPASSが一致しない")
Exit Sub
End If
DoCmd.OpenForm "フォーム名", , , " [社員ID] = " & CStr(objRecordset.Fields(0).Value)
objRecordset.Close
Set objRecordset = Nothing
Set objMyDB = Nothing
すみません!ちょうどさきほど行き違いで回答(補足)してしまったところです。別途の画面で解決はできましたが、せっかく回答いただいたものは勉強の為、トライしてみます。ご親切に本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- その他(セキュリティ) これは個人情報取扱に違反していますか? 5 2022/11/15 22:02
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- その他(ソフトウェア) YahooのIDがロックされてしまいました 1 2022/11/25 19:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
Accessでフィルタの実行アクシ...
-
Access 2段階のクエリの作り方
-
ACCESSで、EXCELのような、sumi...
-
(続き)accessでの2段階クエリの...
-
パラメータ入力。
-
アクセスのフォームに連番を表...
-
AccessでIDを入力したら他の項...
-
Access サブフォームでの選択行...
-
未審査請求包袋抽出表作成とは...
-
ACCESS 複数のフォームから同一...
-
エクセルで、抽出したデータだ...
-
前のレコードの値を自動で入れたい
-
googleフォームでインストール...
-
ACCESSのクエリー抽出条件にIIF...
-
.flex-direction プロパティは...
-
Accessフォームが入力できません。
-
アクセス 同じフィールド(テキ...
-
「パラメータが少なすぎます。3...
-
サブフォームが見えなくなる。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
AccessでIDを入力したら他の項...
-
ACCESSで、EXCELのような、sumi...
-
Accessクエリの抽出条件にフォ...
-
クエリ実行結果0件の場合のフ...
-
ACCESS2003のグループ化のエラ...
-
クエリーの結果をフォームに表...
-
ACCESS フォームで抽出したデー...
-
サブフォームを利用したクエリ...
-
ACCESS2007 マクロ クエリのパ...
-
access クエリでIIF文で抽出条...
-
VarChar型をINT型に変換するには
-
ADOレコードセットのコピー
-
アクセスのフォームに連番を表...
-
ACCESSで、フォームで抽出した...
-
ACCESS クエリのデザインビュ...
-
Accessで月ごとのレポートを出...
-
Accessでフィルタの実行アクシ...
-
AccessのフォームをExcelに出力
-
フォームからクエリの抽出期間...
おすすめ情報