OpenFormがアプリケーションに再現されました。デコンパイル/コンパクト化して2回修復しました。OpenFormが取り消されたエラーが再発しました
エラーを投げるコード: 「オープンメニューフォーム DoCmd.OpenForm "メニュー"、acNormal、、、、acWindowNormal
私は、このエラーが発生しました初めて、私は変更することで、それを解決:
DoCmd.OpenForm "Menu", acNormal, "", "", , acNormal
:
これは例外を受け、私の手順です
DoCmd.OpenForm "Menu", acNormal, , , , acWindowNormal.
へ
Private Sub Login(recordSet As DAO.recordSet, PERSAL As String, Password As String)
On Error GoTo Login_ErrHandler
'Check to see if the recordset actually contains rows
If Not (recordSet.EOF And recordSet.BOF) Then
recordSet.MoveFirst 'Unnecessary in this case, but still a good habit
'See if credentials match data
Do
If (recordSet!User_ID = PERSAL And recordSet!Password = Password) Then
'Open Menu form
DoCmd.OpenForm "Menu"
' Form_Menu.op
recordSet.Close 'Close the recordset
Set recordSet = Nothing 'Clean up
'Close Login form
DoCmd.Close acForm, "Login"
Exit Do
End If
recordSet.MoveNext
If (recordSet.EOF Or recordSet.BOF) Then
MsgBox "Your credentials are incorrect or you are not registered."
Exit Do
End If
Loop
'Match the values entered for PERSAL nr. and password fields with a row in User table
Else
MsgBox "There are no records in the recordset."
recordSet.Close 'Close the recordset
Set recordSet = Nothing 'Clean up
End If
Form_Login.txtUser_ID.SetFocus
Login_ErrHandler:
If Err = 2501 Then
'MsgBox "No data to display"
DoCmd.Hourglass False
Resume Login_ErrHandler
' Else
' MsgBox Err.Description, vbCritical
End If
End Sub
今回はこのエラーを修正しますか?
質問は何ですか? –
テーブル行の値を1つチェックするためにループは必要ありません。 * Menu *には 'OnOpen'または' OnLoad'イベントがありますか?その再コードソースも確認してください。 – Parfait
レコードセットオブジェクトを渡す理由代わりにDLookup()を使用すると思います。 – June7