以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数字转换问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46070)

--  作者:aygp
--  发布时间:2014/2/16 20:23:00
--  数字转换问题

如果“表A”第一列中有1、2、3、4、5、6、7、8、9;如何通过按键代码实现第二列为01、02、03、04、05、06、07、08、09;

 

以下代码不起作用:

DataTables("表A").ReplaceFor("第二列", 01, "[第一列] = 1")
DataTables("表A").ReplaceFor("第二列", 02, "[第一列] = 2")
DataTables("表A").ReplaceFor("第二列", 03, "[第一列] = 3")
DataTables("表A").ReplaceFor("第二列", 04, "[第一列] = 4")
DataTables("表A").ReplaceFor("第二列", 05, "[第一列] = 5")
DataTables("表A").ReplaceFor("第二列", 06, "[第一列] = 6")
DataTables("表A").ReplaceFor("第二列", 07, "[第一列] = 7")
DataTables("表A").ReplaceFor("第二列", 08, "[第一列] = 8")
DataTables("表A").ReplaceFor("第二列", 09, "[第一列] = 9")

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数字转换(商业版).rar


--  作者:y2287958
--  发布时间:2014/2/16 20:34:00
--  
没有数据源
--  作者:aygp
--  发布时间:2014/2/16 20:59:00
--  

附件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数字转换(商业版).rar


--  作者:y2287958
--  发布时间:2014/2/16 21:16:00
--  
方法很多,如果一定要在按钮用代码的话,试试下面这个:
For Each dr As DataRow In DataTables("数字转换").DataRows
    dr("第二列") = "0" & dr("第一列")
Next

--  作者:逛逛
--  发布时间:2014/2/16 21:23:00
--  

一定要用数字替换的话,加上双引号

 

 Dim i As Integer
For i = 0 To 9
    DataTables("数字转换").ReplaceFor("第二列", "0" & i, "[第一列] =" & i)
Next


--  作者:aygp
--  发布时间:2014/2/16 21:27:00
--  
测试通过。谢谢二位老师!
--  作者:aygp
--  发布时间:2014/2/16 22:03:00
--  
y2287958老师:仔细测试后,有点问题,是我没有说清楚,现补充一下,第一列除了有1到9以外,还有许多二位数,如12、16、25等。要求除了1到9变成01到09外。其它的二位数前都不加0 。请问代码如何修改?
--  作者:y2287958
--  发布时间:2014/2/16 22:06:00
--  
For Each dr As DataRow In DataTables("数字转换").DataRows
    If len(dr("第一列")) = 1
        dr("第二列") = "0" & dr("第一列")
    Else
        dr("第二列") = dr("第一列")
    End If
Next

--  作者:aygp
--  发布时间:2014/2/16 22:22:00
--  
y2287958老师:如果就直接在第一列把1到9变成01到09,第一列的其它二位数不变。不要第二列。代码如何改?
--  作者:y2287958
--  发布时间:2014/2/16 22:47:00
--  
一样的
把“第二列”改“第一列”即可