Foxtable(狐表)用户栏目专家坐堂 → [求助]用代码批量更改数据


  共有13881人关注过本帖树形打印复制链接

主题:[求助]用代码批量更改数据

帅哥哟,离线,有人找我吗?
shixia
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/11/18 11:20:00 [只看该作者]

用Excel一下子就可以处理

 回到顶部
帅哥哟,离线,有人找我吗?
易服
  12楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/11/18 11:23:00 [只看该作者]

只好用筛选——下拉列表更改——重复填充,谢谢了!

 回到顶部
帅哥哟,离线,有人找我吗?
易服
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/11/18 11:41:00 [只看该作者]

以下是引用czy在2010-11-18 11:19:00的发言:

 

不能的,身份证号区别码只到县一级。

你的原始数据也象6楼表A的样子吗?或者还有没有可以区别的列?

[此贴子已经被作者于2010-11-18 11:20:02编辑过]

这次乡名列乡名是完整的

[此贴子已经被作者于2010-11-18 15:15:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 12:04:00 [只看该作者]

以下是引用易服在2010-11-18 11:41:00的发言:

这次乡名列乡名是完整的

 下载信息  [文件大小:1.4 MB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:代码更改.table

 

呵呵,你这次更乱套了,单位表中的乡名只有一个。


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 12:08:00 [只看该作者]

在第二次上传的文件中执行一下下面的代码,大部分数据可以处理,未处理是无法区别的

 

'村名
Dim Arys As List(Of String()) = DataTables("单位").GetUniqueValues("", "乡名","村名")
For Each dr As DataRow In DataTables("表A").DataRows
    For Each Ary As String() In Arys
        If dr("乡名").Contains(Ary(0)) And dr("乡名").Contains(Ary(1)) Then
            dr("村名") = Ary(1)
        End If
    Next
Next

'乡名
Dim Vals() As String = DataTables("单位").GetComboListString("乡名").Split("|")
For Each dr As DataRow In DataTables("表A").DataRows
    For Val As Integer = 0 To Vals.Length - 1
        If dr("乡名").Contains(Vals(Val)) Then
            dr("乡名") = Vals(Val)
        End If
    Next
Next

'组别
Tables("表A").StateFilter = StateFilterEnum.Modified
For Each r As Row In Tables("表A").Rows
    If r.IsNull("村名") = False Then
        r("组别") = r("组别").Replace(r("乡名"),"").Replace(r("村名"),"")
    Else
        r("组别") = r("组别").Replace(r("乡名"),"")
    End If
Next
Tables("表A").StateFilter = StateFilterEnum.UnChanged
MessageBox.Show("显示的数据没有进行处理")


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 12:37:00 [只看该作者]

你最好在申请表中对组别列进行排除重复值筛选,然后将筛选后的数据导出,单位表的数据全部导出(此两表导出时包括所有字段),再将文件传上来,如果能找出规律解决起来就容易了。

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/11/18 12:58:00 [只看该作者]

乡名列完整的话,可否这样:

 

按钮代码:

 

For Each dr As DataRow In DataTables("表A").Select("[组别] Is Not Null")
    dr("组别") = dr("组别").SubString(dr("组别").LastIndexOf("村")+1)
    dr("村名") = dr("村名").SubString(dr("村名").LastIndexOf("乡")+1).Replace(dr("组别"),Nothing)
    dr("乡名") = dr("乡名").Replace(dr("村名") & dr("组别"),Nothing).Replace("乡",Nothing)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  18楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/11/18 14:35:00 [只看该作者]

如果觉得困难,现在EXECL处理一下,在导入嘛.在那里面处理要简单一些.

 回到顶部
帅哥哟,离线,有人找我吗?
易服
  19楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/11/18 15:40:00 [只看该作者]

     是我复制搞错了,原上传的文件删除。这次上传一个完整的(未批量更改),大部分数据能处理比手工更改强多了,只是速度有点慢,能否再优化一下?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码更改.table


 回到顶部
帅哥哟,离线,有人找我吗?
小狐
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2010/11/18 16:07:00 [只看该作者]

600多万条的记录图片点击可在新窗口打开查看太多了,要考虑用sql语句来完成,

 回到顶部
总数 26 上一页 1 2 3 下一页