Foxtable(狐表)用户栏目专家坐堂 → 表与表间的数据引用问题求指教?


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

主题:表与表间的数据引用问题求指教?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/19 21:02:00 [只看该作者]

 参考

 

Dim nma() As String = {"A1","A2","A3","A4"}
Dim nmb() As String = {"B1","B2","B3","B4"}
Dim dr As DataRow = DataTables("报名登记表").Find("[身份证号码] = '" & e.NewValue & "'")

For i As Integer = 0 To nma.Length - 1
    e.DataRow(nma(i)) = dr(nmb(i))
Next


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/19 21:14:00 [只看该作者]

图片点击可在新窗口打开查看

If e.DataCol.Name = "身份证号码" Then
Dim nms() As String = {"工作单位","县公司","姓名","性别","身份证号码"}
If e.NewValue Is Nothing Then
For Each nm As String In nms
e.DataRow(nm) = Nothing
Next
Else
Dim dr As DataRow
dr = DataTables("报名登记表").Find("[身份证号码] = '" & e.NewValue & "'")
If dr IsNot Nothing
For Each nm As String In nms
e.DataRow(nm) = dr(nm)
Next
End If
End If
End If

我开始写的是这段,DIN版说我不要搞糊涂了,但我发现好象达到的效果是一样的,报名表改动,审核表也会相应变动。

另外您写的这段里面的A1、A2、B1、B2是不是指两表里的相应列的名称?但如两表列名一样怎么办?


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/19 21:15:00 [只看该作者]

我看出来了,前面有小差别:nma()   nmb()

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/19 22:00:00 [只看该作者]

版主,新问题求教:现在功能是达到了,可还是有些不完美,就是我清空“审核合格表”的数据后,如把“报名登记表”中达到要求的人员导过去,我得先把他们的“身份证号码”先复制到“审核合格表”的“身份证号码”列才行,在复制前我得先增加相应的行数,这时有错误提示:调用目标发生异常,是在 表 审核合格表 Datacolchanged ,这是什么原因导至的?

 

另外,能不能做到,我把“报名登记表”的数据导入后,只要符合某些条件的人员信息就自动填充在“审核合格表”中?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/19 22:03:00 [只看该作者]

  用代码填充身份证进去

 

 http://www.foxtable.com/help/topics/0680.htm

 


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/19 22:06:00 [只看该作者]

图片点击可在新窗口打开查看好,我去试试,谢谢版主!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/20 9:09:00 [只看该作者]

Dim Result As DialogResult
Result = MessageBox.Show("确定导出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)
Dim Cols1() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","备注","照片","是否合格","理论考否"}
Dim Cols2() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","备注","照片","是否合格","理论考否"}
For Each dr1 As DataRow In DataTables("报名登记表").Select("[是否合格] = True ")
    Dim dr2 As DataRow = DataTables("审核合格表").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

请教版主:上述代码可以实现从“报名登记表”中一键导出合格人员到“审核合格表”中,但下面这段代码我理解不是很透:

如果要排除重复值,可以用GetValues获得不重复的值,然后再填充:

Dim Vals As List(of String())
Vals = DataTables("来源表").GetValues("产品|客户")
For
i As Integer = 0 To Vals.Count - 1
    Dim
dr As DataRow = DataTables("接收表").AddNew()
    dr(
"产品") = Vals(i)(0)
    dr(
"客户") = Vals(i)(1)
Next

 

我试了,和上面那段差不多,但都不能防止不重复导入,假设我不小心多点一次,只是会提示我是否确实,如确认,人员就多1倍,另外,如果我只是改动了部分人员的数据,再导也只是点几次人员数增加几倍,能否做到只覆盖改动的人员?

For Each dr1 As DataRow In DataTables("报名登记表").Select("[是否合格] = True ")
这句代码是只选“是否合格”,如果我再加选择条件,比如:理论考否,该怎么加?


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


加好友 发短信
等级:婴狐 帖子:1 积分:65 威望:0 精华:0 注册:2015/1/20 8:58:00
[求助]表间数据相互引用  发帖心情 Post By:2015/1/20 9:18:00 [只看该作者]

我想在表中实现如下:请版主赐教

1.我有很多表,但每个表中的列 中ID号相同

还有其他相同的信息  我想在一个表中输入信息,其它表中列相同的内容自动生成


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/20 9:21:00 [只看该作者]

逻辑列能不能有:机考;纸考;不考 这样的行式?

这是我昨天测试时发现有错想到的,因为技师是除了正常考理论,是没有补考理论之说,实操到是有补考,但补考实操的人是不需要考理论的


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/20 9:37:00 [只看该作者]

 回复17楼

 

Dim Result As DialogResult
Result = MessageBox.Show("确定导出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)
Dim Cols1() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","备注","照片","是否合格","理论考否"}
Dim Cols2() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","备注","照片","是否合格","理论考否"}
For Each dr1 As DataRow In DataTables("报名登记表").Select("[是否合格] = True ")
    Dim dr2 As DataRow = DataTables("审核合格表").Find("身份证号码 = '" & dr1("身份证号码") & "'")
    If dr2 Is Nothing Then
        dr2 = DataTables("审核合格表").AddNew
    End If
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next


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