Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何更新状态字段为已对账

zhaojun  发表于:2017-07-18 18:00:37  
复制

用VBA如何将子窗体里查询的结果的里的“状态”改为“已对账”

 

Top
大海 发表于:2017-07-19 07:35:58

  CurrentDb.Execute "update 表名 set 字段名 = '已对账' where 字段名 = '状态'"

Me.子窗体.Requery



zhaojun 发表于:2017-07-19 08:26:15

我想达到的是这个效果,大师请你帮我看看



宏鹏 发表于:2017-07-19 09:11:13

更新查询可以的



zhaojun 发表于:2017-07-19 09:23:14
更新查询里改变的是整张表呀,如我只想改AAA单位里的某一时间段内的状态为已对账呢,应该怎么办

zhaojun 发表于:2017-07-19 10:34:14
Private Sub 已对账_Click()
    CurrentDb.Execute "update 委外入库明细表 set 状态= '已对账' where 状态 is null"
    Me.frmchild.Requery  '刷新窗体

End Sub

如用上面VBA改变的是整个委外入库明细表,而我只想改变当前子窗体里筛选出来的数据,该 如何办呢?




chinasa 发表于:2017-07-19 11:53:23
更新查询的条件与子窗体数据查询条件设置成一样的。

宏鹏 发表于:2017-07-19 13:20:21
  CurrentDb.Execute "update 委外入库明细表 set 状态= '已对账' where '" & strWhere & "'"


大海 发表于:2017-07-19 14:26:30
Private Sub 已对账_Click()
    Dim rs As Object
    Dim i As Long
    Dim x As Integer
    Dim j As Integer
    Set rs = Me.frmchild.Form.Recordset
    x = rs.RecordCount
    rs.MoveFirst
    For j = 1 To x
        i = rs!id
        CurrentDb.Execute "update 委外入库明细表 set 状态= '已对账' where 状态 is null and ID=" & i
        rs.MoveNext
    Next
    Me.frmchild.Requery  '刷新窗体
    Set rs = Nothing


End Sub






zhaojun 发表于:2017-07-19 15:57:19

点击下载此附件

请大师帮我看看问题出在哪里



大海 发表于:2017-07-20 08:08:46

请查看附件

点击下载此附件



zhaojun 发表于:2017-07-20 14:54:37
谢谢大海,这正是我想要的

总记录:11篇  页次:1/1 9 1 :