以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  核销生成关联表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=108004)

--  作者:zoyong
--  发布时间:2017/10/14 9:25:00
--  核销生成关联表
在明细表选中审核列(一行或多行),然后点击审核,主表新增一行,并自动
生成审核编号,将选中的数据(第一行内容)复制到主表对应列,然后将主表
生成的审核编号复制到刚刚选中的明细表对应的行,作为关联

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:核销测试.foxdb




--  作者:有点蓝
--  发布时间:2017/10/14 9:47:00
--  
编号生成参考:http://www.foxtable.com/webhelp/scr/2403.htm



--  作者:zoyong
--  发布时间:2017/10/14 10:52:00
--  
代码只处理了一行,不会处理多行

Dim txt As String = e.Form.Controls("项目名称").Text
If txt = "" Then \'如果下拉框没有输入内容,则无需查询
    MessageBox.Show("项目名称不能为空!" )
    Return
Else
    Tables("主表").AddNew
    Tables("主表").Current("项目名称") = e.Form.Controls("项目名称").text
    Tables("主表").Current("区域") = e.Form.Controls("区域").text
    Tables("主表").Current("资质") = e.Form.Controls("资质").text
    Tables("主表").Current("简码") = e.Form.Controls("简码").text
    Dim count As  Integer = 0
    For Each r As DataRow In Tables("明细表_table1").DataTable.Select("状态 = True")
        r("状态") =  r("审核")
        MessageBox.Show("第 " & count+1 & " 次处理明细行")   \'总是比选择的记录数少
        Tables("明细表_table1").Current("审核") = True
        Tables("明细表_table1").Current("审核编号") = e.Form.Controls("审核编号").text
        Tables("明细表_table1").Current("状态") = Nothing
        Tables("明细表_table1").Current.Save
        count= count+1   \'提示处理几行
    Next
    
    Tables("主表").Current.Save    
End If

--  作者:有点蓝
--  发布时间:2017/10/14 11:05:00
--  
Dim txt As String = e.Form.Controls("项目名称").Text
If txt = "" Then \'如果下拉框没有输入内容,则无需查询
    MessageBox.Show("项目名称不能为空!" )
    Return
Else
    Dim r2 As Row = Tables("主表").AddNew
    r2("项目名称") = e.Form.Controls("项目名称").text
    r2("区域") = e.Form.Controls("区域").text
    r2("资质") = e.Form.Controls("资质").text
    r2("简码") = e.Form.Controls("简码").text
    Dim count As  Integer = 0
    For Each r As DataRow In Tables("明细表_table1").DataTable.Select("状态 = True")
        MessageBox.Show("第 " & count+1 & " 次处理明细行")   \'总是比选择的记录数少
        r("审核") = True
        r("审核编号") = e.Form.Controls("审核编号").text
        r("状态") = Nothing
        count= count+1   \'提示处理几行
    Next
    r2.Save  
    Tables("明细表_table1").save  
End If