以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  大红袍老师:将原来没有保密号的赋新的保密号,原来有的不变的代码还是有问题,他总是将我有保密号的重新弄了,怎么解决,急!?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=70318)

--  作者:zgjmost
--  发布时间:2015/6/18 20:04:00
--  大红袍老师:将原来没有保密号的赋新的保密号,原来有的不变的代码还是有问题,他总是将我有保密号的重新弄了,怎么解决,急!?

大红袍老师:将原来没有保密号的赋新的保密号,原来有的不变的代码还是有问题,他总是将我有保密号的重新弄了,怎么解决,急!?

 

实例如下:在国考导入那个里面!

 

 

还有机考科目不选任何文件时,有对话框,麻烦您看一下!

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:国开考务之保密号问题.rar


--  作者:zgjmost
--  发布时间:2015/6/18 20:07:00
--  
同一教室同一试卷号赋相同的保密号,原来有的不能变,这个号还很重要!已有的是中央电大和省电大规定好的
--  作者:大红袍
--  发布时间:2015/6/18 20:17:00
--  

无语

 

Dim Q7 As  Integer = 11111
For Each ary88() As String In DataTables("选课数据表").GetValues("试卷号|教室")
    Dim drs88 As List(Of DataRow) = DataTables("选课数据表").Select("试卷号 = \'" & ary88(0) & "\' and 教室 = \'" & ary88(1) & "\'", "试卷号")
    Dim bmh  As String = "BXK" & Q7
    For i As Integer = 0 To drs88.Count - 1
        If drs88(i).Isnull("保密号") = False Then
            bmh = drs88(i)("保密号")
            Exit For
        End If
    Next
   
    For i As Integer = 0 To drs88.Count - 1
        drs88(i)("保密号") =  bmh
    Next
    Q7 = Q7 + 1
Next


--  作者:zgjmost
--  发布时间:2015/6/18 20:29:00
--  
但这个我也试了,好象也把我已有的改了啊?
--  作者:大红袍
--  发布时间:2015/6/18 20:29:00
--  
 代码没有问题
--  作者:zgjmost
--  发布时间:2015/6/18 20:34:00
--  

是正确的,谢谢!

 

Forms("主界面").Open()
MainTable = Tables("主界面")

Dim xhs1 As List(of String) = DataTables("选课数据表").GetValues("考点")
xhs1.Remove("")
If xhs1.Count <= 1 Then
    Dim dlg As new OpenFileDialog
    dlg.Filter= "Excel文件|*.xls"
    If dlg.ShowDialog = DialogResult.Ok Then
        application.DoEvents
        Dim Book As New XLS.Book(dlg.FileName)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        StatusBar.Message1= "正在导入数据,请稍候"
        application.DoEvents
        If sheet(0,0).text <> "试卷号" Or sheet(0,1).text <> "试卷名称" Or sheet(0,2).text <> "时长" Then
            MessageBox.Show("您的数据源不符合国家开放大学报表平台的数据格式,不能导入学生信息表数据!", "提示")
        Else
            DataTables("机考科目").StopRedraw
            For i As Integer  = 1 To sheet.Rows.Count -1
                Dim dr As DataRow = DataTables("机考科目").find("试卷号 = \'" & sheet(i,0).text & "\'")
                If dr IsNot Nothing Then
                    dr("试卷名称") = sheet(i,1).text
                    dr("时长") = sheet(i,2).text
                Else
                    dr = DataTables("机考科目").AddNew()
                    dr("试卷号") = sheet(i,0).text
                    dr("试卷名称") = sheet(i,1).text
                    dr("时长") = sheet(i,2).text
                End If
                application.DoEvents
            Next
            DataTables("机考科目").ResumeRedraw
        End If
    End If
   
    DataTables("机考科目").DeleteFor("试卷号 Is null Or 试卷号 = \'试卷号\'")
   
    MessageBox.Show("祝贺你!机考科目设置完成!", "提示")
    StatusBar.Reset()
   
    Tables("选课数据表").filter = ""
   
    For Each r As Row In Tables("选课数据表").rows
        Dim dr1 As DataRow = DataTables("机考科目").find("试卷号 = \'" & r("试卷号") & "\'")
        If dr1 IsNot Nothing Then
            r("时长") = dr1("时长")
            r("机考安排") = "机考安排"
            r("考场号")  = "机考"
        End If
    Next
   
    Tables("选课数据表").Filter = "[机考安排] = \'机考安排\' and [机考安排] <> \'不排考\'"
   
    Tables("选课数据表").Sort = "时长,试卷号,学号"
   
    Tables("选课数据表").Select(0,0,Tables("选课数据表").Rows.count - 1,Tables("选课数据表").Cols.count - 1 )
   
    Dim Book1 As New XLS.Book(ProjectPath & "Attachments\\机考安排表供安排之用.xls")
    Dim fl As String = ProjectPath & "Reports\\机考安排表供安排之用.xls"
    Book1.Build() \'生成细节区
    Book1.Save(fl) \'保存工作簿
   
    Tables("选课数据表").filter = ""
   
ElseIf xhs1.Count >= 2 Then
   
    Dim dlg As new OpenFileDialog
    dlg.Filter= "Excel文件|*.xls"
    If dlg.ShowDialog = DialogResult.Ok Then
        application.DoEvents
        Dim Book As New XLS.Book(dlg.FileName)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        StatusBar.Message1= "正在导入数据,请稍候"
        application.DoEvents
        If sheet(0,0).text <> "试卷号" Or sheet(0,1).text <> "试卷名称" Or sheet(0,2).text <> "时长" Then
            MessageBox.Show("您的数据源不符合国家开放大学报表平台的数据格式,不能导入学生信息表数据!", "提示")
        Else
            DataTables("机考科目").StopRedraw
            For i As Integer  = 1 To sheet.Rows.Count -1
                Dim dr As DataRow = DataTables("机考科目").find("试卷号 = \'" & sheet(i,0).text & "\'")
                If dr IsNot Nothing Then
                    dr("试卷名称") = sheet(i,1).text
                    dr("时长") = sheet(i,2).text
                Else
                    dr = DataTables("机考科目").AddNew()
                    dr("试卷号") = sheet(i,0).text
                    dr("试卷名称") = sheet(i,1).text
                    dr("时长") = sheet(i,2).text
                End If
                application.DoEvents
            Next
            DataTables("机考科目").ResumeRedraw
        End If
    End If
   
    DataTables("机考科目").DeleteFor("试卷号 Is null Or 试卷号 = \'试卷号\'")
\'Dim str As String = "学号,试卷号"
\'Dim idx As String = ""
\'Dim ary() As String = str.Split(",")
\'Dim pdr As DataRow = Nothing
\'Dim count As Integer = 0
\'For Each dr As DataRow In DataTables("选课数据表").Select("学号 is not null", str)
    \'Dim flag As Boolean = False
    \'For Each a As String In ary
        \'If pdr IsNot Nothing AndAlso dr(a) <> pdr(a) Then
            \'flag = True
        \'End If
    \'Next
    \'If flag = False Then
        \'count += 1
    \'Else       
            \'idx &= pdr("_Identify") & ","       
        \'count = 1
    \'End If
    \'pdr = dr
\'Next
\'
\'For Each a As String In ary
    \'If pdr IsNot Nothing AndAlso Tables("选课数据表").Rows(Tables("选课数据表").Rows.count-2)(a) <> pdr(a) Then
        \'idx &= pdr("_Identify") & ","
    \'End If
\'Next
\'
\'DataTables("选课数据表").DeleteFor("_Identify not in (" & idx.trim(",") & ")")
    \'
    MessageBox.Show("祝贺你!机考科目设置完成!", "提示")
    StatusBar.Reset()
   
    Tables("选课数据表").filter = ""
   
    For Each r As Row In Tables("选课数据表").rows
        Dim dr1 As DataRow = DataTables("机考科目").find("试卷号 = \'" & r("试卷号") & "\'")
        If dr1 IsNot Nothing Then
            r("时长") = dr1("时长")
            r("机考安排") = "机考安排"
        End If
    Next
   
    Tables("选课数据表").Filter = "[机考安排] = \'机考安排\' and [机考安排] <> \'不排考\'"
   
    Tables("选课数据表").Sort = "考点,时长,试卷号,学号"
   
    Tables("选课数据表").Select(0,0,Tables("选课数据表").Rows.count - 1,Tables("选课数据表").Cols.count - 1 )
   
    Dim Book1 As New XLS.Book(ProjectPath & "Attachments\\机考安排表供多考点安排之用.xls")
    Dim fl As String = ProjectPath & "Reports\\机考安排表供多考点安排之用.xls"
    Book1.Build() \'生成细节区
    Book1.Save(fl) \'保存工作簿
   
    Tables("选课数据表").filter = ""
End If


--  作者:zgjmost
--  发布时间:2015/6/18 20:34:00
--  
上面这段代码,当我不做文件选择时,会报错!?
--  作者:大红袍
--  发布时间:2015/6/18 20:40:00
--  

 要说多少次?加判断啊

 

If Tables("选课数据表").Rows.count > 0 Then

    Tables("选课数据表").Select(0,0,Tables("选课数据表").Rows.count - 1,Tables("选课数据表").Cols.count - 1 )

End If