以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  一键清空多表的数据代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60733)

--  作者:xjc620
--  发布时间:2014/11/30 11:28:00
--  一键清空多表的数据代码
求一键清空多表的数据代码,清空后保留行,清空的只是表中的数据
[此贴子已经被作者于2014-11-30 11:32:15编辑过]

--  作者:有点甜
--  发布时间:2014/11/30 11:35:00
--  
systemready = False
For Each dr As DataRow In DataTables("表A").DataRows
    For Each dc As DataCol In DataTables("表A").DataCols
        dr(dc.name) = Nothing
    Next
Next
systemready = True

--  作者:xjc620
--  发布时间:2014/11/30 11:37:00
--  
一键清空多表呢,还是一个表一组这个代码
--  作者:有点甜
--  发布时间:2014/11/30 11:40:00
--  
systemready = False
Dim tbnames() As String = {"表A", "表B"}
For Each tbname As String In tbnames
    For Each dr As DataRow In DataTables(tbname).DataRows
        For Each dc As DataCol In DataTables(tbname).DataCols
            dr(dc.name) = Nothing
        Next
    Next
Next
systemready = True

--  作者:xjc620
--  发布时间:2014/11/30 12:11:00
--  
使用以上代码出现
.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,当月二保查找,Button5,Click
详细错误信息:
列“合计”为只读。


--  作者:有点甜
--  发布时间:2014/11/30 14:29:00
--  
systemready = False
Dim tbnames() As String = {"表A", "表B"}
For Each tbname As String In tbnames
    For Each dr As DataRow In DataTables(tbname).DataRows
        For Each dc As DataCol In DataTables(tbname).DataCols
            If dc.Expression = "" Then
                dr(dc.name) = Nothing
            End If
        Next
    Next
Next
systemready = True

--  作者:xjc620
--  发布时间:2014/11/30 14:42:00
--  
清空完,逻辑列方框里变成了黑色小方柜,不没有影响
--  作者:xjc620
--  发布时间:2014/11/30 14:43:00
--  
保存数据提示
.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
试图将 Null 值赋予一个非 Variant 数据类型的变量。


--  作者:黄训良
--  发布时间:2014/11/30 14:55:00
--  

保留空行的意义?分享一下。

 

[此贴子已经被作者于2014-11-30 14:57:16编辑过]

--  作者:有点甜
--  发布时间:2014/11/30 14:58:00
--  
systemready = False
Dim tbnames() As String = {"表A", "表B"}
For Each tbname As String In tbnames
    For Each dr As DataRow In DataTables(tbname).DataRows
        For Each dc As DataCol In DataTables(tbname).DataCols
            If dc.Expression = "" Then
                If dc.IsBoolean Then
                    dr(dc.name) = False
                Else
                    dr(dc.name) = Nothing
                End If
            End If
        Next
    Next
Next
systemready = True