Foxtable(狐表)用户栏目专家坐堂 → 不知道哪里错了


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

主题:不知道哪里错了

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/10 15:04:00 [只看该作者]

我不知道该如何解释 我新做了个实例 一样的代码 实例没有问题 我这个项目上就是不行  有时候我发现我这个项目在试用的时候好像老是忘记执行一些代码,重新登录或者进入代码编辑界面不改任何代码按确定 就好了

一直很莫名其妙;

 Dim t As Table= Tables("配载订单")
addhandler t.grid.MouseEnterCell, addressof MouseLeaveCell
addhandler t.grid.MouseLeaveCell, addressof MouseEnterCell
t = Tables("客服跟单")
addhandler t.grid.MouseEnterCell, addressof MouseLeaveCell
addhandler t.grid.MouseLeaveCell, addressof MouseEnterCell
t = Tables("回单异常")
addhandler t.grid.MouseEnterCell, addressof MouseLeaveCell
addhandler t.grid.MouseLeaveCell, addressof MouseEnterCell
t = Tables("应付款项")
addhandler t.grid.MouseEnterCell, addressof MouseLeaveCell
addhandler t.grid.MouseLeaveCell, addressof MouseEnterCell

在项目属性里 点确定报未声明mouseleavecell

 

另外

Dim jdrs As List(of DataRow) = DataTables("价目表").Select("('|' + 项目 + '|') like '%|" & dr("项目") & "|%' and 城市 like '%" & dr("城市") & "%'")

假如:                                                                               三星|麦德龙|李锦记 like            麦德龙直送             and     广州  like     广州市  

就是 算不出运费    要改为:                                                   三星|麦德龙直送|李锦记 like       麦德龙直送             and     广州市 like 广州市

才行  这like等同于 = 了 

难道是说我该用开发版才能解决这些问题吗


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/10 15:11:00 [只看该作者]

Dim jdrs As List(of DataRow) = DataTables("价目表").Select("('|' + 项目 + '|') like '|%" & dr("项目") & "%|' and 城市 like '%" & dr("城市") & "%'")

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/10 15:47:00 [只看该作者]

您当时给我的不重复导入的代码 今天在其他电脑上又出现了可以重复导入的现象 其实我现在的问题好像在您那都是不一样的状态 是否真的跟是否是开发版有关

如果代码没有问题 开发版是否可以稳定的执行代码 不会出现这些类似的现象

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/10 15:49:00 [只看该作者]

1、你用的是试用版?用了多久,是否是期限到了?

 

2、重复的问题,代码、数据的问题都有可能,有些数据可能没考虑到。如果同样数据导入结果不同,就是版本的问题。


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/10 16:12:00 [只看该作者]

找不到方法:“Void UserCode.MouseLeaveCell(System.Object, C1.Win.C1FlexGrid.RowColEventArgs)”。现在又来了个新异常 打开项目显示的

  还有未声明 mouseleavecell 这个要怎样声明

其实到了这一步 已经算是临门一脚 这几天试用正常的话  也算是得到领导的认可 就能购买开发版了  

虽然我可能只算一个菜鸟,但我真心想像您一样在这条路上有所成效

接下来我会重新一步一步开始学好VB 

劳烦您了 不厌其烦的给予帮助

如果有可能是否能帮忙看看整个项目还有哪些不足 我知道这么说我得寸进尺了 其实我真心希望能有偿的回报您的帮助

我十月份才正式接触foxtable 试用版到现在应该还未过期 版本应该也是最新的  


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/10 16:14:00 [只看该作者]

把bin文件夹删除,重新打开。

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/11 12:02:00 [只看该作者]

在数据未导入前或者导入后是否可以经过某种方法 或者在导入代码的基础上增加更严谨的判断识别被导入的数据

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim App As New MSExcel.Application
    try
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("计划表")
        Dim Rg As MSExcel.Range = Ws.UsedRange
        Dim ary = rg.value
       
        Tables("配载订单").ResumeRedraw()
        Tables("配载订单").StopRedraw()
        Dim nms() As  String = {"项目","下单日期","MK号","DO号","城市","客户","送货地址","物料代码","数量","体积","重量","承运商","司机","车牌","车数","车型","出车日期"}
        Dim count As Integer = 0
        Dim ls As new List(of Integer)
        Dim dic As new Dictionary (Of DataRow, Integer)
       
        For n As Integer = 2 To ws.UsedRange.Rows.Count
           
            Dim filter As String = "1=1"
            For m As Integer = 0 To nms.length-1
                Dim vl As object = ary(n,m+1)
                Dim dc As String = nms(m)
                Dim c As Col = Tables("配载订单").Cols(dc)
                If vl = Nothing Then
                    filter &= " and " & dc & " is null"
                Else
                    If c.IsNumeric Then
                       
                        filter &= " and " & dc & " >= " & vl - 0.0001 & " and " & dc & " <= " & vl + 0.0001
                       
                    ElseIf c.IsBoolean Then
                        If vl = True Then
                            filter &= " And " & dc & " = true"
                        Else
                            filter &= " and " & dc & " = false"
                        End If
                    ElseIf c.IsDate Then
                       
                        Dim d As Date
                        If Date.TryParse(vl, d)
                            filter &= " and " & dc & " = #" & d.Date & "#"
                        End If
                       
                    Else
                       
                        filter &= " and " & dc & " = '" & vl & "'"
                       
                    End If
                End If
            Next
            Dim dr As DataRow = DataTables("配载订单").find(filter)
            If dr Is Nothing Then
                output.show(filter)
                ls.Add(n)
                count += 1
            Else
                dic.add(dr, n)
            End If
        Next
        For Each n As Integer In ls
           
            Dim r As  Row = Tables("配载订单").AddNew()
            For  m As  Integer = 0 To nms.Length - 1
                If ary(n,m+1) = Nothing Then
                    r(nms(m)) = Nothing
                Else
                    If Tables("配载订单").Cols(nms(m)).IsDate Then
                        Dim d As Date
                        If Date.TryParse(ary(n,m+1), d)
                            r(nms(m)) = d
                        End If
                    Else
                        r(nms(m)) = ary(n,m+1)
                    End If
                End If
               
            Next
           
        Next
        Tables("配载订单").ResumeRedraw()
        msgbox("共有 "& count &" 条数据导入" )
       
    catch ex As exception
        msgbox(ex.message)
    finally
        app.quit
    End try
End If

Tables("配载订单").save
e.Form.Controls("提示").Text = "正在导入,请稍后..."
Application.DoEvents()
e.Form.Controls("提示").Text = "已经导入完成."
e.Form.TimerInterval = 5000
e.Form.TimerEnabled = True

 

这一段代码 在很大程度上已经可以限制了重复导入 但还有落网之鱼  特别是在用外部数据源时漏网的很多 但是我改用内部数据之后又没有这种现象 很奇怪的现象 这已经提起好多次了 同一张数据表在没有任何改动的情况下只做重复导入测试,但每一次都没有都因为在内部使用中不可重复导入而停止完善 假如是因为版本的问题 我建议既然有推出了试用的功能那么在试用的阶段也要保障代码的完整执行 相信一个有着完善项目功能心态的作者不会只是停步于试用

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/11 12:05:00 [只看该作者]

那你把这句代码去掉试试

 

filter &= " and " & dc & " >= " & vl - 0.0001 & " and " & dc & " <= " & vl + 0.0001

 

不行,就做个具体的例子上来测试啊


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/11 16:03:00 [只看该作者]

好像真可以 我多试试

 


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/11 17:44:00 [只看该作者]

导进来的数据 每一行自动生成一个不重复的系统订单号 往下递交数据时之对比这个订单号 要怎么实现自动生成 比如0000001  0000002


 回到顶部
总数 41 上一页 1 2 3 4 5 下一页