Foxtable(狐表)用户栏目专家坐堂 → 筛选更新学生和筛选新增学生代码


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

主题:筛选更新学生和筛选新增学生代码

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/16 20:28:00 [显示全部帖子]

参考

 

Dim t As Table = Tables("学生基本信息") 'e.Form.controls("Table1").Table
Dim r As DataRow
Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then
    t.StopRedraw()
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim newcount As Integer = 0
    Dim oldcount As Integer = 0
    For n As Integer = 1 To Sheet.Rows.Count -1
        r = t.DataTable.SQLFind("身份证号 = '" & sheet(n, 2).text & "'")
        If r Is Nothing Then
            r = t.DataTable.AddNew()
            Dim max As String = DataTables("学生基本信息").SQLCompute("Max(学生编号)","学生编号 Like '201809%'")
            If max = "" Then
                r("学生编号") = "201809" & "001"
            Else
                Dim v As Integer = max.SubString(6,3)
                r("学生编号") = "201809" & format(v +1,"000")
            End If
            newcount += 1
            r("编号") = "1"
        Else
            r("编号") = "2"
            oldcount += 1
        End If
        For i As Integer = 0 To sheet.Cols.Count -1
            Dim cname As String = sheet(0, i).text
            If t.Cols.Contains(cname) Then
                r(cname) = sheet(n, i).Text
            End If
        Next
        r.save
    Next
    msgbox("新增" & newcount & "    " & "更新旧数据" & oldcount)
    t.ResumeRedraw()
End If
t.SetColVisibleWidth("学生编号|90|学生姓名|120|身份证号|120|民族|60|编号|40|")
t.DataTable.load
t.Filter = "编号 = '1' Or  编号 = '2'"

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/18 10:04:00 [显示全部帖子]

1、msgbox(ary(1)) 看看值是否正确;弹出什么?

 

2、你学期列如果不是字符列(是数值列的话),就不要加单引号。

 

3、你去后台数据表那里查看,是否修改保存了,有可能你没刷新数据看不到后台效果。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/18 10:47:00 [显示全部帖子]

1、弹出的ary(1)的值是否正确?

 

2、实例发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/18 12:52:00 [显示全部帖子]

For n As Integer = 1 To t.Rows.Count -1

 

改成

 

For n As Integer = 0 To t.Rows.Count -1


 回到顶部