Office中国论坛/Access中国论坛

标题: 为什么设计好的作品在重新增加一个数组(10,22) [打印本页]

作者: lkkl66    时间: 2008-12-26 22:33
标题: 为什么设计好的作品在重新增加一个数组(10,22)
求助各位:

为什么设计好的作品正常运行没有问题,在数据库某一个窗体中→增加一个数组 abc(9,21)变量,其目的是用来获取某一个表中的字段值,共计220个,是以循环的方式获取的,而且单独执行该窗体后会出现:不执行一些事件,比如数据更新事件,是变量设置过多?还是其它什么原因?
作者: Henry D. Sy    时间: 2008-12-26 22:36
光这样说,搞不清楚。能不能传例子
作者: lkkl66    时间: 2008-12-26 22:41
标题: 回复 2# 的帖子
太大,不过我可以发图片,稍等!

[ 本帖最后由 lkkl66 于 2008-12-26 23:06 编辑 ]
作者: Henry D. Sy    时间: 2008-12-26 22:47
至少贴个代码
作者: lkkl66    时间: 2008-12-26 23:15
标题: 回复 4# 的帖子
Private Sub JDBZDXS1(QS As Integer, JS As Integer, HS As Integer) '======指定显示页========QS--起始记录号  JS--结束记录号    HS--行数
On Error GoTo CHUCUOCHULI
Dim III, JDBLSBL, JDBQSJS  'III--循环变量, JDBLSBL--临时变量, JDBQSJS--进度表件号起始件数
Dim PP1, PP2, StrTemp1 As String
Dim Rs1 As ADODB.Recordset
Set Rs1 = New ADODB.Recordset
StrTemp1 = "Select * From JDB工序"    '打开《JDB工序》数据集
Rs1.Open StrTemp1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic '打开《JDB工序》数据集
If Rs1.RecordCount > QS Then
Rs1.Move QS
End If
    For III = QS To JS
            If QS = III Then
            JDBQSJS = Rs1("件数1")  '目的:消除最后一排件号、工序显示完后的《起始件数》继续显示的问题!2008.12.15
            End If
        JDBLSBL = JDBLSBL + 1 '为每一排的工序---排显示顺序!
        Select Case HS
               Case 1
            JDBGZ(1, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(1, JDBLSBL) = Rs1("工时类别")
               Case 2
            JDBGZ(2, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(2, JDBLSBL) = Rs1("工时类别")
               Case 3
            JDBGZ(3, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(3, JDBLSBL) = Rs1("工时类别")
                Case 4
            JDBGZ(4, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(4, JDBLSBL) = Rs1("工时类别")
               Case 5
            JDBGZ(5, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(5, JDBLSBL) = Rs1("工时类别")
               Case 6
            JDBGZ(6, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(6, JDBLSBL) = Rs1("工时类别")
               Case 7
            JDBGZ(7, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(7, JDBLSBL) = Rs1("工时类别")
               Case 8
            JDBGZ(8, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(8, JDBLSBL) = Rs1("工时类别")
               Case 9
            JDBGZ(9, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(9, JDBLSBL) = Rs1("工时类别")
               Case 10
            JDBGZ(10, JDBLSBL) = Replace(Trim(Rs1("工种")), " ", "")
'            JDBNB(10, JDBLSBL) = Rs1("工时类别")
        End Select
        If Rs1.AbsolutePosition <= JS Then
            Rs1.Move 1
        End If
    Next III
Rs1.Close   '关闭《JDB工序》数据集
Set Rs1 = Nothing
Select Case HS
作者: lkkl66    时间: 2008-12-26 23:21
标题: 回复 4# 的帖子
Option Compare Database
Dim JHMC(99), GZJH(99)
Dim JDBGZ(10, 22), JDBNB(10, 22)
Dim JDBYS, JDBYC, JDBYC1 As Integer '用于处理--进度表编辑时的页数2008.12.13
Dim JDBJS1, JDBJS2, JDBJS3, JDBJS4, JDBJS5, JDBJS6 '用于处理--进度表各工序详细

问题出在增加:

JDBNB(10, 22)  --------此数组上,屏蔽后就不回出问题,
其目的是控制进度表的颜色(实时跟踪用)
作者: Henry D. Sy    时间: 2008-12-26 23:39
JDBNB是用来保存rs1的记录集的,用循环赋值会不会出现问题
看代码有点晕晕的,也不明白你的真正目的。
作者: lkkl66    时间: 2008-12-26 23:50
标题: 回复 7# 的帖子
很怪的问题!而且此问题影响整个系统,只要屏蔽此数组系统就正常(而且数组命名也查过、更换过)我就怀疑是数组问题,我看看用定义220单个字符型变量是否可行!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3