Foxtable(狐表)用户栏目专家坐堂 → 增加多行取值


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

主题:增加多行取值

美女呀,离线,留言给我吧!
联友
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2565 威望:0 精华:0 注册:2013/5/23 9:49:00
增加多行取值  发帖心情 Post By:2016/11/22 10:28:00 [只看该作者]

 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170101102913.png
图片点击可在新窗口打开查看

在窗口“一年级”行“课本费、班数、人数“列输入值后,“课本计划”表自动增加。

比如:
在一年级行,课本费列输入100、班数输入3、人数输入120,那么得出下表

 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170101102105.png
图片点击可在新窗口打开查看

我这样只能第一行,第二行和第三行怎样取值,根据班数增加行。

 

Dim d As Date = Date.Today
Dim XQ As String
If d.Month >= 7 And d.Month <=12 Then
    XQ = d.Year & "年秋季"
Else If d.Month < 6 Then
    XQ = d.Year & "年春季"
End If

If e.Form.Controls("一年级课本").Value IsNot Nothing And e.Form.Controls("一年级班数").Value IsNot Nothing And e.Form.Controls("一年级人数").Value IsNot Nothing Then
    Dim dr As DataRow = DataTables("课本计划").AddNew(e.Form.Controls("一年级班数").Text)
    dr("学期") = XQ
    Dim bj As String = "10"
    Dim Can As String = DataTables("课本计划").Compute("Max(班级)","学期 = '"& XQ &"' And 班级 Like '" & bj & "%'")
    If Can > "" Then
        Dim v As Integer = Can.SubString(2,1)
        dr("班级")  = bj & format(v +1,"0")
    Else
        dr("班级")  = bj & "1"
    End If
    dr("课本金额") = e.Form.Controls("一年级课本").Text
    dr("计划人数") = e.Form.Controls("一年级人数").Text/e.Form.Controls("一年级班数").Text
End If

请指教,谢谢



[此贴子已经被作者于2016/11/22 10:34:59编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113534 积分:578171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 10:39:00 [只看该作者]

Dim kb As String = e.Form.Controls("一年级课本").Text
Dim bs As String = e.Form.Controls("一年级班数").Text
Dim rs As String = e.Form.Controls("一年级人数").Text

If kb> "" And bs> "" And rs> "" Then
    Dim idx As Integer = Tables("课本计划").Rows.Count
    Tables("课本计划").AddNew(val(bs))
    Dim dr As Row
    For i As Integer = idx To Tables("课本计划").Rows.Count - 1
        dr = Tables("课本计划").Rows(i)
        dr("学期") = XQ
        Dim bj As String = "10"
        Dim Can As String = DataTables("课本计划").Compute("Max(班级)","学期 = '"& XQ &"' And 班级 Like '" & bj & "%'")
        If Can > "" Then
            Dim v As Integer = Can.SubString(2,1)
            dr("班级")  = bj & format(v +1,"0")
        Else
            dr("班级")  = bj & "1"
        End If
        dr("课本金额") = kb
        dr("计划人数") = rs/bs
    Next
End If
[此贴子已经被作者于2016/11/22 10:39:48编辑过]

 回到顶部
美女呀,离线,留言给我吧!
联友
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2565 威望:0 精华:0 注册:2013/5/23 9:49:00
  发帖心情 Post By:2016/11/22 12:01:00 [只看该作者]

老师,我没说清楚,这样只能一年级,每个年级都输入数值后,如果窗口有“新增“按钮,电击”新增“每个年级都增加出来。老师指教,谢谢

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/22 12:17:00 [只看该作者]

Dim kbs() As String = {"一年级课本", "二年级课本"}
dim bss() as string = {"一年级班数", "二年级班数"}
dim rss() as string = {"一年级人数", "二年级人数"}
For j As Integer = 0 To kbs.Length - 1
    Dim kb As String = e.Form.Controls(kbs(j)).Text
    Dim bs As String = e.Form.Controls(bss(j)).Text
    Dim rs As String = e.Form.Controls(rss(j)).Text
   
    If kb> "" And bs> "" And rs> "" Then
        Dim idx As Integer = Tables("课本计划").Rows.Count
        Tables("课本计划").AddNew(val(bs))
        Dim dr As Row
        For i As Integer = idx To Tables("课本计划").Rows.Count - 1
            dr = Tables("课本计划").Rows(i)
            dr("学期") = XQ
            dr("班级")  = j & format(i-idx+1,"00")
            dr("课本金额") = kb
            dr("计划人数") = rs/bs
        Next
    End If
next

 回到顶部
美女呀,离线,留言给我吧!
联友
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2565 威望:0 精华:0 注册:2013/5/23 9:49:00
  发帖心情 Post By:2016/11/22 12:24:00 [只看该作者]

谢谢

 回到顶部