刚接触VB不久,想用VB做个界面,里头有Combox, Text ,将输入其中的文本添加到Access数据库中。另外,界面也包含一个dbgrid,可通过查询功能显示所需要的数据。
现在已经连上数据库,   可是不知道怎么通过定义的ado.Recordset 来为Accesss 添加记录,假设有text1,text2 两个文本框输入,对应数据表中A 和 B两个字段,请问如何把recordset 和text1,text2 联系起来呢? 又要把它两的值赋给A和B两个字段呢?
困绕了几天没找到答案,请高手帮帮忙,如果不嫌麻烦可留个qq ,谢谢先~最好能有具体例子配个说明~~

解决方案 »

  1.   

    recordset1.Open "SELECT * FROM MyTable", cn, 3,3set Text1.DataSource = recordset1
    Text1.DataField="a"
    cmdNew_Click
    recordset1.AddNewcmdSave_Click
    recordset1.update
    cmdCancel_Click
    recordset1.CancelUpdate'"INSERT into MyTable(a, b)VALUES('" & Text1.Text & "', "'" & Text1.Text & "')"
      

  2.   

    先谢谢楼上,不过我还是有问题我用下面的语句连接的Access:
    Private Sub Form_Load()
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cnn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    Dim sql As String
     On Error GoTo ErrHandle
        Dim strcnn As String
        strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sd.mdb" & ";Persist Security Info=False;"
        cnn.Open strcnn
       ErrHandle:
       MsgBox "Cannot connect!"
    End Sub我的意思是先把表sd创建成一个recordset,然后通过给recordset addnew 的方法增加新记录给表sd。于是想在点击添加按钮后增加一条记录,可遇到了麻烦,测试不过(其中sd是sd.mdb中的一个表):Private Sub CmdAdd_Click()
       '创建recordset:
       rs.Open "select * from sd", cn, adOpenKeyset, adLockPessimistic, adCmdText
       '添加记录
       rs.AddNew
       rs!Date = DTPicker1.Value
       rs!Reason = TxtReason.Text
       rs!Action = TxtAction.Text
       rs.Update
       rs.Close
    End Sub可总是抱错创建recordset 那行错误(代码424),使我添加记录的思路错了还是代码有问题?实在搞不明白,还请各位大虾们不辞辛劳帮帮忙,再次谢谢了~
      

  3.   

    你的错误出在这里,
    rs.Open "select * from ??", cn, adOpenKeyset, adLockPessimistic, adCmdText
    此出应该填写access内表单名称参考类似如下代码(使用的为adodc控件),对你有帮助:Private Sub CmdAdd_Click()BeginTransAdodc1.CommandType = adCmdTable
    Adodc1.RecordSource = "入库记录"
    Adodc1.RefreshAdodc1.Recordset.AddNew
    Adodc1.Recordset!data = DTPicker1.Value
    Adodc1.Recordset.Update
    Adodc1.RefreshCommitTransEnd sub
      

  4.   

    rs.Open "select * from sd", cn, adOpenKeyset, adLockPessimistic, adCmdText
    可遇到了麻烦,测试不过(其中sd是sd.mdb中的一个表)这里好象"sd"就是内表名!!??   我的程序也有这样的问题,怎么调试?
      

  5.   

    这里有源码、资料═══════════════════
    http://www.egooglet.com 资料、源码下载http://bbs.j2soft.cn 论坛交流
    ═══════════════════
      

  6.   

    rs.Open "select * from sd", cn,是不是CNN啊?
      

  7.   

    rs.Open "select * from sd", cn, adOpenKeyset, adLockPessimistic, adCmdText改成 rs.Open "select * from sd", cn, 1,1, adCmdText
      

  8.   

    Private Sub Form_Load()
    Dim cnn As ADODB.Connection               '应该PUBLIC
    Dim rs As ADODB.Recordset                 '应该PUBLIC
    Set cnn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    Dim sql As String
     On Error GoTo ErrHandle
        Dim strcnn As String
        strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sd.mdb" & ";Persist Security Info=False;"
        cnn.Open strcnn
       ErrHandle:
       MsgBox "Cannot connect!"
    End Sub我的意思是先把表sd创建成一个recordset,然后通过给recordset addnew 的方法增加新记录给表sd。于是想在点击添加按钮后增加一条记录,可遇到了麻烦,测试不过(其中sd是sd.mdb中的一个表):Private Sub CmdAdd_Click()
       '创建recordset:
       rs.Open "select * from sd", cn______cnn, adOpenKeyset, adLockPessimistic, adCmdText
    //adOpenKeyset, adLockPessimistic 一般是3,2   '添加记录
       rs.AddNew
       rs!Date = DTPicker1.Value
       rs!Reason = TxtReason.Text
       rs!Action = TxtAction.Text
       rs.Update
       rs.Close
    End Sub