2015-11-02 92 views
1

我是MS Access的新手,目前我正在为一个工作项目工作并陷入困境。我不知道如果我这样做是正确的,我犯了一个简单的访问分贝来跟踪我的工作量的错误,突然间我是“数据库人”查找记录,基于多个字段

所以我们最近开始了一个新的公司内部的产品评审团队以及im设计的数据库将帮助管理新零件的引入过程。

我有我们的设计审查表,这将被调用每当一个部分审查。我还没有与这张桌子建立任何关系,因为任何时候我们评论过的顶级部分都可能是新套件的组成部分。所以做主/子部分不是一个很好的选择。 (至少从我能看到)

我如何调用这张表如下。我们在主窗体(frmDPARTOP)中输入关于审查,客户,修订,采购订单等的一些顶级信息。在子表单(frmDPARPARTS子表单)中,我们列出了与此相关的每个零件,包括其自身。

我碰到的一些问题得到下一个部分的工作

我有子窗体未绑定文本框(Text14)是应该寻找在表中的记录(tDPARSHEETS)基于适当的客户,部件号修订。如果它找到与这三个字段匹配的文件记录,则其值将设置为更改为“On Record”或“Needs Review”,如果其无法找到文件。但是,它总是指示“需要评论”。 LocalPartNumber and LocalRevision are in the table tDPARSHEETS,我试了几个变化,寻找不同的项目,不同的方式。我调试了打印的值,他们是正确的。

If DLookup("LocalPartNumber", "tDPARSHEET", "[LocalPartNumber]="" & Me.Part_Number & ""AND [LocalRevision]='" & Me.Revision & "'") Then 
Text14.Value = "On Record" 
Else 
Text14.Value = "Need Review" 
End If 

我遇到的其他问题是基于相同的情况。我希望能够双击子窗体中列出的项目,并在文件中提取记录(如果没有),如果没有,我想创建一个,并填写已提供的信息。用客户,零件号和修改填写测试条目。 MsgBox火灾告诉我记录在文件中,但OpenForm命令打开为空白表单。

Private Sub Customer_DblClick(Cancel As Integer) 
If DLookup("LocalPartNumber", "tDPARSHEET", "LocalRevision ='" & Me.Revision & "'") Then 
MsgBox "Record Found" 
DoCmd.OpenForm "frmDPARSHEET", , , "[LocalPartNumber]="" & Me.Part_Number & ""AND [LocalRevision]='" & Me.Revision & "'" 
Else 
MsgBox "No Luck" 

结束如果

所有我的工作领域是文本字段,作为我们的零件编号和修订通常包括字母和数字

我敢肯定有一个更好的方式来做到这整个过程总的来说,但我们在5月推出了一个全新的ERP系统,我的印象是,这意味着我们要等到那个时候。我希望它的建立足够好,可以无限期地工作(因为我们很难放开东西),但实际上这可能全部在6-8个月内被抛弃。

我感谢任何建议/帮助

回答

0

请记住,DLookup返回Null为“未找到”。另外,请小心空格。因此:

If IsNull(DLookup("LocalPartNumber", "tDPARSHEET", "[LocalPartNumber]=" & Me.Part_Number & " AND [LocalRevision]='" & Me.Revision & "'")) Then 
    Text14.Value = "Need Review" 
Else 
    Text14.Value = "On Record" 
End If 

如果部分号码是文本,你需要包装,在报价,以及:

If IsNull(DLookup("LocalPartNumber", "tDPARSHEET", "[LocalPartNumber]='" & Me.Part_Number & "' AND [LocalRevision]='" & Me.Revision & "'")) Then 
    Text14.Value = "Need Review" 
Else 
    Text14.Value = "On Record" 
End If 
+0

这将返回一个运行时错误:3464,数据类型不匹配 –

+0

见编辑请。 – Gustav

+0

这工作,谢谢,可能发誓,这是我曾试过的东西,但我只是很高兴现在的作品 –