各位老师,举例:有两个窗口:窗口1表table1有三列“姓名”、“”部门“”,“职位“,通过提取部门列的值作为变量;每次根据变化焦点单元格的值,来改变全局变量“gxmc”的值并打开窗口2;
窗口2“销售分析”;通过获取“gxmc”的值来显示不同部门的分析图表;并且在窗口2计时器代码执行窗口关闭时,通过afterclose改变全局变量“i”的值来移动窗口1table1的当前行位置;
通过设置table1窗口的双击事件代码,手动双击“部门”列不同行的值来测试窗口2显示不同部门图表的功能已经解决了,现在想通过增加计时器代码自动模拟鼠标点击,实现窗口1当前行循环自动切换;该怎么解决?问题:
1、怎么在打开窗口1加载数据后,单元格坐标就固定在第二列“部门”的第一行:tables("table1")(0,"部门");
2、代码控制当前行移动到下一行时,焦点单元格坐标也移动到下一行:tables("table1")(1,"部门");
3、移动到最后一行时回到第一行;依次类推......
4、窗口2的afterclose的变量“i”的值循环变化怎么解决;
5、窗口1的部门列的行是动态生成的;
这段table1的计时器代码怎么改?谢谢!
定义一个整数型全局变量 “i” 初始值为0:
Dim tbl As Table = Tables("窗口1_Table1")
Dim tb As String
tb = Tables(e.form.name & "_Table1").Value(0,"部门")
If Vars("i") = 0 Then
tb = tbl.Value
e.Cancel = True
If tbl.Value IsNot Nothing Then
Vars("gxmc") = tbl.Current("部门")
Forms("销售分析").Show '窗口关闭时 i 的值等于1代码写在窗口的afterclose下
If tbl.Position < tbl.Rows.Count - 1
tbl.Position = tbl.Position + 1
Else
tbl.Position = 0
End If
End If
ElseIf Vars("i") = 1 Then
tb = tbl.Value
e.Cancel = True
If tbl.Value IsNot Nothing Then
Vars("gxmc") = tbl.Current("部门")
Forms("销售分析").Show '窗口关闭时 i 的值等于2代码写在窗口的afterclose下
If tbl.Position < tbl.Rows.Count - 1
tbl.Position = tbl.Position + 1
Else
tbl.Position = 0
End If
End If
ElseIf vars("i") = 2 Then
代码3.....
ElseIf vars("i") = 3 Then
代码4.....
.....
End If
[此贴子已经被作者于2019/11/27 14:19:04编辑过]