Foxtable(狐表)用户栏目专家坐堂 → 老师,我做的日历报错


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

主题:老师,我做的日历报错

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/18 13:59:00 [显示全部帖子]

全局代码绑定到panel是这样写的:

'为了方便应用,直接将控件绑定到传入的Panel控件
Public Sub Panel绑定(ByVal pl As Foxtable.WinForm.Panel)

完整代码呢?


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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/18 14:25:00 [显示全部帖子]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,找出出错的代码

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/18 17:07:00 [显示全部帖子]

一样可以调试

Public Sub Panel绑定(ByVal pl As Foxtable.WinForm.Panel)
'绑定后刷新数据
_Panel = pl.BaseControl
_Panel.AutoScroll = True
Me.Dock = System.Windows.Forms.DockStyle.Fill
pl.BaseControl.Controls.Add(Me)
msgbox(1)
事务标签背景刷新()
msgbox(2)
表格计算()              '此处次序不能搞错
msgbox(3)
数据刷新()
msgbox(4)
事务标签布局()
msgbox(5)
_bl = True
End Sub

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/19 9:04:00 [显示全部帖子]

那么再到【事务标签布局()】函数里面同样方式调试

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/20 20:03:00 [显示全部帖子]

哪一句代码出错?

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/22 9:32:00 [显示全部帖子]

每个Public Sub xxxx()都是一个独立的函数,像8楼的Panel绑定里根本都没有调用【当前表数据刷新()】这个函数,当然不出来。9楼说【4出来了,5不出来】那就是【事务标签布局()】函数有问题,请到Public Sub 事务标签布局()这个函数里面去调试

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/22 10:40:00 [显示全部帖子]

纠结这些没有意义,找出有问题的代码。

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/22 10:51:00 [显示全部帖子]

   '获取单元格的坐标
msgbox(c & "," & Me.Cols.count)
    Left = Me.Cols(c).Left
msgbox("Left =" & Left )
    Width = Me.Cols(c).Right - Left
msgbox("Width =" & Width )
msgbox(r & "," & Me.Rows.count)
    Top = Me.Rows(r).Top
    Height = Me.Rows(r).Height - 2
msgbox(22)

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/22 12:00:00 [显示全部帖子]

-5?列的索引肯定不能是负数!


'循环字典
Dim a As 事务标签
For Each str In dc.Keys
msgbox("str=" & str)
    'd = (CDate(str) - _表首).Days   '和表首的日期差
    'r = (d \ 7) * 2 + 3             '取整数(行),跨行
    'c = (d Mod 7) + 1               '取列位置
' →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→2020.02.04 这里是代码修改的部分开始
msgbox("_表首=" & _表首)
    d = (CDate(str) - _表首).Days   '和表首的日期差
msgbox("d=" & d)
    If  周历开个 =  0 Then '这里的周历开个其实是周历开关的意思, 我(李小胖)后期已经修改了
        r = (d \ 7) * 2 + 3             '取整数(行),跨行
    Else
        If d >= 7 Then
            Continue For
        Else
            r =   3
        End If
    End If
    c = (d Mod 7) + 1               '取列位置
msgbox("c=" & c)    
    If dc(str).Count > 4 Then
        n_行数 = 4
    Else
        n_行数 = dc(str).Count
    End If
'→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→2020.02.04 这里是代码修改的部结束
    '获取单元格的坐标
    Left = Me.Cols(c).Left

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


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/22 12:17:00 [显示全部帖子]

很明显日期值不对,_表首赋值有问题,同样的调试方法,在哪里开始给_表首赋值的检查相关代码

 回到顶部
总数 14 1 2 下一页