以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  新增多行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169609)

--  作者:nuoyan89
--  发布时间:2021/6/22 22:28:00
--  新增多行
我想点击控件新增5行后,新增的每一行以下都取第一行的值,以下代码新增5行后只有第一行能取前面行的值,请帮忙看看,谢谢

For i As Integer = 1 To 5
    Dim nr =  Tables("采购申请单_采购申请明细").AddNew()
    nr("申请人") = e.Form.Controls("申请人1").Text
    nr("申请类型") = e.Form.Controls("申请类型1").Text
    nr("采购等级") = e.Form.Controls("采购等级1").Text
    nr("要求交货日期") = e.Form.Controls("交货日期1").Text
    nr("销售订单号") = e.Form.Controls("销售订单号1").Text
    nr("用途") = e.Form.Controls("用途").Text
    nr("需审核人") = e.Form.Controls("需审核人1").Text
Next

--  作者:有点蓝
--  发布时间:2021/6/22 22:51:00
--  
代码没有问题。窗口控件都有绑定列?
--  作者:nuoyan89
--  发布时间:2021/6/23 8:32:00
--  
是的,如果绑定列代码需要怎么改动呢?谢谢
--  作者:flashman
--  发布时间:2021/6/23 8:50:00
--  
Dim sqr As String,sqlx As String,cgdj As String,jhrq As String,ddh As String,yt As String,sqr As String
    sqr = e.Form.Controls("申请人1").Text
    sqlx = e.Form.Controls("申请类型1").Text
    cgdj = e.Form.Controls("采购等级1").Text
    jhrq = e.Form.Controls("交货日期1").Text
    ddh = e.Form.Controls("销售订单号1").Text
    yt = e.Form.Controls("用途").Text
    sqr = e.Form.Controls("需审核人1").Text
\'其中定义变量类型需要根据字段类型来定义,如交货日期是date类型.
For i As Integer = 1 To 5
    Dim nr =  Tables("采购申请单_采购申请明细").AddNew()
    nr("申请人") = sqr
    nr("申请类型") = sqlx
    nr("采购等级") = cgdj
    nr("要求交货日期") = jhrq
    nr("销售订单号") = ddh
    nr("用途") = yt
    nr("需审核人") = sqr
Next

--  作者:有点蓝
--  发布时间:2021/6/23 9:02:00
--  
像上面一样先把值放到变量里使用,或者这样

dim r as row = Tables("采购申请单_采购申请明细").current
For i As Integer = 1 To 5
    Dim nr =  Tables("采购申请单_采购申请明细").AddNew()
    nr("申请人") = r("申请人") 
    nr("申请类型") = r("申请类型")
……


--  作者:nuoyan89
--  发布时间:2021/6/29 14:20:00
--  
老师,如图,请帮忙看看是哪里写错了呢(窗口1_录入这个表中录入的成品编码我需要在成品库存表中查询是否有,没有则新增,但是目前还是只能新增当前的,如果表里有多条产能多条新增)?

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

Dim r As Row = Tables("窗口1_录入").current
Dim dr As DataRow
dr = DataTables("成品库存表").SQLFind("[成品编码] = \'"& r("成品编码") & "\'")
For i As Integer = 1 To 5
    Dim nr =  Tables("成品库存表").AddNew()
    nr("成品编码") = r("成品编码")
    nr("成品描述") = r("成品描述")
Next

--  作者:有点蓝
--  发布时间:2021/6/29 14:22:00
--  
dr = DataTables("成品库存表").SQLFind("[成品编码] = \'"& r("成品编码") & "\'")
if dr is bothing then


--  作者:nuoyan89
--  发布时间:2021/6/29 14:29:00
--  
老师,还是不行
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/6/29 14:37:00
--  
数据没有保存,SQLFind只查询已经保存的数据。先保存表格数据再查询,或者改为使用Find只查询已经加载的数据