从表中删除特定记录的用户窗体总是在删除特定记录后复制最后一条记录

蒂姆

我对此有点不知所措。我目前正在开发一个用户表单,它能够从表中添加、更新和删除记录。

我的删除功能有问题。在删除所选记录时,它会复制表中的最后一条记录,以便记录数保持不变。

下面是具体的代码,c_01 指的是包含每个条目唯一标识符的组合框。

删除功能:

Private Sub B_02_Click()    '   Delete
With c_01
   .RemoveItem .ListIndex
   If .ListCount > 0 Then .ListIndex = 0

   If .ListIndex = -1 Then
     For j = 0 To UBound(.List, 2)
        Me("T_" & Format(j, "00")) = ""
        Me("T_" & Format(j, "00")).Locked = True
     Next
    .Value = ""
   End If
End With
End Sub

保存功能:

 Private Sub b_03_Click()    '   Save
    With Sheets("Data").ListObjects(1)
    .ShowTotals = False
    If c_01.ListCount = 0 Then .DataBodyRange.ClearContents
    If c_01.ListCount > 0 Then .DataBodyRange.Resize(c_01.ListCount).Value = c_01.List
    .ShowTotals = True
End With

Hide
End Sub

关于为什么这会创建最后一条记录的副本而不是简单地删除指定记录的任何提示都会有所帮助。

如果您需要完整的代码或用户表单的屏幕截图,我可以提供。

TM值

没有重复的行为 - 只需清除所有行

您不仅必须 [0] 将组合框数据写入重新定义的范围,还必须 [1] 调整列表对象范围的大小并 [2] 清除以下行;否则旧数据只会被部分覆盖。

示例代码

 Private Sub B_03_Click()    '   Save
    With Sheets("Data").ListObjects(1)
       .ShowTotals = False
       If C_01.ListCount = 0 Then .DataBodyRange.ClearContents
       If C_01.ListCount > 0 Then
        ' [0] Write combobox values
         .DataBodyRange.Resize(C_01.ListCount).Value = C_01.List
        ' [1] Resize listobject range
         .Resize .Range.Resize(C_01.ListCount + 1)       ' << resize listobject including header (+1), too
        ' [2] Suggestion to clear at least some lines below as well
         .Range.Offset(.Range.Rows.Count).ClearContents  ' << clear lines after listobject table
       End If
      .ShowTotals = True
    End With

    Hide
  End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除表 WordPress 的最后一条记录

来自分类Dev

从不同的表中删除一条记录

来自分类Dev

通过Access 2010中的表宏删除给定ID的最后一条记录?

来自分类Dev

TSQL:如果记录为空,如何从查询结果中删除最后一条记录

来自分类Dev

如何通过获取每个组中的最后一条记录来删除重复的记录

来自分类Dev

在一个字段中的一条记录中找到特定字符串后,删除所有记录

来自分类Dev

从表中的分组记录中选择除最后一条记录之外的所有记录

来自分类Dev

ResultSet仅返回表中的最后一条记录

来自分类Dev

获取mysql表中的最后一条记录

来自分类Dev

真/假表中的最后一条记录

来自分类Dev

从Blob中的平面文件删除最后一条记录到Azure数据仓库

来自分类Dev

Angular从数据库中删除一条记录

来自分类Dev

删除laravel eloquent中的第一条记录

来自分类Dev

Vue Firebase:获取从特定记录到最后一条记录的查询范围

来自分类Dev

SQL:删除 2 条或多条日期较旧的记录中的一条(或全部)记录

来自分类Dev

从表小部件中的第一条记录中删除焦点?

来自分类Dev

如何使用MySQL连接表中的第一条记录和最后一条记录?

来自分类Dev

删除数据库中除一条记录外的所有记录

来自分类Dev

在MySQL的下一条记录中插入最后一条记录字段

来自分类Dev

SELECT基于用户表的一个月中的最后一条记录

来自分类Dev

分组mysql表时检索最后一条记录

来自分类Dev

分组mysql表时检索最后一条记录

来自分类Dev

如何删除未知号码的最后一条记录(有条件)?

来自分类Dev

删除动态查询中最后一条记录末尾的“union all”

来自分类Dev

从表中删除前10条记录

来自分类Dev

从表中删除前10条记录

来自分类Dev

Java列表会不断添加最后一条记录,并将其复制为文件中的记录数

来自分类Dev

通过保留前100条记录从表中删除记录

来自分类Dev

在sas中提取到table1中后,从table2中删除一条记录

Related 相关文章

  1. 1

    删除表 WordPress 的最后一条记录

  2. 2

    从不同的表中删除一条记录

  3. 3

    通过Access 2010中的表宏删除给定ID的最后一条记录?

  4. 4

    TSQL:如果记录为空,如何从查询结果中删除最后一条记录

  5. 5

    如何通过获取每个组中的最后一条记录来删除重复的记录

  6. 6

    在一个字段中的一条记录中找到特定字符串后,删除所有记录

  7. 7

    从表中的分组记录中选择除最后一条记录之外的所有记录

  8. 8

    ResultSet仅返回表中的最后一条记录

  9. 9

    获取mysql表中的最后一条记录

  10. 10

    真/假表中的最后一条记录

  11. 11

    从Blob中的平面文件删除最后一条记录到Azure数据仓库

  12. 12

    Angular从数据库中删除一条记录

  13. 13

    删除laravel eloquent中的第一条记录

  14. 14

    Vue Firebase:获取从特定记录到最后一条记录的查询范围

  15. 15

    SQL:删除 2 条或多条日期较旧的记录中的一条(或全部)记录

  16. 16

    从表小部件中的第一条记录中删除焦点?

  17. 17

    如何使用MySQL连接表中的第一条记录和最后一条记录?

  18. 18

    删除数据库中除一条记录外的所有记录

  19. 19

    在MySQL的下一条记录中插入最后一条记录字段

  20. 20

    SELECT基于用户表的一个月中的最后一条记录

  21. 21

    分组mysql表时检索最后一条记录

  22. 22

    分组mysql表时检索最后一条记录

  23. 23

    如何删除未知号码的最后一条记录(有条件)?

  24. 24

    删除动态查询中最后一条记录末尾的“union all”

  25. 25

    从表中删除前10条记录

  26. 26

    从表中删除前10条记录

  27. 27

    Java列表会不断添加最后一条记录,并将其复制为文件中的记录数

  28. 28

    通过保留前100条记录从表中删除记录

  29. 29

    在sas中提取到table1中后,从table2中删除一条记录

热门标签

归档