VB ADO与ACCESS数据库的链接,实现删除,添加,编辑..高分!!!

要求:关于一个通讯录的管理程序,要求实现用ADO与ACCESS的连接,程序主界面上的几个按钮分别实现添加数据,删除数据,编辑数据,最好还能利用COMBO实现查找功能......好的我追加!!!!在线!!!QQ:736662838

你参考一下,应该对你有用

Dim cn As New ADODB.Connection

Dim rs1 As New ADODB.Recordset, rs2 As New ADODB.Recordset

Dim rs As New ADODB.Recordset

Private Sub Cmdadd_Click(Index As Integer)

    Text1(0).Enabled = True

    Text1(0).SetFocus

    Data1.Recordset.AddNew    '数据库新增命令

    cmdfirst(0).Enabled = False   '设定各个控件的可用属性

    cmdpre(1).Enabled = False

    cmdnext(2).Enabled = False

    cmdlast(3).Enabled = False

    Cmdadd(0).Enabled = False

    cmddelete.Enabled = False

    cmdsave(5).Enabled = True

    cmdmend(4).Enabled = False

    Text1(6).Text = Data

End Sub

Private Sub cmddelete_Click()

Dim i As Integer

i = MsgBox("真的要删除当前记录吗?", vbYesNo, "警告")  '数据库的删除警告和相应命令

If i = 6 Then

    Data1.Recordset.Delete

    Data1.Refresh

    Call Form_Load

End If

End Sub

Private Sub cmdexit_Click(Index As Integer)

FormMain.Show

Unload Me

End Sub

Private Sub cmdfirst_Click(Index As Integer)

If Not Data1.Recordset.BOF Then

         Data1.Recordset.MoveFirst      '数据库移动到第一条

End If

End Sub

Private Sub cmdlast_Click(Index As Integer)

If Not Data1.Recordset.BOF Then

    Data1.Recordset.MoveLast            '数据库移动到最后一条

End If

End Sub

Private Sub cmdmend_Click(Index As Integer)

    Text1(0).Enabled = True     '设定各控件属性

    cmdsave(5).Enabled = True

    cmdmend(4).Enabled = False

End Sub

Private Sub cmdnext_Click(Index As Integer)

If Data1.Recordset.RecordCount <> 0 Then

        If Data1.Recordset.EOF = False Then Data1.Recordset.MoveNext  '数据库移动到下一条

            If Data1.Recordset.EOF = True Then   '判断数据库是否为最后一条

                Data1.Recordset.MoveLast

                MsgBox ("已经是最后一条")

            End If

    End If

End Sub

Private Sub cmdpre_Click(Index As Integer)

If Data1.Recordset.RecordCount <> 0 Then

            If Data1.Recordset.BOF = False Then

               Data1.Recordset.MovePrevious  '数据库移动到上一条

            End If

                If Data1.Recordset.BOF = True Then  '判断数据库是否为第一条

                    Data1.Recordset.MoveFirst

                    MsgBox ("已经是第一条")

                End If

            End If

End Sub

Private Sub cmdsave_Click(Index As Integer)

If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Or Text1(4).Text = "" Or Text1(5).Text = "" Or Text1(6).Text = "" Then

        MsgBox "请完善数据!", , "提示"  '检测文本框中是否为空

        Exit Sub

    End If

'        Data1.Recordset.MoveLast

            Data1.UpdateRecord           '保存更新数据库

        MsgBox "数据保存成功!", , "提示"

            cmdfirst(0).Enabled = True      '设定个控件属性

            cmdpre(1).Enabled = True

            cmdnext(2).Enabled = True

            cmdlast(3).Enabled = True

            cmddelete.Enabled = True

            cmdmend(4).Enabled = True

            Call Form_Load

End Sub

Private Sub Comsx_Click()

Call Form_Load              '点击刷新,重新加载界面

End Sub

Private Sub Form_Load()

Dim i As Integer

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _

    & App.Path & "\Airplane.mdb;Persist Security Info=False"      '打开数据库

    rs1.Open "Airplane", cn, adOpenKeyset, adLockOptimistic       '打开数据库中的表文件

    If rs1.BOF Then

        MsgBox " 已经没有数据"                     '判断有没有数据

    Else

        Set MSHFlexGrid1.DataSource = rs1           '数据在MSHFlexGrid1控件中显示

        MSHFlexGrid1.ColWidth(0) = 100

        MSHFlexGrid1.ColWidth(6) = 2200

        For i = 1 To rs1.RecordCount

        MSHFlexGrid1.RowHeight(i) = 1500

        Next i

    End If

    rs1.Close

'Set DataGrid1.DataSource = Adodc1

    Cmdadd(0).Enabled = True

    cmdsave(5).Enabled = False

    Text1(0).Enabled = False

    cmdfirst(0).Enabled = True      '设定个控件属性

    cmdpre(1).Enabled = True

    cmdnext(2).Enabled = True

    cmdlast(3).Enabled = True

    cmddelete.Enabled = True

    cmdmend(4).Enabled = True

    Data1.Visible = False

cn.Close

End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-30
Private Sub Command1_Click()
Adodc1.Recordset.Fields("姓名") = Trim(Text1.Text)
Adodc1.Recordset.Fields("学号") = Trim(Text2.Text)
Adodc1.Recordset.Fields("电话") = Trim(Text3.Text)
Adodc1.Recordset.Fields("地址") = Trim(Text4.Text)
Adodc1.Recordset.Update
End Sub

Private Sub Command2_Click()
Dim YN As Integer
YN = MsgBox("确定删除?", vbYesNo)
If YN = 6 Then Adodc1.Recordset.Delete
End Sub

Private Sub Command3_Click()
Adodc1.Recordset.Fields("姓名") = Trim(Text1.Text)
Adodc1.Recordset.Fields("学号") = Trim(Text2.Text)
Adodc1.Recordset.Fields("电话") = Trim(Text3.Text)
Adodc1.Recordset.Fields("地址") = Trim(Text4.Text)
End Sub

Private Sub Command4_Click()
Adodc1.Recordset.CancelUpdate
Adodc1.Refresh
End Sub

Private Sub Command5_Click()
End
End Sub

Private Sub Command6_Click()
Adodc1.Recordset.AddNew
End Sub

Private Sub Command7_Click()
Adodc1.Recordset.Find Combo1.Text & "= '" & Trim(Text5) & "'", , , 1
If Adodc1.Recordset.EOF Then MsgBox "查找不到!!", , "提示"
End Sub

Private Sub Form_Load()
Dim constr As String
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data.mdb" & ";Persist Security Info=False"
Adodc1.ConnectionString = constr
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 通讯录"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub本回答被提问者采纳
第2个回答  2010-06-30
已发送一个列子到你QQ邮箱

VB编程如何实现ACCESS数据库记录的查询?
要查询数据库中的记录,首先需要创建一个连接对象,并使用其执行SQL查询语句。具体步骤如下:创建ADO连接对象并建立与数据库的连接。 创建一个命令对象,并设置其类型为“查询”。 在命令对象中编写SQL查询语句,例如:`"SELECT * FROM Students WHERE Age = '99'"`。 执行命令对象,并获取...

VB如何用ADO向ACCESS数据库插入和修改记录?
1、Microsoft Access窗口中,选择文件菜单中的打开选项,打开一个已有的数据库。2、数据库中有两张表格,如下图所示。3、数据库中,表格学生信息是课程成绩的子表。4、如果直接在子表中插入记录,会提示不能添加或修改。5、其实,只需在主表中,插入相关的主键和记录。6、接着,就可以在子表中插入...

VB如何用ADO向ACCESS数据库插入和修改记录?
1、Microsoft Access窗口中,选择文件菜单中的打开选项,打开一个已有的数据库。2、数据库中有两张表格,如下图所示。3、数据库中,表格学生信息是课程成绩的子表。4、如果直接在子表中插入记录,会提示不能添加或修改。5、其实,只需在主表中,插入相关的主键和记录。6、接着,就可以在子表中插入...

VB的Data Grid控件如何与ACCESS相连接
在VB中,通过代码实现与ACCESS数据库连接,使用ADO.NET技术。首先,创建一个ADO.NET的连接对象conn和记录集对象rs。在打开数据库连接时,使用conn.Open方法,通过指定的DSN(数据源名称)和登录信息,例如"sa"。SQL查询语句用于从表表x中选择所有列,sql="select * from 表x"。使用rs.Open方法执行SQL...

vb编写学生基本信息实现access数据库的增删改查
1)首先需要用Office软件中的Access软件建立一个学生基本信息数据库。表中新建几个表,可以是学生名册表,学生各专业课程分数登录表等等。2)VB新建数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。3)然后在FORM1窗体中添加ADO数据控件,右键-ADODC1控件属性页-使用连接字符串...

VBA 删除access数据库记录
删除\/插入 (delete\/insert) 利用的是CurrentDb.Execute(stSql)。代码如下:[plain] view plaincopy '拼写删除指定PR Number的SQL文 stSql = "DELETE FROM [000_BASTS] WHERE [PR NR] = '" & pr_nr & "'"'执行SQL文 CurrentDb.Execute (stSql)...

vb 修改使用中的access数据库
VB6可以使用数据访问API——“ADO”连接局域网中的Access数据库,然后用SQL语言读写数据库。下面是VB操纵网络中ACCESS数据库示范代码,供参考 请注意与MSSQL、MySQL等大中型数据库不同,网络中的ACCESS数据库必须存放在共享文件夹下才能被网络中的其它电脑访问。如果ACCESS数据库所驻留的电脑有防火墙,那么...

VB连接Access数据库具体步骤,越详细越好
有多种连接方式,可以用数据控件连接,也可以用组件连接。下面是用ADO组件来连接的例子(假定ACCESS数据库文件和程序是放在同一个文件夹的):Private Sub Form_Click() '点击窗体运行Dim conn As Object, rs As ObjectSet conn = CreateObject("Adodb.Connection")conn.Open "provider=Microsoft.Jet....

vb中如何调用Access数据表中的某一个记?
在VB6.0中调用Access数据表中的某个记录,可借助ADO控件实现。具体操作如下:1. 首先,确保在项目中添加ADO控件。在“工程”菜单下的“部件…”选项中,选择并添加Microsoft ActiveX Data Objects 2.5 到工具箱。2. 将ADO控件拖至窗体,然后在代码编辑器中编写代码,通过ADO对象连接Access数据库。例如...

想用VB做一个登陆界面如何和access相连接?
1、首先在部件-控件里找到MicrosoftADODataControl6.0,打勾,然后在窗体上添加Adodc1。2.添加两个文本输入框text1,text2,分别用来接收用户输入用户名和密码。3、在Adodc1控件的属性窗口中单击Connectionstring右侧的…按钮,打开ADO的属性页,选择“使用连接字符串”,单击“生成”按钮,打开数据链接属性...

相似回答
大家正在搜