Foxtable(狐表)用户栏目专家坐堂 → 保留旧价格


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

主题:保留旧价格

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
保留旧价格  发帖心情 Post By:2012/1/9 16:43:00 [显示全部帖子]

老大,下午好!又要请教你了!

 

      表A某列某单元格的"单价"修改(添加、删减或修改)后,表B就会新增一行,并在新增行的某列单元格里把表A中修改后的数据自动引用过来,这样,价格多次变动后,新的价格会自动在新增行的单元格中增加,老的价格就都被保留了。

 

      顺便感谢上次狐爸给我代码,很好用,感谢至极!


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/10 11:44:00 [显示全部帖子]

首先谢谢2楼的帮助!

经尝试后有一疑问:此代码 是放在A表还是放在B表。


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/10 12:00:00 [显示全部帖子]

狐爸:你好!问题补充一下。

 

表A某列某单元格的"单价"修改(添加、修改)后,表B就会新增一行,并在新增行的某列单元格里把表A中修改后的数据自动引用过来,这样,价格多次变动后,新的价格会自动多次在新增行的单元格中增加,老的价格就都被保留了。(补充:表A与表B都有相同的编码列,表A编码列与价格列新增内容的时候,表B会自动的同时在编码列与价格列中新增一行内容,若表A某已存在编码(03)只改变价格,那么表B也新增一行,同时会把编码03与新价格引过来),先谢谢了!


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/10 12:08:00 [显示全部帖子]

 非常感谢狐爸,刚才的代码很给力。中午您多吃点!


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/10 15:56:00 [显示全部帖子]

狐爸,今天中午给我的代码很好用,但衍生出了两个新问题,现请教:

1、单价列由 双精度型 改为 字符型后代码就出错,为什么,怎么办?2、如果我希望B表的多列有像单价列一样的功能(而不是 仅单价一列),你给我的代码该怎么修改?

谢谢狐爸!


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/10 17:39:00 [显示全部帖子]

请你理解:

1、我们不是编程的专业人士,所以会有很多的东西不懂;

2、我们还有其他的工作要做,没有足够的时间学习更深的东西,我们也知道如果能学的更深那当然是最好;

 

所以最后,真的希望能得到您的持续帮助

麻烦你:1、把9楼问到的问题的 数据型 设置成 让我可以随意改成其它型(如字符型、整数型等);2、我希望B表的其它多列 能同时有像单价列一样的功能(而不是 仅单价一列)(不管上面数据类型都适合),再次麻烦你给个代码给我,万分感谢!


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/10 18:41:00 [显示全部帖子]

谢谢,比如,在B表中除了单价列,客户名称列及地址列这两列也能随A表的相关咧变化而变化


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/11 8:49:00 [显示全部帖子]

 

If e.DataCol.Name = "产品编号" Then
    If e.NewValue Is Nothing Then
        e.
DataRow("品名") = Nothing
        e.
DataRow("型号") = Nothing
        e.
DataRow("规格") = Nothing
        e.
DataRow("单价") = Nothing
   
Else
       
Dim dr As DataRow
        dr =
DataTables("产品").Find("[产品编号] = '" & e.NewValue & "'")
        If
dr IsNot Nothing

            e.
DataRow("品名") = dr("品名")
            e.
DataRow("型号") = dr("型号")
            e.
DataRow("规格") = dr("规格")
            e.
DataRow("单价") = dr("单价")
        End
If
   
End If
End
If

如果有十几列甚至更多列的数据需要继承,上面代码可能会显得过于繁琐,为此我们可以考虑将代码改写为:

If e.DataCol.Name = "产品编号" Then
    Dim
nms() As String = {"品名","型号","规格","单价"}
    If
e.NewValue Is Nothing Then

        For
Each nm As String In nms

            e
.DataRow(nm) = Nothing

        Next

    Else

        Dim
dr As DataRow

        dr
= DataTables("产品").Find("[产品编号] = '" & e.NewValue &
"'")
        If
dr IsNot Nothing
            For Each
nm As String In nms
               
e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

狐爸,能否麻烦你帮我将下面的代码像上面的跨表引用案例一样 整合一下? 感谢!

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列","第五列","第六列","第七列"
        Dim kh As String = e.DataRow("第一列")
        Dim kh1 As String = e.DataRow("第二列")
        Dim kh2 As String = e.DataRow("第三列")
        Dim kh3 As String = e.DataRow("第四列")
        Dim kh4 As String = e.DataRow("第五列")
        Dim kh5 As String = e.DataRow("第六列")
        Dim kh6 As String = e.DataRow("第七列")
        Dim tj = "第一列 = '" & kh & "'And 第二列 ='" & kh1 & "'And 第三列 ='" & kh2 & "'And 第四列 ='" & kh3 & "'And 第五列 ='" & kh4 & "'And 第六列 ='" & kh5 & "'And 第七列 ='" & kh6 & "'"   
        If kh >"" And kh1> "" And kh2> ""And kh3> "" And kh4> "" And kh5> "" And kh6> "" Then
            If DataTables("表B").Find(tj) Is Nothing Then
                Dim dr As DataRow = DataTables("表B").AddNew()
                dr("第一列") = kh
                dr("第二列") = kh1
                dr("第三列") = kh2
                dr("第四列") = kh3
                dr("第五列") = kh4
                dr("第六列") = kh5
                dr("第七列") = kh6
            End If
        End If
End Select


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/11 20:34:00 [显示全部帖子]

 感谢狐爸及PYH6918,我试试。这个论坛给人感觉挺有人情味。


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/1/11 21:15:00 [显示全部帖子]

PYH你好,你的代码我刚试了,很简洁,比较好用,再次谢谢。如果有 型号列 地址列等多列象单价列样经常变动,并且我也想记录这些列的多次的历次变动,这个代码该修改成上面样?

 回到顶部
总数 12 1 2 下一页