以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何“找出符合条件的行,并将指定列的内容替换为‘空值’”?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7223)

--  作者:xl
--  发布时间:2010/5/26 18:48:00
--  如何“找出符合条件的行,并将指定列的内容替换为‘空值’”?

请问:下列语句中“????”怎样才能替换为“空值”?谢谢!

 

DataTables("表一").ReplaceFor("YB", ????, "[项目] = \'总分\' ")

 

[此贴子已经被作者于2010-5-26 19:03:08编辑过]

--  作者:mr725
--  发布时间:2010/5/26 19:03:00
--  
DataTables("表一").ReplaceFor("YB", "", "[项目] = \'总分\' ")
--  作者:xl
--  发布时间:2010/5/26 19:05:00
--  

2楼我也曾试过,代码执行后对原数据没有替换。

[此贴子已经被作者于2010-5-26 19:06:22编辑过]

--  作者:xl
--  发布时间:2010/5/26 19:13:00
--  

用下列语句能解决问题,但感觉不如1楼那种形式简洁 

      Dim drs As List(Of DataRow)
        drs = DataTables("表一").Select("[项目] = \'总分\'")
        For Each dr1 As Datarow In drs
            dr1("YB") = Nothing
        Next


--  作者:mr725
--  发布时间:2010/5/26 19:17:00
--  

在命令窗口测试没问题,全部能替换为空值。。。


--  作者:xl
--  发布时间:2010/5/26 19:19:00
--  
知道原因了,2楼是正确的。“YB”列必须为“字符型”,若“YB"列为数值型就会报错。而我这里“YB”列为“单精度小数”型,不知如何修改?
--  作者:mr725
--  发布时间:2010/5/26 19:44:00
--  

只能用4楼代码了。

 


--  作者:xl
--  发布时间:2010/5/26 19:51:00
--  
谢谢mr725! 其实贺老师可将条件替换型的“空值”的形式采用2楼形式,没有必要严格区分“类型”。
--  作者:程兴刚
--  发布时间:2010/5/26 20:12:00
--  

不知这样对数值型列是否可行:

 

DataTables("表一").ReplaceFor("YB", nothing, "[项目] = \'总分\' ")


--  作者:xl
--  发布时间:2010/5/27 8:48:00
--  
以下是引用程兴刚在2010-5-26 20:12:00的发言:

不知这样对数值型列是否可行:

 

DataTables("表一").ReplaceFor("YB", nothing, "[项目] = \'总分\' ")

还真行,学习了!