Foxtable(狐表)用户栏目专家坐堂 → [求助]用试用版编写的程序,过一段时间就不运行了


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

主题:[求助]用试用版编写的程序,过一段时间就不运行了

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]用试用版编写的程序,过一段时间就不运行了  发帖心情 Post By:2016/9/4 16:36:00 [显示全部帖子]

求教:安装试用版一个月左右,编写了一些小程序,开始运行都是正常的,但是过几天之后,程序就不运行了。情况如下:
1、为了知道是什么原因,就在代码最后加了个提示窗口“运行完毕!”。然后点击运行按钮,结果直接就弹出提示窗口“运行完毕!”,中间的代码实际没有运行。
2、随后,我就把主程序窗口导出,新建一个项目导入它,结果在新项目中能运行。但把其他辅助程序完善好,一开始也正常,但过几天又出现上述情况了。
3、上述情况反复出现多次,不知道是什么原因,请指教!

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/4 19:54:00 [显示全部帖子]

我把代码分成6段,用MessageBox.Show()来显示运行部位。
程序运行显示到MessageBox.Show(3)后,就直接显示MessageBox.Show(7),结束了程序。
If dr IsNot Nothing”往后没有再运行,但也没有出现错误提示。是不是IsNot Nothing...

请专家指教!代码如下:

'生成word报表:

Dim clbx1 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim clbx2 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox2")

For Each j As String In clbx2.CheckedIndices
    Dim tm As String  = ProjectPath & "模板文件\" & clbx2.Items(j) '指定模板文件
    For Each i As Integer In clbx1.CheckedIndices
        Dim fl As String = ProjectPath & "成品文件\" & clbx1.items(i) & clbx2.Items(j)      '指定目标文件
       MessageBox.Show(1) 

        '文件已经存在,是否覆盖重新填写
        If FileSys.FileExists(fl) Then
            If  MessageBox.Show(fl & "文件已经存在,是否覆盖重新填写?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No Then
                Continue For
            End If
        End If

        Dim nm As String  = CurrentTable.Name
        Dim dr As DataRow = DataTables(nm).Find("名称 = '" & clbx1.items(i) & "'")

--------------------------------------以下代码不运行
        '写入模板
        If dr IsNot Nothing
            Dim wrt As New WordReport(Tables(nm),tm,fl)    '定义一个WordReport
            wrt.BuildOne(dr)   
            wrt.quit
        End If
    Next
Next

[此贴子已经被作者于2016/9/4 20:31:29编辑过]

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/5 11:29:00 [显示全部帖子]

谢谢“有点酸”朋友,但实际上是有符合条件的行,程序没有判断出来。
现在的情况是如果新建一个项目,导入上述代码,可以正常运行,但运行几次之后,代码中间的部分就不运行了,等于没有生成word报表。也不提示出错信息。

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/5 11:43:00 [显示全部帖子]

弹出符合条件的行了,但没有往模板中写数据,就结束了。也不提示出错信息。

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/5 12:17:00 [显示全部帖子]

加上SQL也不行,我上传附件你看看!
附件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:开发.rar




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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/5 15:48:00 [显示全部帖子]

A的长度是3,是有问题,但不知道怎样造成的。如何纠正它?

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/5 16:34:00 [显示全部帖子]

谢谢!解决问题了。
这种空格实际上看不见,如果不用代码,还真不知道怎样删除。形成这种现象的原因会不会是这两种情况:
1、表数据是从execl导入的;
2、运行程序后,表数据发生了变化。

程序中这种表有好多个,我想一键清除所有的表中“名称”列的空格,还不太会写代码,請版主帮忙完善一下。谢谢!
For Each dt As DataTable In DataTables
Next
For Each r As Row In dt.Rows
    r("名称") = r("名称").Replace(chr(10), "").Replace(chr(13), "")
Next

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/5 17:28:00 [显示全部帖子]


显示“Rows不是datatable成员”
[此贴子已经被作者于2016/9/5 18:58:43编辑过]

 回到顶部