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


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

主题:自动输入班级

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


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

一年级3个班分别:101、102、103

二级2个班分别;201、202

101、102升二年级分别到201、202

代码是

Dim fdr As DataRow = DataTables("学生信息").find("学期 = '2016年春季' And 学生姓名 = '" & e.Form.controls("学生姓名").Text & "'")
If fdr IsNot Nothing Then
    If fdr("学期") Like "*春*" Then
        e.Form.controls("班级").Text = fdr("班级")+100
    Else
        e.Form.controls("班级").Text = fdr("班级")
    End If
End If

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望: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,可招人数比较多的班级去,求代码?谢谢!


具体什么操作逻辑

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


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

2016年春季一年级3个班分别:101、102、103

 

2016年秋季二年级只有2个班,分别到201、202

原101班的到现201班,原102班的到现202班,原103班分别到现201或者202班,人数比较少的班级去

 

[此贴子已经被作者于2016/11/15 17:00:34编辑过]

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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望: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

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


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

这样不行,能不能像这样

在班级 输入框

ValueChanged

  If forms("可招人数").Opened Then
     If e.Form.controls("班级").Text <> Tables("可招人数_Table1").列标题 Then

        e.Form.controls("班级").Text=e.Form.controls("班级").Text-1

    Else

        e.Form.controls("班级").Text=e.Form.controls("班级").Text
   End If

End If


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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望: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

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


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

谢谢老师,早点休息吧

 回到顶部