我是微軟訪問中的新成員。我只是想知道如何使用創建自定義主鍵?例如abc-123格式?MS Access的自定義主鍵
回答
這取決於您希望如何創建abc-123
值。
如果您想在代碼中自己創建它們,只需創建一個Text
列並將其用作主鍵。
如果你想訪問創造這些價值......這是不可能的。 Access能夠自動生成的唯一東西是增加數值(數據類型AutoNumber
)。
因此,您可以做的最好的事情是在內部使用AutoNumber
作爲實際主鍵,並創建abc-123
值,僅用於顯示。
這裏有一些例子,說明如何做到這一點,從我過去回答前一個類似的問題:
免責聲明:我不不知道在你的情況下是否有類似的方法。
如果沒有,你需要給你想究竟如何創建你的號碼的詳細信息:
- 你想要數量的增加?
- 你要字母改變/「增加」/總是保持不變嗎?
實際上,如果使用2010或更高版本,則可以創建表格觸發器。表格觸發器可能需要一些字段(你從哪裏得到abc),然後是一些其他字段(seq num),然後加上+ 1。
的「空氣」的代碼是這樣的:
表觸發器的優點是它運行在表(數據引擎)的水平,因此如果您使用ODBC打開數據庫, VB.net,FoxPro,Access等,那麼PK密鑰將永遠爲你自動生成。
謝謝,阿爾伯特。我嘗試了一些類似於'DMax()'的方法,並且它在從Access本身插入記錄時起作用,但它導致其他應用程序的INSERT失敗。 (「數據宏中不允許使用DMax」)。我一直在嘗試Access 2010中的上述變體,但如果我的LookUpRecord試圖在數據宏所屬的同一張表上做SELECT,我會得到「The' LookUpRecord'宏操作對於'查找記錄'參數具有無效值。「 (來自不同表格的選擇似乎是確定的。)您能否更新您的答案以提供一個有效的示例?謝謝! –
以上示例是一個工作示例(如果前綴在數據庫中不存在,則缺少代碼)。如果您在窗口標題中更改前在左上角顯示「custpart」。所以發佈的代碼是作爲更新代碼在SAME表上運行的存儲過程。重要的部分是當你引用一個字段名稱時,是否因觸發器或查詢引用了當前表?結果記錄了我如何使用別名來區分這兩個表。 –
您是否偶然在Access 2013中創建您的示例?我在Access 2010中再次嘗試了完全相同的事情,並得到了我在之前的評論中引用的同樣的錯誤,當時我試圖保存Before Change宏。 (請參閱屏幕截圖[http://i.stack.imgur.com/jIqwf.png])。我注意到,截圖中的宏編輯器佈局與我的略有不同,所以我想知道是否您的方法是在Access 2013中引入的增強功能的結果。 –
- 1. 沒有主鍵的MS Access查詢表
- 2. MS ACCESS如何刪除主鍵的列
- 3. MS Access中的組合字段主鍵?
- 4. MS Access:自定義紙張尺寸
- 5. Django的自定義主鍵
- 6. 自定義UUID的主鍵
- 7. 的MS Access:一鍵
- 8. 自定義主鍵Laravel + Apiato
- 9. 訪問自定義主鍵
- 10. jdbc插入MS Access表中,其主鍵是自動編號
- 11. 將外鍵定義作爲MS Access的DDL語句導出
- 12. 用戶定義字段的MS Access PIVOT
- 13. 如何在MS Access中定義組合鍵?
- 14. Django中的自定義主鍵問題
- 15. grails域的自定義主鍵
- 16. 自定義MySQL中的主鍵
- 17. 自定義MS Access窗體中的導航按鈕欄
- 18. 自定義類中的MS Access DBA CurrentDB()最佳實踐
- 19. 使用VBA更改MS Access中的自定義顏色
- 20. 'FileDialog'類型未在MS Access中定義
- 21. 在MS Access中執行查詢時如何保留主鍵的自動編號?
- 22. 通過Netbeans自動將主鍵分配給MS-Access中的條目
- 23. ms access 2010沒有主鍵的更新鏈接表
- 24. 使用ODBC與MS Access的主鍵違規錯誤代碼
- 25. MS Access是否可以抑制插入上的主鍵衝突?
- 26. MS Access 2010:刪除沒有主鍵的重複項
- 27. 更新vb.net中沒有主鍵的MS-Access數據表
- 28. MS Access 2010中VBA:自定義引發LostFocus子
- 29. 導入自定義協議到MS Excel/Access
- 30. 自定義數據庫表設計使用Java和MS Access
你真的希望'abc'部分出現在不同的元組中。我認爲可能會有所幫助。 –