小弟想實作一個視窗,剛開始根據資料庫的true or false去控制一個label顯示“激活”,“失效”,
然后點next實作下一個資料的顯示。。。
今天研究了一下午,發現是在表單load的時候recordset.fields過東西了導致recordset.movenext無法使用,報錯代碼如截圖,代碼如下,求解決

Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
Label_Time.Caption = "Current time: " & Now
'顯示當前時間
Label_NT.Caption = "Login NT: " & Form_Login.Text_NT.Text
Label_User.Caption = "Login User: " & Form_Login.Adodc1.Recordset.Fields("UserName")
'根據登陸界面顯示登錄帳戶和姓名
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Userlog.mdb;Jet OLEDB:Database Password=123;Everyone,123"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select*from PCBA_Basic_Information"
Adodc1.Refresh
If Adodc1.Recordset.Fields("Status") = true Then
Label_Status.Caption = "激活"
Else
Label_Status.Caption = "失效"
End If
End Sub
Private Sub Com_Next_Click()
With Adodc1.Recordset
.MoveNext
If .EOF Then
.MoveLast
MsgBox "已經到最后了", , "注意"
End If
End With
End Sub
uj5u.com熱心網友回復:
試試把代碼放在 Form_Activate()事件里面,不要放在Form_Load()uj5u.com熱心網友回復:
不行阿,兄弟,還是一樣的報錯,。。代碼是一樣的,我感覺應該是recordset.fileds后把值指向了我要查詢的那一列,然后.recordset.movenext才沒辦法運行的。。。。,我覺得是需要個什么句子,讓把recordset變到指向資料行。。。。uj5u.com熱心網友回復:
不行阿,兄弟,還是一樣的報錯,。。代碼是一樣的,我感覺應該是recordset.fileds后把值指向了我要查詢的那一列,然后.recordset.movenext才沒辦法運行的。。。。,我覺得是需要個什么句子,讓把recordset變到指向資料行。。。。
uj5u.com熱心網友回復:
把源程式貼上來看看吧!uj5u.com熱心網友回復:
貼了呀,老哥,文章里有呀,問題我解決了。就是不知道為啥出錯
我先用label_status的屬性表系結資料,發現紅色區域的(.fileds)在load后,執行command進行.movenext時沖突了,如果我把紅色區域刪掉,發.movenext就可以用了。
后來我取消了屬性表label_status的資料系結,改成了代碼系結,即label_status.caption = adodc1.recordset.fields("Status")再做判定就可以了。。。
就是不知道為啥不能從控制元件的屬性表系結資料+代碼實作。。。。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/13533.html
