當前位置:成語大全網 - 書法字典 - vba用戶定義類型的access不定義錯誤提示。

vba用戶定義類型的access不定義錯誤提示。

發布的代碼存在許多問題(包括不正確的屬性和代碼邏輯及其順序)。用ADO檢索數據表真的很麻煩。事實上,使用Dlookup函數檢查用戶名和密碼要容易得多。

根據貼出代碼的初衷和思路,建議修改和調整如下:

很抱歉之前的代碼中出現了筆誤,現在已經更正。如果操作中有任何問題,請詢問。

私有Sub登錄_Click()

首先聲明ADO對象等變量

Dim conn作為新的ADODB。關系

Dim rs As ADODB。記錄集

將用戶名顯示為字符串

將用戶通行證顯示為字符串

Dim RecordLogInData As Boolean該變量用於判斷是否記錄登錄信息。

Set conn = CurrentProject。關系

Set rs = New ADODB。記錄集

首先判斷兩個文本框是否為空。

如果is null(me . txt _ username . value),則

MsgBox“用戶名不能為空,請重新輸入!”,vbo only+VB information,“提示信息“

Me.txt_用戶名。setfocus

出口接頭

else if is null(me . txt _ password . value)然後

MsgBox“密碼不能為空,請重新輸入,vbo only+VB information,“提示信息“

Me.txt_ password.setfocus

出口接頭

如果…就會結束

打開“管理用戶”數據表。

盧比打開“管理用戶”,conn的管理用戶是管理員的用戶名和密碼數據表。

“TEXT”屬性只能在文本框有焦點時使用。

在大多數情況下,應該使用Value屬性而不是TEXT屬性來引用文本框的內容。

Username = txt _ username註意不要使用TEXT屬性,否則會出現錯誤(此處使用默認屬性值)。

Userpass = txt _ password註意同上。

循環判斷用戶名和密碼是否正確,並註意逐壹記錄比較結果。

最初的post代碼沒有考慮這個問題,只有當管理用戶表恰好只有壹條記錄時,它才能正確運行。

如果rs。記錄集。RecordCount & gt那就0

直到rs。電滲流

如果rs!用戶名=用戶名和rs!密碼=用戶密碼

“RecordLogInData =True”用戶名和密碼正確,則徽標可以記錄登錄信息。

Exit Do此時沒有必要繼續,跳出循環以節省系統開銷。

* * * *在rs之前被省略。“下壹步”***

其他

MsgBox“管理用戶表中沒有用戶信息!”,vbo only+VB information,“提示信息“

出口接頭

如果…就會結束

將登錄信息寫入管理員登錄記錄數據表。

rs。關閉

如果RecordLogInData =True,則

盧比打開“管理員登錄記錄”,conn,adopen dynamic,adlockoptimal。

rs。添加新內容

rs!用戶名=用戶名

rs!登錄時間=現在()

現在註銷時間不確定,暫時不用記錄。

rs。更新

rs。關閉

DoCmd。關閉

DoCmd。開放式“機器材料管理系統”

其他

MsgBox“管理員用戶或密碼錯誤!”,vbo only+VB information,“提示信息“

Me.txt_ password.setfocus

出口接頭

如果…就會結束

末端接頭