Избягвайте тази често срещана грешка при изпълнение на съхранена процедура в MS Access
Обичаме да изпълняваме съхранени процедури от нашия VBA код, но има един проблем, за който трябва да внимавате:Изпълнение на процедура, която засяга данни, които вече са заредени във вашия формуляр. Ако не сте внимателни, ще получите следното съобщение:
За щастие, това е лесно решение, ето някои предложения:
- Затворете формуляра и след това изпълнете съхранената процедура. Това предполага, че може да не желаете да преглеждате променените данни в същия формуляр.
- Задайте източника на запис на формуляри на нищо, след което го върнете към оригиналния източник на данни (вижте кода по-долу).
Затворете формуляра и след това стартирайте съхранената процедура
Ето малко псевдокод, за да започнете:
Private Sub RunSomeProcedure()Dim lngOrderID as Long' Ако приемем, че трябва да предадете информация от вашия формуляр към съхранената процедура, например OrderIDlngOrderID =Me.OrderID 'Ако не съхранявате информацията, тя няма да бъде налична след затваряне на formDoCmd.Close acForm, Me.Name 'Това затваря formExecuteMyCommand "uspStoredProcedureName" &lngOrderIDEnd Sub
Не сте запознати с ExecuteMyCommand? Можете да го разгледате тук.
Задайте източника на запис на формуляра на null
Private Sub RunSomeProcedure()Dim lngOrderID като LongDim strRecordSource като String' Ако приемем, че трябва да предадете информация от вашия формуляр към съхранената процедура, например, OrderIDlngOrderID =Me.OrderID 'Ако не съхранявате информацията, тя ще не е наличен след затваряне на formstrRecordSource =Me.RecordSource 'Съхранете източника на записи за по-късно useMe.RecordSource =vbNullStringExecuteMyCommand "uspStoredProcedureName " &lngOrderIDMe.RecordSource =strRecordSource, така че 'Възстановяване на потребителя да види актуализацията>Присъединете се към мен на 9 март със специален гост Ebo Quansah!
Елате и научете най-новото за Microsoft Access с Ebo, продуктовия мениджър за групата Access. За подробности, моля, щракнете тук:https://accessusergroups.org/sql-server-with-access/event/sql-server-with-access-whats-new-in-access-a-presentation-by-the-access- продуктов мениджър/