Office中国论坛/Access中国论坛

标题: 这个查询要怎么做呀?求救啊 [打印本页]

作者: 1768061209    时间: 2017-3-20 17:02
标题: 这个查询要怎么做呀?求救啊
原表                                                               
报价单号        客户代码        ITEMNO        美元单价        人民币单价        单位        业务员        报价时间       
NG1        NG        A        $5.00        ¥0.00                        02-Mar-17        1
NG1        NG        B        $10.00        ¥0.00                        10-Mar-17        2
NG2        NG        A        $15.00        ¥0.00                        22-Mar-17        3
US1        US        A        $1.00        ¥0.00                        23-Mar-17        4
US2        US        B        $2.00        ¥0.00                        22-Mar-17        5
US2        US        C        $3.00        ¥0.00                        08-Mar-17        6
查询出                                                               
报价单号        客户代码        ITEMNO        美元单价        人民币单价        单位        业务员               
NG1        NG        B        $10.00        ¥0.00                                1
NG2        NG        A        $15.00        ¥0.00                                2
US1        US        A        $1.00        ¥0.00                                3
US2        US        B        $2.00        ¥0.00                                4
US2        US        C        $3.00        ¥0.00                                5

作者: 1768061209    时间: 2017-3-20 17:04
下面的查询要怎么做呀?
作者: roych    时间: 2017-3-20 23:51
没看懂。是不是只保留NG或者US的ABC的最大的一个?试试用Max或者DMax
作者: 风中漫步    时间: 2017-3-21 14:13
记录符合什么条件?
作者: 1768061209    时间: 2017-3-21 14:34
非常感谢。这个表的目的是过滤重复项,我昨天在网上搜到了解决方案。对了请教一个问题。

Option Compare Database
Private Sub ITEMNO_AfterUpdate()

    '每次产品更改的初始价格和折扣
    If Not IsNull(Me![Item NO]) Then
        Me![Unit Price] = GetLastPrice(Me![Item NO])
        Me.[Item Name] = GetEnglishName(Me![Item NO])
   
        
    '空产品订单表示用户要删除项目
    Else
        eh.TryToRunCommand acCmdDeleteRecord
    End If
End Sub
Function GetLastPrice(lID As String) As Currency
    GetLastPrice = DLookup("[美元单价]", "最新报价汇总", "[ITEMNO] =  '" & Me.[Item NO] & "' And [CustomerID] ='" & Forms!PI!CustomerID & "'")
End Function

Function GetEnglishName(lITEMNO As String) As String
     
     GetEnglishName = DLookup("[Item Name]", "product", "[ITEMCODE]= '" & lITEMNO & "'")
End Function

我现在有这样的一个代码,凑合着可以自动填充产品名称,和单价。
但是如果 Item No 不在 表product的 ITMECODE时 会做报错。 最新报价汇总没有 对Item no的数值时也会报错。
能不能给换一个 判断条件,
当Item Code 不在Product里面时,产品名称那里给显示成 空白
当Item code在查询最新报价汇总里面,没有数值时,单价显示为0.


作者: 1768061209    时间: 2017-3-21 14:38
风中漫步 发表于 2017-3-21 14:13
记录符合什么条件?

非常感谢,本来是想调用 最新的报价的。 所以这个查询里面要求的就是 过滤重复记录,留下最近的报价。现在已经暂时解决了.

本来的是要实现这个功能。Access中 四、光标跳到单价,单价要自动取值 (1)、最近一次销售单的销售价(客户id+商品id)->0 如何实现
我准备查询出所有产品对于所有客户的最后一次报价,然后用dlookup查值,Item Code 属性update自动填充,有没有更好的解决方案
作者: 1768061209    时间: 2017-3-22 00:12
每次要求输入参数是怎么回事。求救




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3