2013-11-24 82 views
0

我有一個客戶表'tblCustomer',其中包含名爲CustID的主鍵列。 CustID將客戶稱爲他們自己的ID號碼。以表格形式生成客戶ID

現在,我正在創建一個允許人們添加新客戶的表單。要做到這一點,我需要生成一個新的CustID。我的CustID從「10000」開始,每次增加1。注意這個字段是一個文本字段,而不是一個數字字段,這一點很重要。

必須有一個ID,否則無法創建該記錄,因爲主鍵字段是必填字段,並且還與數據庫中的其他關係綁定。

因此,我在表單上的ID字段旁邊創建一個按鈕,該按鈕將在文本框中生成一個ID。它需要從custID的最高關鍵值開始,並將其增加1.問題在於它是一個文本字段,無法更改。

我不確定如何做到這一點,親自。我已經解決了很多方面,但都讓我回到了同一個位置 - 我不知道如何做到這一點,custID是文本值而不是數值。我一直在考慮在計算髮生時進行某種轉換,但我不知道如何去做。

我是一個Access的新手,所以任何幫助將不勝感激!

+1

您是否承諾將'CustID'保留爲文本類型?如果您將其更改爲自動編號並讓Access自動提供新值,這將很簡單。 – HansUp

+0

如果你想跟蹤自己的主鍵,最好的方法是創建一個關鍵表。每次提取密鑰並更新值(+1)。至於轉換,CInt和CStr會做得很好。 –

回答

0

假設所有客戶ID的都是數字,你可以做以下得到一個新的ID:

Dim strMax As String 
Dim intMax As Integer 

strMax = DMax("CustID", "<your table name>") 
intMax = CInt(strMax) + 1 

strMax將保持當前最大的id和intMax將舉行新的ID。如果strMax包含一個非數值,但是這個代碼將失敗 - 您需要一個錯誤處理程序來解決它。

只需要把它放在按鈕單擊事件。

希望這會有所幫助!

Simon Simon