Foxtable(狐表)用户栏目专家坐堂 → [求助]代码有问题,请帮助


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

主题:[求助]代码有问题,请帮助

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5053 威望:0 精华:0 注册:2011/10/22 13:37:00
[求助]代码有问题,请帮助  发帖心情 Post By:2014/7/19 15:24:00 [只看该作者]

代码有问题,请帮助

以下代码实现采购单价的统一性。

If e.DataCol.Name = "型号" Then '如果内容发生变动的是型号
    If e.NewValue Is Nothing Then '如果新值是空白,也就是型号列的内容为空
        e.DataRow("
单价") = Nothing '那么清空此行单价列的内容
   
Else
        Dim
dr As DataRow
       
'
否则在采购明细表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("
采购明细").Find("[型号] = '" & e.NewValue & "'")
        If
dr IsNot Nothing Then '
如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("
单价") = dr("单价")
        End
If
    End
If
End
If

‘以下代码实现如有价格变动,确保系统能正确区分同一产品不同时期的价格差异,并提示用户确认。

If e.Col.Name = "单价" Then '如果正在输入的是单价列

    If e.Text > "" Then '如果已经输入内容

        Dim v As Double = Val(e.Text)

        If v < > dr("单价")  Then '将输入的内容与以往同名产品价格做比较。

            MessageBox.Show("此价格与历往价格有差异,确定要修改,请在价格较低的型号后加“特价”两字,否则系统将无法区分!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Information)

            e.Cancel = True '则取消输入

Dim wz As Integer
Dim
dr As DataRow
dr = DataTables("
采购明细表").Find("[型号] = '" & e.Table.Current("型号") & "'")
If
dr IsNot Nothing Then
    wz = Tables("
型号").FindRow(dr)
    If wz >= 0 Then
        Tables
("
型号").Position = wz
    End If
End
If

 

..       End If

    End If

End If



 


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


加好友 发短信
等级:三尾狐 帖子:668 积分:5053 威望:0 精华:0 注册:2011/10/22 13:37:00
  发帖心情 Post By:2014/7/19 17:24:00 [只看该作者]

请高手指点,急

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


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2014/7/19 22:03:00 [只看该作者]

e.Text

好象没这个E参数


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/20 9:51:00 [只看该作者]

 代码提示什么错?具体什么问题?请用例子说明。

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5053 威望:0 精华:0 注册:2011/10/22 13:37:00
  发帖心情 Post By:2014/7/21 9:34:00 [只看该作者]

如图
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/21 9:35:00 [只看该作者]

只要在DrawCell事件才有e.text

你要判断的是 e.newValue

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/21 9:36:00 [只看该作者]

If e.Text > "" Then '如果已经输入内容

改成

If e.DataRow.IsNull("单价") = False Then


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


加好友 发短信
等级:三尾狐 帖子:668 积分:5053 威望:0 精华:0 注册:2011/10/22 13:37:00
  发帖心情 Post By:2014/7/21 9:38:00 [只看该作者]

不好意思,因是周末,大家都忙,我急也忘了贴图

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5053 威望:0 精华:0 注册:2011/10/22 13:37:00
  发帖心情 Post By:2014/7/21 9:44:00 [只看该作者]

谢谢,有点甜,我的意思是如果输入型号,则单价从采购明细表中查找填入,保持单价的一致性,但如果我要修改单价,就要判断修改后的单价与系统中原有的价格是否一致。你能将此语句给我吗

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/21 9:50:00 [只看该作者]

下面代码写到Datacolchanging事件

 

If e.DataCol.Name = "单价" Then '如果正在输入的是单价列
    If e.newvalue IsNot Nothing Then '如果已经输入内容

        Dim dr As DataRow = DataTables("采购明细").Find("[型号] = '" & e.Datarow("型号") & "'")
        Dim v As Double = Val(e.newValue)
        If v <> dr("单价")  Then '将输入的内容与以往同名产品价格做比较.
            MessageBox.Show("此价格与历往价格有差异,确定要修改,请在价格较低的型号后加"特价"两字,否则系统将无法区分!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Information)           
            e.Cancel = True '则取消输入
        End If
    End If
End If

[此贴子已经被作者于2014-7-21 9:49:55编辑过]

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