Foxtable(狐表)用户栏目专家坐堂 → 自动输入班级


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

主题:自动输入班级

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/15 16:38:00 [显示全部帖子]

没看懂

 
以下是引用联友在2016/11/15 16:11:00的发言:


那么103升二年级分别到201或202,可招人数比较多的班级去,求代码?谢谢!


具体什么操作逻辑

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/15 17:30:00 [显示全部帖子]

这样就只能写死了

Dim d As Date = Date.Today
Dim SXQ As String
If d.Month >= 5 And d.Month <=11 Then
    SXQ = d.Year & "年春季"
Else If d.Month = 12 Then
    SXQ  = d.Year & "年秋季"
Else If d.Month < 5 Then
    SXQ  = (d.Year-1) & "年秋季"
End If
Dim min As Integer = DataTables("学生信息").Compute("Count(学生姓名)","学期 = '"& SXQ &"'And 班级 = '101'")
Dim c As Integer = DataTables("学生信息").Compute("Count(学生姓名)","学期 = '"& SXQ &"'And 班级 = '102'")
Dim bj As Integer = 101
If c < min Then bj = 102
Dim fdr As DataRow = DataTables("学生信息").find("学期 = '"& SXQ &"'And 学生姓名 = '" & e.Form.controls("学生姓名").Text & "'")
If fdr IsNot Nothing Then
    If fdr("学期") Like "*春*" Then
        If fdr("班级") = 103 Then
            e.Form.controls("班级").Text = bj+100
        Else
            e.Form.controls("班级").Text = fdr("班级")+100
        End If
    Else
        e.Form.controls("班级").Text = fdr("班级")
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/15 20:45:00 [显示全部帖子]

Dim d As Date = Date.Today
Dim SXQ As String
If d.Month >= 5 And d.Month <=11 Then
    SXQ = d.Year & "年春季"
Else If d.Month = 12 Then
    SXQ  = d.Year & "年秋季"
Else If d.Month < 5 Then
    SXQ  = (d.Year-1) & "年秋季"
End If
Dim fdr As DataRow = DataTables("学生信息").find("学期 = '"& SXQ &"'And 学生姓名 = '" & e.Form.controls("学生姓名").Text & "'")
If fdr IsNot Nothing Then
    If fdr("学期") Like "*春*" Then
        Dim bjs As List(Of String) = DataTables("计划人数").GetValues("班级","学期 = '"& SXQ &"'")
        If bjs.Contains(cstr(fdr("班级")+100)) Then
            e.Form.controls("班级").Text = fdr("班级")+100
        Else
            Dim pre As String  = cint(fdr("班级").ToString().SubString(0,1)) + 1
            Dim count As Integer
            Dim min As Integer = 999
            Dim newbj As String
            For Each bj As String In bjs
                If bj.StartsWith(pre) Then
                    count = DataTables("学生信息").Compute("count(学生姓名)","学期 = '" & SXQ & "' And 班级='" & bj & "'")
                    If count < min Then
                        min = count
                        newbj = bj
                    End If
                End If
            Next
            e.Form.controls("班级").Text = newbj
        End If
    Else
        e.Form.controls("班级").Text = fdr("班级")
    End If
End If

 回到顶部