如圖所示,要求是TEXT沒有連接部件,而是單獨由一個adodc1的部件來控制整個系統,SQL里面的表名稱是li13241214。
uj5u.com熱心網友回復:
Private Sub Command1_Click() '上一條
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
MsgBox "已到第一條!", vbOKOnly
End If
End Sub
Private Sub Command2_Click() '下一條
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.AddNew
End If
If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 And Len(Text1.Text) = 0 Then
Command1.Enabled = False
Command2.Enabled = False
End If
Text1.SetFocus
End Sub
Private Sub Command3_Click() '新增
Adodc1.RecordSource = "select * from li13241214"
Adodc1.Refresh
End Sub
Private Sub Command4_Click() '洗掉
SendKeys vbKeyDelete
End Sub
Private Sub Command5_Click() ' 保存
If Len(Text1.Text) = 0 Then
MsgBox "代碼不能為空!", vbOKOnly
Else
Adodc1.Recordset.Update
Command1.Enabled = True
Command2.Enabled = True
et.Update
x = 0
End Sub
Private Sub Command6_Click() ' 退出
Adodc1.Recordset.CancelUpdate
Unload Me
End Sub
Private Sub Form_Load()
Adodc1.RecordSource = "select * from li13241214"
Adodc1.Refresh
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
If Adodc1.Recordset.RecordCount > 0 Then
Text1.Text = Adodc1.Recordset.Fields("代碼")
Text2.Text = Adodc1.Recordset.Fields("站名")
Text3.Text = Adodc1.Recordset.Fields("里程")
Text4.Text = Adodc1.Recordset.Fields("備注")
End If
x = 0
End Sub
uj5u.com熱心網友回復:
有六個command,1-6分別是上一條、下一條、新增、洗掉、保存、退出。因為上傳不了圖片,沒辦法,求大神解答,謝謝、。
uj5u.com熱心網友回復:
首先在表單的通用部分宣告二個變數與一個動態陣列Dim KK As Long, SID() As Long, XX As Integer
在表單啟動事件中對變數XX與陣列SID賦值
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\資訊表.mdb;Persist Security Info=False"
Adodc1.RecordSource = "Select * From 長途車資訊"
Adodc1.Refresh
XX = Adodc1.Recordset.RecordCount '得到資料表的總記錄
ReDim SID(1 To XX) '為陣列設定下標
Do While Not Adodc1.Recordset.EOF
I = I + 1
SID(I) = Adodc1.Recordset.Fields("ID") '給陣列SID賦值,是所有記錄的ID,ID欄位是自動編號欄位
Adodc1.Recordset.MoveNext
Loop
KK = 1 '給變數KK初值
End Sub
對不起,有事要出去,一會再給你其他代碼。
uj5u.com熱心網友回復:
下一條的代碼,KK是檢測記錄的變數,SID(KK) 是該記錄的ID,只有檢測到具體記錄,才能顯示出來。上一條與下一潭訓本一樣,無非是 KK = KK - 1 而已。Private Sub Command2_Click()
'下一條
KK = KK + 1
If KK > XX Then KK = XX: MsgBox "已經是最后一條了!"
Adodc1.RecordSource = "Select * From 長途車資訊 Where ID=" & SID(KK) & ""
'SID(KK) 是得到記錄的ID號,這樣才能查詢到這個記錄
Adodc1.Refresh
Text1.Text = Adodc1.Recordset.Fields("編號")
Text2.Text = Adodc1.Recordset.Fields("站名")
Text3.Text = Adodc1.Recordset.Fields("里程")
Text4.Text = Adodc1.Recordset.Fields("備注")
End Sub
新增記錄的代碼如下,修改記錄與新增基本一樣,無非SQL陳述句不同,應該是 Where ID=" & SID(KK) & " ,因為修改的是需要修改的記錄。
Private Sub Command3_Click()
'新增
If MsgBox("你確實要新增一條資訊嗎?", 33, "新增確認!") = 1 Then
If Text1.Text = "" Then
MsgBox "你沒有輸入編號,請輸入!"
Exit Sub
End If
If Text2.Text = "" Then
MsgBox "你沒有輸入站名,請輸入!"
Exit Sub
End If
If Text3.Text = "" Then
MsgBox "你沒有輸入里程,請輸入!"
Exit Sub
End If
If Text4.Text = "" Then
MsgBox "你沒有輸入備注,請輸入!"
Exit Sub
End If
Adodc1.RecordSource = "Select * From 長途車資訊 Where 編號='" & Text1.Text & "' or 站名='" & Text2.Text & "' "
Adodc1.Refresh
If Adodc1.Recordset.EOF = True Then '如果 Adodc1.Recordset.EOF = True,說明編號與站名相同的記錄不存在,可以新增。
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("編號") = Text1.Text
Adodc1.Recordset.Fields("站名") = Text2.Text
Adodc1.Recordset.Fields("里程") = Text3.Text
Adodc1.Recordset.Fields("備注") = Text4.Text
Adodc1.Recordset.Update
MsgBox "祝賀你!一條資訊成功添加!"
Unload Me
Form1.Show
Else '如果 Adodc1.Recordset.EOF = False,說明編號與站名相同的記錄存在,不能新增。
MsgBox "對不起!這條資訊已經存在,不能再次添加!"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = "" '將文本框清空,以便再次添加
End If
End If
End Sub
最后是洗掉記錄,洗掉記錄的SQL陳述句與修改記錄系統的
Private Sub Command4_Click()
'洗掉
If MsgBox("你確實要洗掉這條資訊嗎?", 33, "洗掉確認!") = 1 Then
Adodc1.RecordSource = "Select * From 長途車資訊 Where ID=" & SID(KK) & ""
Adodc1.Refresh
Adodc1.Recordset.Delete
MsgBox "祝賀你!這條資訊成功洗掉!"
Unload Me
Form1.Show
End If
End Sub
下面是界面:
你修改為你的資料庫,修改一下欄位名稱就可以了。
uj5u.com熱心網友回復:
第一次發現有這么好的一個中文網站。 樓上的解答對我也有用 贊一個轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/76801.html
標籤:控件
