回答編集履歴
1
コード例追記
test
CHANGED
@@ -2,3 +2,35 @@
|
|
2
2
|
実行時バインディングに変更してから配布すべきです。
|
3
3
|
|
4
4
|
[事前バインディングと実行時バインディングの違い](https://sunafukin.jp/?p=662)
|
5
|
+
|
6
|
+
|
7
|
+
---
|
8
|
+
環境によるバージョン違い等の影響を受けるADODBの代わりにDLookup関数を使う方法に書き換えるコード例です。
|
9
|
+
|
10
|
+
```vba
|
11
|
+
'ボタンを押した際のイベント
|
12
|
+
Private Sub btnログイン_Click()
|
13
|
+
Dim str社員コード As String
|
14
|
+
Dim strパスワード As String
|
15
|
+
Dim var権限区分 As Variant
|
16
|
+
str社員コード = Me.txt社員コード
|
17
|
+
strパスワード = Me.txtパスワード
|
18
|
+
var権限区分 = DLookup("権限区分", "パスワードリスト", "社員コード='" & str社員コード & "' AND パスワード='" & strパスワード & "'")
|
19
|
+
|
20
|
+
If IsNull(var権限区分) Then
|
21
|
+
MsgBox "データは存在しません"
|
22
|
+
Else
|
23
|
+
MsgBox "ようこそ"
|
24
|
+
'メニューを開く
|
25
|
+
DoCmd.OpenForm "メインメニュー"
|
26
|
+
'権限を確認して「環境設定ボタン」を制御する
|
27
|
+
If var権限区分 = 9 Then '0:一般ユーザー 9:管理者
|
28
|
+
Forms.メインメニュー.btn設定.Enabled = True
|
29
|
+
Else
|
30
|
+
Forms.メインメニュー.btn設定.Enabled = False
|
31
|
+
End If
|
32
|
+
'この画面を閉じる
|
33
|
+
DoCmd.Close acForm, Me.Name
|
34
|
+
End If
|
35
|
+
End Sub
|
36
|
+
```
|