Office中国论坛/Access中国论坛

标题: DLOOKUP 问题 [打印本页]

作者: LIXIANACCP    时间: 2006-8-21 07:46
标题: DLOOKUP 问题
如:Me.当前库存 = DLookup("[库存量]", "库存量查询", "[货号]= '" & Str & "'")

其中"库存量查询"条件列中设置了查询条件的,该句子有否不出错呢?(我试过删除条件后,正常.有条件就不行)

能否做到设置了条件也行吗?
作者: 一点通    时间: 2006-8-21 16:49
Str是从哪里来的?格式与货号的格式相同吗?
作者: LIXIANACCP    时间: 2006-8-21 17:50
以下是引用一点通在2006-8-21 8:49:00的发言:
Str是从哪里来的?格式与货号的格式相同吗?



窗体点树后(货品),出错!

[attach]19898[/attach]

作者: 一点通    时间: 2006-8-21 18:11
查询出错,请按以下代码修改

SELECT DISTINCTROW [进出库 查询].货号, [进出库 查询].品名, [进出库 查询].规格, Sum([进出库 查询].入库数量) AS 入库数量总计, Sum([进出库 查询].入库金额) AS 入库金额总计, Sum([进出库 查询].出库数量) AS 出库数量总计, Sum([进出库 查询].出库金额) AS 出库金额总计, NZ([入库数量总计]-[出库数量总计]) AS 库存量, NZ([入库金额总计]-[出库金额总计]) AS 库存额, IIf([库存量]=0 Or [库存额]=0,0,[库存额]/[库存量]) AS 库存单价, Left([货号],2) AS 类别
FROM [进出库 查询]
GROUP BY [进出库 查询].货号, [进出库 查询].品名, [进出库 查询].规格
HAVING ((([进出库 查询].品名) Like IIf(IsNull([Forms]![入库录入]![品名]),"*","*" & [Forms]![入库录入]![品名] & "*")) AND (([进出库 查询].规格) Like IIf(IsNull([Forms]![入库录入]![规格]),"*","*" & [Forms]![入库录入]![规格] & "*")) AND ((Left([货号],2)) Like IIf(IsNull([Forms]![入库录入]![类别]),"*","*" & [Forms]![入库录入]![类别] & "*")));

作者: LIXIANACCP    时间: 2006-8-21 19:15
以下是引用一点通在2006-8-21 10:11:00的发言:


查询出错,请按以下代码修改

SELECT DISTINCTROW [进出库 查询].货号, [进出库 查询].品名, [进出库 查询].规格, Sum([进出库 查询].入库数量) AS 入库数量总计, Sum([进出库 查询].入库金额) AS 入库金额总计, Sum([进出库 查询].出库数量) AS 出库数量总计, Sum([进出库 查询].出库金额) AS 出库金额总计, NZ([入库数量总计]-[出库数量总计]) AS 库存量, NZ([入库金额总计]-[出库金额总计]) AS 库存额, IIf([库存量]=0 Or [库存额]=0,0,[库存额]/[库存量]) AS 库存单价, Left([货号],2) AS 类别
FROM [进出库 查询]
GROUP BY [进出库 查询].货号, [进出库 查询].品名, [进出库 查询].规格
HAVING ((([进出库 查询].品名) Like IIf(IsNull([Forms]![入库录入]![品名]),"*","*" & [Forms]![入库录入]![品名] & "*")) AND (([进出库 查询].规格) Like IIf(IsNull([Forms]![入库录入]![规格]),"*","*" & [Forms]![入库录入]![规格] & "*")) AND ((Left([货号],2)) Like IIf(IsNull([Forms]![入库录入]![类别]),"*","*" & [Forms]![入库录入]![类别] & "*")));

改完后出现循环引用错误!查询结果是否与原来的联合查询结果一样,现在不知,---因运行不了!
作者: 一点通    时间: 2006-8-21 20:14
请认真检查一下变量的来源,不要引用不存在的窗体或查询
作者: LIXIANACCP    时间: 2006-8-21 20:42
以下是引用一点通在2006-8-21 12:14:00的发言:


请认真检查一下变量的来源,不要引用不存在的窗体或查询

查询已不能运行了!

只有2个简单的表!"循环引用"应该错在你提供的这段代码!不过我查不出来!
作者: 一点通    时间: 2006-8-21 21:29
何来的库存量查询?

[attach]19902[/attach]

Private Sub TreeView_NodeClick(ByVal Node As Object)
'* -----------------------------------------------------------------
'*树控件的鼠标点击事件为NodeClick
'* -----------------------------------------------------------------
Dim Str As String
Dim Rs As New ADODB.Recordset
Dim Rsc As New ADODB.Recordset
Dim Rstem As New ADODB.Recordset
'* -----------------------------------------------------------------
'*如果不是点在树的最末端,不显示数量及单价的字段
'* -----------------------------------------------------------------
Debug.Print Node.Key
If Node.Text = "货品" Or Node.Key Like "父*" Then
Me.规格.Visible = False
Me.货号.Visible = False
Me.品名.Visible = False
Me.单位.Visible = False
Me.金额.Visible = False
Me.摘要说明.Visible = False
Me.入库单号.Visible = False
Me.供应商.Visible = False
Me.入库数量.Visible = False
Me.入库单价.Visible = False
Me.货位.Visible = False
Me.当前库存.Visible = False

Str = ""
Else
'还原货号,货号必须是固定长度,这里取7位
Str = Left(Mid(Node.Key, 2, Len(Node.Key) - 1), 7)

Me.货号 = Str
Me.品名 = DLookup("[品名]", "货品档案", "[货号]= '" & Str & "'")
Me.规格 = DLookup("[规格]", "货品档案", "[货号]= '" & Str & "'")
Me.货位 = DLookup("[货位]", "货品档案", "[货号]= '" & Str & "'")
'Me.当前库存 = DLookup("[库存量]", "库存量查询", "[货号]= '" & Str & "'") 问题出在这一句
Me.规格.Visible = True
Me.货号.Visible = True
Me.品名.Visible = True
Me.单位.Visible = True
Me.金额.Visible = True
Me.摘要说明.Visible = True
Me.供应商.Visible = True
Me.入库数量.Visible = True
Me.入库单价.Visible = True
Me.货位.Visible = True
Me.当前库存.Visible = True
End If
Call 当前库存_BeforeUpdate(True)
End Sub



[此贴子已经被作者于2006-8-21 13:30:20编辑过]


作者: LIXIANACCP    时间: 2006-8-28 20:51
标题: 把它改了,怎么出库录入窗体还是出错呢?
同样的代码结构,怎么入库录入窗体不出错,而出库录入窗体会出错呢?[em06]




[attach]20037[/attach]


[此贴子已经被作者于2006-8-28 13:18:17编辑过]


作者: fan0217    时间: 2006-8-29 06:17
'Me.当前库存 = DLookup("[库存量]", "库存量查询", "[货号]= '" & Str & "'") 问题出在这一句


这个不以你变量声明的类型为准,而是以数据表中的数据类型为准,仔细检查。
作者: LIXIANACCP    时间: 2006-8-29 19:21
以下是引用fan0217在2006-8-28 22:17:00的发言:


'Me.当前库存 = DLookup("[库存量]", "库存量查询", "[货号]= '" & Str & "'") 问题出在这一句


这个不以你变量声明的类型为准,而是以数据表中的数据类型为准,仔细检查。

Str = Left(Mid(Node.Key, 2, Len(Node.Key) - 1), 7)是这样定义获得的,应属于字符串型,而数据表中的货号数据类型为文本。字符串与文本不是同属一类吗?


你说的红字句,已变成注释句了,我是用下句显示当前库存量的。

Me.当前库存量 = Nz(DLookup("库存量", "库存 查询", "货号 ='" & Forms![出库录入]![货号] & "'"), 0)

入库录入窗体都能行,但出库录入窗体出错,是何因??
库存 查询中我设置了条件的,不知是否是这个原因???------焦头烂额啊[em06][em06]

[此贴子已经被作者于2006-8-29 13:09:53编辑过]


作者: LIXIANACCP    时间: 2006-8-29 22:37
哪位高手帮看一下!!1[em06]
作者: LIXIANACCP    时间: 2006-8-30 05:27
哪位高手帮一下,在线恭候!




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