【问题标题】:Select Record with blank field选择带有空白字段的记录
【发布时间】:2014-05-26 10:21:07
【问题描述】:

我有一个包含多个标题的访问数据库

对于这个问题,让我们说我有 header1、header2 和 header3

我想要做的是获取 header3 的最后一个带有空白字段的项目,因为 header1 和 header2 都已经有数据了。

我现在拥有的:

 Dim db As DAO.Database
 Dim rst As DAO.Recordset
 Dim sqlstr As String
 Dim header1, header2, header3 as field

 Set db = CurrentDb()
 Set rst = db.OpenRecordset("TblToMonitor")

 sqlstr = "Select * from [Mytable] Where [header3] IS NULL OR len(Nz([header3])) =0;"

 docmd.runsql(sqlstr)

 with rst
      .edit
      .fields("header3") = "Done"
      .update
 end with

当我运行代码时,它会选择第一行,然后用 done 更新 header3 字段,但不会移动到下一条记录。

我们将不胜感激。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    为了更新所有行,您需要将更新部分包含在一个循环中:

    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim sqlstr As String
    Dim header1, header2, header3 as field
    
    Set db = CurrentDb()    
    
    sqlstr = "Select * from [Mytable] Where [header3] IS NULL OR len(Nz([header3])) =0;"
    
    Set rst = db.OpenRecordset(sqlstr) 
    with rst
        While not .EOF
            .edit
            .fields("header3") = "Done"
            .update
            .MoveNext
        Wend
    end with
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      相关资源
      最近更新 更多