まず、LoginF という名前のフォームから始めます。ログインIDとパスワードを選択したら、ログインすると、選択したログイン ID のテーブル LoginIntoT からデータが取得され、次のコードを使用してそのデータでクエリが作成されます。
On Error Resume Next
DoCmd.DeleteObject acQuery, "IsAdminQ"
On Error GoTo Err_LoginBtn_Click
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.CreateQueryDef("IsAdminQ", _
"SELECT IsAdmin " & _
"FROM LoginInfoT " & _
"WHERE EmployeeID = " & LoginCmBx.Value)
Exit_LoginBtn_Click:
DoCmd.Close acForm, "LoginF", acSaveNo
DoCmd.OpenForm "MenuF"
Exit Sub
Err_LoginBtn_Click:
MsgBox Err.Description
Resume Exit_LoginBtn_Click
ログイン後のそのクエリでは、そこから 1 列と 1 行しかありません。1つのデータを意味します。このデータは、ログインしたユーザーに応じて「はい」または「いいえ」の「はい」または「いいえ」のフィールドです。
ログインボタンをクリックした後に開くフォームには、ログアウトボタンがあります。ログアウト ボタンをクリックすると、前のログイン フォームに戻り、クエリ (IsAdminQ) が削除されます。
私がやろうとしているのは、フォームに yes/no ボタンを付けてそのデータを取得し、クエリで yes または no の場合に出力することです。
これをコントロールソースに入れてみました:
=[IsAdminQ].[IsAdmin]
それが行うことは、チェックマークまたは空の代わりに塗りつぶされた四角形として出力することです。トリプルステートを no に設定しています。
チェックボックスをクエリに添付して、データが「はい」の場合はチェックマークになり、「いいえ」の場合は空のボックスになるようにするにはどうすればよいですか?