Foxtable(狐表)用户栏目专家坐堂 → 【求助】移动单元格和改变全局变量问题


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

主题:【求助】移动单元格和改变全局变量问题

帅哥哟,离线,有人找我吗?
狐表(小白)
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:3967 威望:0 精华:0 注册:2019/9/17 10:06:00
【求助】移动单元格和改变全局变量问题  发帖心情 Post By:2019/11/27 14:18:00 [只看该作者]

各位老师,举例:有两个窗口:
窗口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编辑过]

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


加好友 发短信
等级:超级版主 帖子:106603 积分:542186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 14:28:00 [只看该作者]

窗口1afterload
'其它加载数据代码
 Tables("窗口1_Table1").select(0, Tables("窗口1_Table1").cols("部门").index)

移动行的用法
if Tables("窗口1_Table1").position = Tables("窗口1_Table1").rows.count - 1 then
Tables("窗口1_Table1").position = 0
else
Tables("窗口1_Table1").position = Tables("窗口1_Table1").position + 1
end if
 Tables("窗口1_Table1").select(Tables("窗口1_Table1").position, Tables("窗口1_Table1").cols("部门").index)

 回到顶部
帅哥哟,离线,有人找我吗?
狐表(小白)
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:3967 威望:0 精华:0 注册:2019/9/17 10:06:00
  发帖心情 Post By:2019/11/27 14:53:00 [只看该作者]

谢谢老师!

 回到顶部