我用vb和access 连接 
但是我  添加一条记录就会把原来的数据覆盖
但是我不想覆盖
  
请问高手怎么办???

解决方案 »

  1.   

    添加一条新记录:
    rs.addnew
    rs.fields("name")="wu"
    rs.update
      

  2.   


    我用了啊
    Private Sub Command1_Click()
    On Error GoTo kk
    Me.Adodc1.Recordset.AddNew
    Text1.SetFocus
    kk:
    MsgBox "不能为空", vbInformation
     Text1.Text = ""
     Text2.Text = ""
     Text3.Text = ""
     Text4.Text = ""
     Text6.Text = ""
    End Sub
      

  3.   


        text1~text4不要绑定要记录集。
      

  4.   


        text1~text4不要绑定到记录集。
      

  5.   

    比如我现在有一条记录是 :1.姓名:kk 年龄:19
    我现在添加一 个记录是 :2.姓名:aa 年龄:20
    显示的应该是 姓名:kk aa 年龄:19 20
    错误的是它显示的是  把1的记录给覆盖了
    结果显示是新添加的记录
    姓名:aa 年龄:20
      

  6.   

    '以下两个变量分别是判断是否登录数据库成功的变量
    '和一个链接数据库的对象变量
    Private blnConnected As Boolean
    Public gcnnConnection As ADODB.Connection'功能:连接数据库并执行判断是否连接成功
    '输入:
    '   cnnConnection      ADODB.Connection   要创建的连接
    '输出:gADOConnection     Boolean             返回的判断结果
    '********************************************************************
    Public Function gADOConnection(ByRef cnnConnection As ADODB.Connection) As Boolean
        Dim itsConnectionString As String
        Dim lngErrNum As Long
        
        On Error GoTo ADOErr
        
        Set cnnConnection = New ADODB.Connection
        cnnConnection.Provider = "microsoft.jet.oledb.4.0"
        itsConnectionString = "data source=" & App.Path & "\student.mdb"
        cnnConnection.ConnectionString = itsConnectionString
        cnnConnection.CursorLocation = adUseClient
        cnnConnection.Open
        gADOConnection = True
        
    ADOErr:
        lngErrNum = err.Number
        If lngErrNum <> 0 Then
            gADOConnection = False
        End If
    End Function'******************************************************************
    '功能:获取ADO记录集
    '输入:
    '   strSQL        String     用于查询SQL数据库的SQL语句
    '输出: GetRecordSet  Recordset  返回的记录集
    '*******************************************************************
    Public Function GetRecordSet(strsql As String) As ADODB.Recordset
        On Error GoTo err
        Dim rsTemp As ADODB.Recordset
        Set rsTemp = New ADODB.Recordset
        
        Set gcnnConnection = New ADODB.Connection
        
        blnConnected = gADOConnection(gcnnConnection)
        
        If blnConnected = True Then
            '设置游标类型和数据库锁定类型
            rsTemp.Source = strsql
            Set rsTemp.ActiveConnection = gcnnConnection
            rsTemp.CursorType = adOpenKeyset
            rsTemp.LockType = adLockOptimistic
            rsTemp.Open
            
            Set GetRecordSet = rsTemp
        Else
            Set GetRecordSet = Nothing
        End If
        Exit Function
    err:
        MsgBox err.Number & " " & err.Description
    End Function
    Private Sub cmdSave_Click()
        Dim rs As New ADODB.Recordset
        Set rs = GetRecordSet("stu_tab")          '假设数据库中的表名为stu_tab
        rs.AddNew
        rs!stu_ag = 20           '年龄
        rs!stu_nm = aa           '姓名
        rs.Update
    end sub
      

  7.   

    Private Sub cmdSave_Click()
        Dim rs As New ADODB.Recordset
        Set rs = GetRecordSet("stu_tab")          '假设数据库中的表名为stu_tab
        rs.AddNew
        rs!stu_ag = "20"           '年龄         上面的忘记加双引号
        rs!stu_nm = "aa"           '姓名
        rs.Update
    end sub
      

  8.   

    我想用二个文本框 来输入数据
    比如   '年龄   用text1.text
            '姓名  用text2.text
    在用一个command1 用来添加
    当你点击添加(command1)的时候  然后在text1.text text2.text 输入数据
    但是添加的新内容 总会把旧内容覆盖
      

  9.   

    ADDNEW的作用是向记录集插入一个空记录,原因是你是先输入文本后然后调用ADDNEW方法,那么系统可能会自动调用UPDATE方法,也就是说你的哪个指针还在原来的地方。ADDNEW方法要在输入文本之前,你的程序显然是放在输入文本之后了,也可以用2个按纽实现。
      

  10.   

    使用insert来添加记录:
    conn.execute " insert into (...) values(...)"
      

  11.   

    注意,Text控件不要绑定数据库。Private Sub Command1_Click()
    On Error GoTo kk
    Me.Adodc1.Recordset.AddNew
    Me.Adodc1.Recordset!Stu_ag = Text1.Text
    Me.Adodc1.Recordset!Stu_nm = Text2.Text
    ......
    Exit Sub
    kk:
    MsgBox "不能为空", vbInformation
     Text1.Text = ""
     Text2.Text = ""
     Text3.Text = ""
     Text4.Text = ""
     Text6.Text = ""
    End Sub
      

  12.   

    注意,一个键上绑定2个action?你应该在 form_load 里面 addnew然后在 command1里面 update