Office中国论坛/Access中国论坛

标题: 如何用ADO 修改数据? [打印本页]

作者: sunredday    时间: 2004-7-12 19:58
标题: 如何用ADO 修改数据?
Dim rs As ADODB.Recordset

Set rs = New ADODB.Recordset

rs.Open "select 报价表.* from 报价表"

rs.MoveFirst

Do Until rs.EOF

rs.Fields("f5") = 1

rs.MoveNext

Loop

为什么不行
作者: zhengjialon    时间: 2004-7-12 20:12
rs.Fields("f5") = 1

的后面要加一句:rs.update吧
作者: sunredday    时间: 2004-7-12 20:22
连接无法用于执行此操作,在此上下文中它可能已经被关闭或无效
作者: sunredday    时间: 2004-7-12 20:26
rs.Open "select 报价表.* from 报价表"一个从该表而来的查询是窗体的数据源,该窗体开着,就是当前窗体
作者: zhengjialon    时间: 2004-7-12 20:28
你的代码贴全了就是这样啊?那少了:        Dim con As Object

        Set con = Application.CurrentProject.Connection'或者改成其它的数据库连接

        '打开记录集没有数据库连接:        rs.Open stSql, con, 3,3
作者: sunredday    时间: 2004-7-12 20:36
感谢.本以为做为默认值可以不设定呢.
作者: zhengjialon    时间: 2004-7-12 20:58
以下是引用sunredday在2004-7-12 12:25:35的发言:



rs.Open "select 报价表.* from 报价表"

一个从该表而来的查询是窗体的数据源,该窗体开着,就是当前窗体

这样也可以的,你只要用RecordsetClone的属性就行了。
作者: sunredday    时间: 2004-7-13 02:48
开始使用RECORDSETCLONE但是没有成功Dim rs As ADODB.RecordsetSet rs = ME.RECORDSETCLONE但是不行好象有问题
作者: tz-chf    时间: 2004-7-31 23:18
默认打开的记录集好象只能向前,不能用movefirst
作者: sunredday    时间: 2005-2-23 05:17
2005年2月26日有遇到这样的问题。完全一样的问题。证明自己的水平一点也没有进步。业余人员就是如此吧。
作者: 异乡客    时间: 2005-2-23 07:19
你的日子过的够快的:)
作者: sunredday    时间: 2005-2-24 21:21
Dim n As Integer

n = Me.列表44.Column(0)

Dim rs As adodb.Recordset

Dim con As adodb.Connection

        Set con = Application.CurrentProject.Connection '或者改成其它的数据库连接    Set rs = New adodb.Recordset

    Dim strSQL As String

    strSQL = "SELECT 信息追加表.* FROM 信息追加表 WHERE (((单价)<> 0))"

     rs.Open strSQL, con, adOpenKeyset, adLockOptimistic'    rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

     rs.MoveFirst

    Do Until rs.EOF    rs.Fields("厂商ID") = n  '??????????????????

     rs.Update

    Loop

   


作者: sunredday    时间: 2005-2-24 21:24
无法更新
作者: sunredday    时间: 2005-2-25 01:32
up
作者: CHENZHIRONG    时间: 2005-2-25 03:19
少了rs.movenext把文件贴上来吧.
作者: sunredday    时间: 2005-3-2 04:24
还是有问题Dim n As Integer

n = Me.列表44.Column(0)

Dim rs As adodb.Recordset

Dim con As adodb.Connection

        Set con = Application.CurrentProject.Connection '或者改成其它的数据库连接    Set rs = New adodb.Recordset

    Dim strSQL As String

    strSQL = "SELECT 信息追加表.* FROM 信息追加表 WHERE (((单价)<> 0))"

     rs.Open strSQL, con, adOpenKeyset, adLockOptimistic'    rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

     rs.MoveFirst

    Do Until rs.EOF    rs.Fields("厂商ID") = n  '??????????????????----------------------  

     rs.Update    rs.movenext

    Loop


作者: CHENZHIRONG    时间: 2005-3-2 06:00
什么问题?看代码很难猜的.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3