所以我有一个带有MYSQL数据库的Access App。我已经尝试了Stack Overflow的多种方法,但是无法获得新添加行的主键!
我尝试了所有我能找到的一切,没有运气:(
Set pxRST = db.OpenRecordset("SELECT * from tblPatients WHERE dispenseID = " & oPxID & " AND ChemistID = " & chemID, dbOpenDynaset, dbSeeChanges)
if pxrst.eof then
pxRST.AddNew
pxRST("dispenseid") = oPxID
pxRST("chemistID") = chemID
pxRST("firstname") = firstName
pxRST("lastname") = lastName
pxRST("address") = Address
pxRST("postcode") = postcode
pxRST("phonenumber") = phonenumber
pxRST.Update
pxRST.Bookmark = pxRST.LastModified
gPxID = pxRST!PatientID
Debug.Print gPxID
end if
这给了“记录被删除”错误
我也尝试过使用具有]的>
gPxID = currentdb.openrecordset("SELECT @@identity").value(0)
这只是游戏我0作为数字
我确实进入了MYSQL工作台并尝试
INSERT INTO tblpatients SELECT @@IDENTITY
我直接获得新记录的ID ...
所以我已经尽力而为了,但是我无法从这里弄清楚它以及如何在VBA中运行它。
我目前正在使用QueryDefs ...但是我对此很陌生,我认为还没有真正到达那里。
Dim qdf2 As DAO.QueryDef strSQL = "INSERT INTO tblPatients (dispenseid,chemistID,firstname,lastname,address,postcode,phonenumber) " & _ "VALUES (" & oPxID & "," & chemID & ",'" & firstName & "','" & lastName & "','" & Address & "','" & postcode & "','" & phonenumber & "' )" Set qdf2 = db.QueryDefs("quGetPxDetails") With qdf2 .SQL = strSQL .Connect = oCon qdf2.Execute End With
任何帮助都会很棒。我似乎无法正确解决这个问题!
所以我有一个带有MYSQL数据库的Access App。我已经从Stack Overflow尝试了多种方法,但是无法获得新添加行的主键!我尝试了所有我能找到的一切,没有运气:( ...
而是取决于您的tblPatients
是否具有自动递增主键。如果是这样,则您不应该手动为其分配值,即您的
所以我的回答来自ComputerVersteher和User2834566信息。