Foxtable(狐表)用户栏目专家坐堂 → 总分唯一排名代码问题


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

主题:总分唯一排名代码问题

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


加好友 发短信
等级:四尾狐 帖子:829 积分:5696 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/2/26 18:53:00 [只看该作者]

非常感谢,非常佩服蓝老师的技术实力深厚

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


加好友 发短信
等级:四尾狐 帖子:829 积分:5696 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/2/27 11:17:00 [只看该作者]

DataTables("班级课程表").DeleteFor("")
Dim s As String = e.Form.Controls("ComboBox1").text '组合框
'Dim s As String = e.Form.Controls("CheckedComboBox1").text  '复选组合框
For Each v As String() In DataTables("课程表信息").GetValues("年级班级|编排序号|节次|时间", "年级班级='" & s & "'") 
    Dim dr As DataRow = DataTables("班级课程表").AddNew()
    dr("年级班级") = v(0)
    dr("编排序号") = v(1)
    dr("节次") = v(2)
    dr("时间") = v(3)
    Dim prds As List(Of DataRow) = DataTables("课程表信息").select("年级班级='" & v(0) & "' And 编排序号='" & v(1) & "' and 节次='" & v(2) & "' And 时间 = '" & v(3) & "'And 年级班级 = '" & s & "'")
    For Each prd As DataRow In prds 
        dr(prd("星期")) = prd("课程名称")
    Next 
Next
MainTable = Tables("班级课程表")
老师,上面运用 “组合框”这个代码非常完美,我想运用复选组合框代替组合框,麻烦蓝老师帮忙修改一下代码

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


加好友 发短信
等级:超级版主 帖子:109894 积分:559228 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/27 11:21:00 [只看该作者]

Dim s As String = e.Form.Controls("CheckedComboBox1").text  '复选组合框
For Each v As String() In DataTables("课程表信息").GetValues("年级班级|编排序号|节次|时间", "年级班级 in ('" & s.replace(",","','") & "')") 

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


加好友 发短信
等级:四尾狐 帖子:829 积分:5696 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/2/27 19:57:00 [只看该作者]

谢谢老师,好用

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


加好友 发短信
等级:四尾狐 帖子:829 积分:5696 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/2/28 15:36:00 [只看该作者]

'列出当前表所有的列名称
For Each cl As Col In CurrentTable.Cols
    Dim cmb As WinForm.ComboBox = e.form.Controls("ComboBox1") 
    cmb.ComboList = cl.Name 
Next
老师,请看一下怎么列的不齐全?

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


加好友 发短信
等级:超级版主 帖子:109894 积分:559228 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/28 15:46:00 [只看该作者]

Dim cmb As WinForm.ComboBox = e.form.Controls("ComboBox1") 
For Each cl As Col In CurrentTable.Cols
    cmb..items.add( cl.Name )
Next

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


加好友 发短信
等级:四尾狐 帖子:829 积分:5696 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/2/29 9:02:00 [只看该作者]

Dim Builder As New ADOXBuilder
Builder.Open() '打开ADOXBuilder
Dim sm As String = e.Form.Controls("新增列").Value '指定列 
For Each dt As DataTable In DataTables 
    If dt.datacols.Contains(sm) = False Then '先判断是否重复'       
        With Builder.Tables("表A") 
            .AddColumn(sm , ADOXType.String, 20) '增加字符列,长度为20  
        End With
        MessageBox.Show("列已新增成功,请重新打开项目", "提示!")
    Else
        MessageBox.Show("列已存在,不能重复新增!", "提示!")
    End If
Next
Builder.Close() '关闭ADOXBuilder
老师,请帮我看一下这段代码有何不妥,特别是第二个提示没显示出来

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


加好友 发短信
等级:超级版主 帖子:109894 积分:559228 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/29 9:07:00 [只看该作者]

    If dt.datacols.Contains(sm) = False Then '先判断是否重复'       
        With Builder.Tables(dt.name) 
            .AddColumn(sm , ADOXType.String, 20) '增加字符列,长度为20  
        End With

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


加好友 发短信
等级:四尾狐 帖子:829 积分:5696 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/2/29 9:34:00 [只看该作者]

这样写的话,这个项目所有表都会新增这一列。我只想对表A新增

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


加好友 发短信
等级:超级版主 帖子:109894 积分:559228 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/29 9:46:00 [只看该作者]

那就不要遍历所有表啊,去掉循环

 回到顶部