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 SubPrivate Sub Form_Load() Adodc1.RecordSource = "select * from li13241214" Adodc1.RefreshText1.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
首先在窗体的通用部分声明二个变量与一个动态数组 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 对不起,有事要出去,一会再给你其他代码。
下一条的代码,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 下面是界面: 你修改为你的数据库,修改一下字段名称就可以了。
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 SubPrivate Sub Form_Load()
Adodc1.RecordSource = "select * from li13241214"
Adodc1.RefreshText1.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
因为上传不了图片,没办法,求大神解答,谢谢、。
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
对不起,有事要出去,一会再给你其他代码。
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
下面是界面: 你修改为你的数据库,修改一下字段名称就可以了。