以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]两列值不重复,跨表对应两列不存在就填入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105885)

--  作者:湛江智
--  发布时间:2017/8/28 16:33:00
--  [求助]两列值不重复,跨表对应两列不存在就填入

跨表填入对应两列值,请教

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:两列值不重复,跨表对应两列不存在就填入.foxdb


图片点击可在新窗口打开查看此主题相关图片如下:两列值,中间表不存在就新建一行填入这两列的值.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:自动填入类型管理表,对应的这两列.png
图片点击可在新窗口打开查看

--  作者:湛江智
--  发布时间:2017/8/28 16:38:00
--  

还有1个问题请教,就是自动编号不知道和那段代码冲突了,帮忙也看看了


图片点击可在新窗口打开查看此主题相关图片如下:ctrl+d复制 立面图 报错,怎么修改?.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2017/8/28 16:57:00
--  
1、没看懂你问题,哪个表做哪些操作后,怎么增加怎么赋值?
--  作者:有点甜
--  发布时间:2017/8/28 16:59:00
--  

2、改成

 

                    idx = CInt(max.Substring(lb.length,3)) + 1 \'获得最大编号的后三位顺序号,并加1


--  作者:湛江智
--  发布时间:2017/8/28 17:07:00
--  

想实现的是表:中间表,新增一行,填入类型管理表的两列值

不知我描述是否清楚没有


图片点击可在新窗口打开查看此主题相关图片如下:想实现的效果.png
图片点击可在新窗口打开查看

--  作者:湛江智
--  发布时间:2017/8/28 17:38:00
--  回复:(有点甜)1、没看懂你问题,哪个表做哪些操作后...
版主,帮忙看看了,我的问题重新描述了一下
--  作者:有点甜
--  发布时间:2017/8/28 18:03:00
--  
Select Case e.DataCol.name
    Case "类型编号","类型名称"
        If e.DataRow.IsNull("类型编号") = False AndAlso e.DataRow.IsNull("问题编号") = False Then
            Dim fdr As DataRow = DataTables("中间表").Find("类型编号 = \'" & e.DataRow("类型编号") & "\' and 问题编号 = \'" & e.DataRow("问题编号") & "\'")
            If fdr Is Nothing Then
                Dim ndr As DataRow = DataTables("中间表").addnew
                ndr("类型编号") = e.DataRow("类型编号")
                ndr("问题编号") = e.DataRow("问题编号")
            End If
        End If
End Select

--  作者:湛江智
--  发布时间:2017/8/28 18:09:00
--  
 完美解决,谢了,辛苦了
--  作者:湛江智
--  发布时间:2019/8/22 15:35:00
--  回复:(有点甜)Select Case e.DataCol.name &n...
如果find不是整个DataTable,而是当前已筛选过的行, 7楼代码怎么修改? 求助

--  作者:有点蓝
--  发布时间:2019/8/22 15:47:00
--  
dim filter as string = Tables("中间表").filter
if filter > "" then filter = filter  & " and "
filter = filter  & " 类型编号 = \'" & e.DataRow("类型编号") & "\' and 问题编号 = \'" & e.DataRow("问题编号") & "\'"
Dim fdr As DataRow = DataTables("中间表").Find(filter )
[此贴子已经被作者于2019/8/22 15:47:25编辑过]