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


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

主题:不知道哪里错了

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
不知道哪里错了  发帖心情 Post By:2015/12/9 18:01:00 [显示全部帖子]

在应付款项窗口单击计算运费 有时候不报错 有时候报 and运算符前缺少操作数 条件应该都满足啊 运费跟点费我删掉之后 计算也报错 (就算不报错)计算结果也不对

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4_201512091759.zip


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/10 11:37:00 [显示全部帖子]

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

项目 like '%" & dr("项目") & "%'  在价目表中 项目这一列 我是这样写的 麦德龙|三星|李锦记   怎样加 .split("|")


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/10 11:54:00 [显示全部帖子]

表"应付款项"的项目行是唯一的 价目表的项目行是这样的:三星|麦德龙|李锦记 要注明|让系统识别吗

不知道是我电脑问题还是什么 同一段代码在不同表属性里的功能为什么不一样

If ridx > 0 Then
    If  math.abs(e.OldRange.TopRow - e.OldRange.BottomRow) >= 1 Then
        If e.OldRange.BottomRow >= e.Table.Rows.count Then Return
        For i As Integer = e.OldRange.TopRow To e.OldRange.BottomRow
            e.Table.Rows(i).Checked = False
        Next
       
        For i As Integer = e.Table.TopPosition To e.Table.BottomPosition
            e.Table.Rows(i).Checked = True
        Next
    End If
End If

四张表用到这个功能 三张表没实现 一张正常

AfterSelRangeChange

事件

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/12/10 13:28:00 [显示全部帖子]

绑了 就是不行 现在是这样 先要按住左键拖到要复选的行 然后再在行前的复选框点一次 才能勾选所选行

 回到顶部
帅哥哟,离线,有人找我吗?
sf020cf
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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等同于 = 了 

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


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


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

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

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
sf020cf
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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 试用版到现在应该还未过期 版本应该也是最新的  


 回到顶部
帅哥哟,离线,有人找我吗?
sf020cf
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 

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

 


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


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

好像真可以 我多试试

 


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


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

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


 回到顶部
总数 21 1 2 3 下一页