以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  点导入图片老是显示错误信息,哪位帮忙看看,  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42393)

--  作者:jinzhengbe
--  发布时间:2013/11/10 16:13:00
--  点导入图片老是显示错误信息,哪位帮忙看看,

程序已经上传。麻烦给看看奥~~~ 非常非常感谢

 

http://pan.baidu.com/s/1FwSXj

 

文件有点大,所以传道网盘上了,还望给位前辈指点一下。~~~~

[此贴子已经被作者于2013-11-10 16:21:23编辑过]

--  作者:有点甜
--  发布时间:2013/11/10 19:36:00
--  
 看了一下,你按钮的代码没有错。错在了你表事件datacolchanged的代码,自己改一下。
--  作者:jinzhengbe
--  发布时间:2013/11/11 4:38:00
--  能具体说一下么?我实在是找不出来才穿上了
能具体说一下么?我实在是找不出来才穿上了
--  作者:狐狸爸爸
--  发布时间:2013/11/11 8:42:00
--  

你都已经开始调试了,既然没有出现MessageBox之前,就提示错误,你就将MessageBox往前面移动。

 

其实这种错误,都是自己编码不严谨,不做基本的条件判断造成的,正常应该这样:

 

 

If e.DataCol.name="color" AndAlso Tables("newmoo_product").Current IsNot Nothing Then
    e.DataRow("pic")="upfile1/pic/" & e.DataRow("ppp")
    Dim s As String = Tables("newmoo_product").Current("ppp")
    If s > "" Then
        s=filesys.GetName(s)  \'得到的是 asss.jpg
        e.DataRow("tao") = s.SubString(0,s.LastIndexOf(".")) & ":1:0:|;"
        e.DataRow("tao1") = s.SubString(0,s.LastIndexOf("."))
        e.DataRow("cn_name")= e.DataRow("tao1")
    End If
End If
If e.DataCol.Name = "costPrice" Then
    If e.DataRow("costPrice") Then
        \'e.DataRow("salePrice")= e.DataRow("costPrice") * 2 /170
    End If
End If

 

 

没有这些判断,那么如果没有当前行呢,如果s为空呢,如果编辑的不是costPrice呢? 前面两个如果会导致出错,后面这个如果会导致没有必要的重复计算。

 

其实编程么有什么技巧可言的,特别是在foxtable中编程。


--  作者:jinzhengbe
--  发布时间:2013/11/17 2:49:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看