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


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

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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 9:54:00 [显示全部帖子]

列表项目来源表贴出来看看,或搞个示例给点数据

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 10:19:00 [显示全部帖子]

数据录入这么不规范,提供一下乡名列表项目来源的表,这样才可以根据那个表的数据进行替换。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 10:53:00 [显示全部帖子]

很难处理。

有四个村是同名的,而表A的数据中很难将这些村进行区分归纳到哪个乡。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 10:55:00 [显示全部帖子]

比如登高村分别来自于道二乡和麻栗场镇两个乡,而下图的数据根本没办法区分。

 

 




此主题相关图片如下:qq截图未命名.jpg
按此在新窗口浏览图片

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 11:19:00 [显示全部帖子]

以下是引用易服在2010-11-18 11:14:00的发言:
乡名列能否用身份证号来判读?

 

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 16:27:00 [显示全部帖子]

19楼的数据有戏的

 

For Each dr As DataRow In DataTables("申请表").DataRows
    dr("乡名") = dr("乡名").Replace("湖南省 湘西土家族苗族自治州 花垣县 ","")
Next

 

For Each dr As DataRow In DataTables("申请表").DataRows
    If dr.IsNull("乡名") = False Then
        If dr("乡名").Split(" ").Length > 1 Then
            dr("村名") = dr("乡名").Split(" ")(1)
            dr("乡名") = dr("乡名").Split(" ")(0)
        Else
            dr("村名") = dr("村名").Replace(dr("乡名"),"")
        End If
    End If
Next

[此贴子已经被作者于2010-11-18 17:07:53编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 17:10:00 [显示全部帖子]

楼上少写了一段

 

For Each dr As DataRow In DataTables("申请表").DataRows
    dr("乡名") = dr("乡名").Replace("湖南省 湘西土家族苗族自治州 花垣县 ","")
    If dr.IsNull("乡名") = False Then
        If dr("乡名").Split(" ").Length > 1 Then
            dr("村名") = dr("乡名").Split(" ")(1)
            dr("乡名") = dr("乡名").Split(" ")(0)
        Else
            dr("村名") = dr("村名").Replace(dr("乡名"),"")
        End If
        If dr.IsNull("组别") = False Then
            If dr("组别").Split("村名").Length > 1 Then
                dr("组别") = dr("组别").Split("村名")(1)
            End If
        End If
    End If
Next


 回到顶部
总数 13 1 2 下一页