Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

旧平台升级至2.11版后进度条报错问题

爱好者  发表于:2015-07-06 08:37:27  
复制

用旧版本升级至最新版本后,无法正常使用进度条,会出现报错提示,附代码如下:

Private Sub btnchengjiFX_Click()
 On Error GoTo ErrorHandler
Dim strSql As String
Dim rst1   As Object
Dim rst2   As Object
Dim cnn    As Object
Dim i      As String
Dim clspb  As PopupProgressBar
Dim Init   As Integer
    Set clspb = createinstance("PopupProgressBar")
    
    strSql = "UPDATE Tbl_chengji SET Tbl_chengji.总分 = [语文]+[数学]+[英语]+[科学]"
    DAORUNSQL (strSql)
    Set cnn = CurrentProject.Connection
    strSql = "SELECT  DISTINCT 学校, 年级, 班级, 班级名称 FROM Tbl_chengji"
    Set rst1 = OPENADORECORDSET(strSql, , cnn)
'班级名次
       strSql = "SELECT * FROM qry_chengjiorder  WHERE 学校 like" & sqltext(rst1![学校]) _
              & "and  班级名称  like " & sqltext(rst1![班级名称])
  
   
   clspb.StatusText = "正在进行班级排序…"           错误说明:到这里就会报错,旧有的版不会,新版本就会,为什么?
   clspb.PercentFormat = "0%"
   clspb.Max = rst1.RecordCount
   Init = 0
   rst1.MoveFirst
   Do Until rst1.EOF()
          
          strSql = "SELECT * FROM qry_chengjiorder  WHERE 学校 like" & sqltext(rst1![学校]) _
               & "and  班级名称  like " & sqltext(rst1![班级名称])
          Set rst2 = OPENADORECORDSET(strSql, adLockOptimistic, cnn)


        rst2.MoveFirst
        i = 0
        Do Until rst2.EOF
             i = i + 1
            rst2![班名] = i
            rst2.Update
            rst2.MoveNext
        Loop
    Init = Init + 1
    clspb.Value = Init
    rst1.MoveNext
   Loop


'级名次
    strSql = "SELECT  DISTINCT  年级  FROM Tbl_chengji"
    Set rst1 = OPENADORECORDSET(strSql, , cnn)
   clspb.PercentFormat = "0%"
   clspb.StatusText = "正在进行年级排序…"
   clspb.Max = rst1.RecordCount
   Init = 0
   
   rst1.MoveFirst
   Do Until rst1.EOF()
          
          strSql = "SELECT * FROM qry_chengjiorder  WHERE 年级 like" & sqltext(rst1![年级])
          Set rst2 = OPENADORECORDSET(strSql, adLockOptimistic, cnn)


        rst2.MoveFirst
        i = 0
        Do Until rst2.EOF
             i = i + 1
            rst2![级名] = i
            rst2.Update
            rst2.MoveNext
        Loop
    Init = Init + 1
    clspb.Value = Init
    rst1.MoveNext
   Loop
 
 clspb.CloseProgressBar
 msgboxex "成绩处理完毕!", vbOKOnly + vbInformation
 rst1.Close: Set rst1 = Nothing
 rst2.Close: Set rst2 = Nothing
 Me.RefreshDataList
ExitHere:
    clspb.CloseProgressBar
    Exit Sub


ErrorHandler:
    Select Case Err.Number
    Case errOpenActionWasCanceled, errOperationCanceledByUser
    Case Else
        RDPErrorHandler Me.Name & ": btnchengjiFX_Click()"
    End Select
    
    
    Resume ExitHere
End Sub

 

Top
易勋 发表于:2015-07-06 10:12:39
这是平台的BUG,请等下修复

总记录:1篇  页次:1/1 9 1 :