2015-11-02 132 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

這工作,謝謝,可能發誓,這是我曾試過的東西,但我只是很高興現在的作品 –