我目前正在编写一个程序,以将在Excel表单中输入的内容保存到Access中的数据库中。每当我从Excel表单中的字段添加数据时,我都试图将Access中的主键字段增加“1”。
因为我已经将该字段声明为PRIMARY KEY NOT NULL字段,所以除非声明了主键字段,否则它不允许我添加另一行数据。我不希望用户输入PK数据,因为那样很愚蠢。
我将如何处理从Excel到Access的DDL,比如说MAX(CustomerID)要在Access表中找到最大ID,然后使用将其添加MAX(CustomerID) + 1到ID字段中RS.FIELD("CustomerID") = MAX(CustomerID) + 1。
MAX(CustomerID)
MAX(CustomerID) + 1
RS.FIELD("CustomerID") = MAX(CustomerID) + 1
对此,我将不胜感激。提前致谢。
我喜欢其他答案中建议的使用自动编号字段的想法。
但是,如果您希望避免使用自动编号,则可以从Excel中的VBA使用Access的DLookup函数:
rs.AddNew rs.Fields("CustomerID") = Access.DLookup("Max(CustomerID)", "Customer") + 1 ... rs.Update
假设您的基本表是Customer。
Customer
您必须在“工具”->“引用”中添加对Microsoft Access的引用