2013-02-04 57 views
1

我的主要問題是如果我正在搜索Access中的記錄,是否有辦法讓它如此,以便如果我的搜索沒有找到記錄,那麼可以提示我基於該搜索條件創建新記錄?在Access中,如何基於失敗的搜索標準創建新記錄?

例如,如果我正在搜索姓氏Burge以確保Burge不在我的記錄中,並且我發現它不是,那麼Access會提示我,如果我想創建一個基於那個名字?

截至目前,我只是使用Access中的搜索按鈕。我沒有做任何事情。

+1

必須有六種方法才能做到這一點,包括帶有where語句的DoCmd.OpenForm。 – Fionnuala

+0

我只是使用訪問中的基本搜索按鈕。我沒有做任何特別的事情。 –

回答

3

我懷疑你需要重寫這個'搜索'欄並實現你自己的。將自己的未綁定文本控件放入表單的頁眉(或頁腳)部分。接下來,禁用導航按鈕以強制用戶使用您的控件。在您用於搜索的文本框的after update事件中,您將將Form.Filter屬性設置爲文本框控件。 Like

Me.Filter = "LastName = """ & Me.txtLastFilter & """ 

然後您將檢查是否找不到記錄。默認情況下,如果過濾條件不符合,過濾器將打開一條新記錄。然後,您可以將新記錄的姓氏值設置爲類似於您的過濾器框的值

if me.newrecord = true then 
    me.LastName = me.txtlastFilter 

這只是執行此操作的許多方法之一。

+0

+1不錯,簡單。 – Fionnuala

+0

謝謝你的幫助。 :) –

+0

沒有probs!當然,如果你想要一個「確認」功能,你可以使用inputbox或vbYesNo msgbox來讓用戶決定。我會建議實施這個,因爲這樣可以防止髒數據。如果沒有得到確認,每次有人拼寫錯誤的姓,它會創建一個「Smth」的新記錄,當你試圖獲得John Smith的記錄時。 – Scotch