Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
[求助]  发帖心情 Post By:2016/8/14 0:48:00 [只看该作者]

整了一天都不行,麻烦大仙帮忙看看,有三个问题。

1、刚打开程序就进入“订单录入”窗口,按"增加商品"按钮后,出现如下错误提示:

     .NET Framework 版本:2.0.50727.8689
     Foxtable 版本:2016.6.26.1
     错误所在事件:表,订单明细,DataColChanged
     详细错误信息:
    调用的目标发生了异常。
    未将对象引用设置到对象的实例。

2、上述情况下依然能录入,但 "运费支付方式" = "到付" 或 "免邮" 时,表格能正常计算,= "垫付" 时,表不能正常计算;

3、当关闭“订单录入”窗口,又再次进入“订单录入”窗口录入时,点击 “新增商品”,出现如下错误提示:

   


此主题相关图片如下:qq截图20160814004551.png
按此在新窗口浏览图片

 

 

 


 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:sr.rar


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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2016/8/14 2:53:00 [只看该作者]

问题2解决了,但1、3还是没有头绪,请大仙支持!

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


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

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sr.table


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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2016/8/14 12:01:00 [只看该作者]

请大仙帮忙看看啊,谢谢

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


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

看3楼

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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2016/8/14 13:49:00 [只看该作者]

追问:

 

先谢谢大红袍!

你帮忙改的我看了,录入没问题,但计算不满足要。我把 Table_订单明细 的 DataColChanged 代码改了,如下,前面的两个问题都解决了,但第3个问题还是存在,就是退出订单录入窗口,再次进入后,点击商品ID列录入商品信息时,提示:“无法访问已释放的对象”,我实在不知道是哪个对象释放了,是怎么被释放的??麻烦再看看

If Forms("订单录入").Opened Then
   Dim yfzf As String '运费支付方式
'msgbox("这里")
   yfzf = Forms("订单录入").Controls("ComboBox1").value
'msgbox(yfzf)
   Dim dz As String = forms("订单录入").controls("TextBox5").text '地域
'msgbox(dz)
   Dim yf As Single '运费
   Dim dr As DataRow
   Dim dr1 As Row =  Tables("订单.订单明细").Current
   Dim dr2 As DataRow

   Select Case yfzf
          Case "到付"
               If e.DataCol.Name = "数量" Then '如果是数量列的内容变动
                  dr2 = DataTables("单价").Find("商品ID ='" & dr1("商品ID") & "'")
                  dr1("运费单价") = 0
                  dr1("合价") = dr1("数量") * dr1("单价")
                  dr1("成本") = dr1("数量") * dr2("代理单价")
                  dr1("结算合价") = dr1("数量") * dr2("进货单价")
               End If
          Case "免邮"
               If e.DataCol.Name = "数量" Then '如果是数量列的内容变动
                  dr2 = DataTables("单价").Find("商品ID ='" & dr1("商品ID") & "'")
                  If dz IsNot Nothing Then
                     dr = DataTables("地域及运费").Find("市县 ='" & dz & "'")
                     dr1("运费单价") = dr("运费")
                  End If
                  dr1("合价") = dr1("数量") * dr1("单价") - dr1("数量") * dr1("运费单价")
                  dr1("成本") = dr1("数量") * dr2("代理单价") - dr1("数量") * dr1("运费单价")
                  dr1("结算合价") = dr1("数量") * dr2("进货单价") + dr1("数量") * dr1("运费单价")
               End If
         Case "寄付"
              If e.DataCol.Name = "数量" Then '如果是数量列的内容变动
                  dr2 = DataTables("单价").Find("商品ID ='" & dr1("商品ID") & "'")
                  If dz IsNot Nothing Then
                     dr = DataTables("地域及运费").Find("市县 ='" & dz & "'")
                     dr1("运费单价") = dr("运费")
                  End If
                  dr1("合价") = dr1("数量") * dr1("单价") + dr1("数量") * dr1("运费单价")
                  dr1("成本") = dr1("数量") * dr2("代理单价") + dr1("数量") * dr1("运费单价")
                  dr1("结算合价") = dr1("数量") * dr2("进货单价") + dr1("数量") * dr1("运费单价")
              End If
   End Select
End If

 

 


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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2016/8/14 14:11:00 [只看该作者]

追问:

我看你的代码后,把6楼的代码作了如下改动:

1、把 Dim dr1 As DataRow = Tables("订单.订单明细").Current  改为 Dim dr1 As DataRow = e.DataRow

2、把全部的 If e.DataCol.Name = "数量" Then …… End If 去掉

出现:

1、增加商品时,调用目标发生异常

2、再次进入窗口录入时,无法访问已释放的对象


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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2016/8/14 14:20:00 [只看该作者]

谢谢大红袍,弄清楚了,是再次打开窗口后需要写AfterLoad代码,都好了,再次感谢

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


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

If Forms("订单录入").Opened Then
    Dim yfzf As String '运费支付方式
   
    yfzf = Forms("订单录入").Controls("ComboBox1").value
   
    Dim dz As String = forms("订单录入").controls("TextBox5").text '地域
    Dim yf As Single '运费
    Dim dr As DataRow
    Dim dr1 As DataRow = e.DataRow
    Dim dr2 As DataRow
   
    Select Case yfzf
        Case "到付"
            If e.DataCol.Name = "数量" Then '如果是数量列的内容变动
                dr2 = DataTables("单价").Find("商品ID ='" & dr1("商品ID") & "'")
                If dr2 IsNot Nothing Then
                    dr1("运费单价") = 0
                    dr1("合价") = dr1("数量") * dr1("单价")
                    dr1("成本") = dr1("数量") * dr2("代理单价")
                    dr1("结算合价") = dr1("数量") * dr2("进货单价")
                end if
            End If
        Case "免邮"
            If e.DataCol.Name = "数量" Then '如果是数量列的内容变动
                dr2 = DataTables("单价").Find("商品ID ='" & dr1("商品ID") & "'")
                If dz IsNot Nothing Then
                    dr = DataTables("地域及运费").Find("市县 ='" & dz & "'")
                    dr1("运费单价") = dr("运费")
                End If
                dr1("合价") = dr1("数量") * dr1("单价") - dr1("数量") * dr1("运费单价")
                dr1("成本") = dr1("数量") * dr2("代理单价") - dr1("数量") * dr1("运费单价")
                dr1("结算合价") = dr1("数量") * dr2("进货单价") + dr1("数量") * dr1("运费单价")
            End If
        Case "寄付"
            If e.DataCol.Name = "数量" Then '如果是数量列的内容变动
                dr2 = DataTables("单价").Find("商品ID ='" & dr1("商品ID") & "'")
                if dr2 isNot Nothing then
                    If dz IsNot Nothing Then
                        dr = DataTables("地域及运费").Find("市县 ='" & dz & "'")
                        dr1("运费单价") = dr("运费")
                    End If
                    dr1("合价") = dr1("数量") * dr1("单价") + dr1("数量") * dr1("运费单价")
                    dr1("成本") = dr1("数量") * dr2("代理单价") + dr1("数量") * dr1("运费单价")
                    dr1("结算合价") = dr1("数量") * dr2("进货单价") + dr1("数量") * dr1("运费单价")
                end if
            End If
    End Select
End If


 


 回到顶部