Vyhněte se této běžné chybě při provádění uložené procedury v MS Access
Milujeme spouštění uložených procedur z našeho kódu VBA, ale je tu jeden problém, na který si musíte dát pozor:Provádění procedury, která ovlivňuje data již načtená ve vašem formuláři. Pokud si nedáte pozor, zobrazí se následující zpráva:
Naštěstí je to snadná oprava, zde je několik návrhů:
- Zavřete formulář a poté spusťte uloženou proceduru. To předpokládá, že nebudete chtít zkontrolovat změněná data ve stejném formuláři.
- Nastavte zdroj záznamů formulářů na nic a poté jej nastavte zpět na původní zdroj dat (viz kód níže).
Zavřete formulář a poté spusťte uloženou proceduru
Zde je nějaký pseudokód, který vám pomůže začít:
Private Sub RunSomeProcedure() Dim lngOrderID as Long 'Assuming you need to pass information from your form to the stored procedure, for example, an OrderID lngOrderID = Me.OrderID 'If you don't store the info it will not be available after closing the form DoCmd.Close acForm, Me.Name 'This closes the form ExecuteMyCommand "uspStoredProcedureName " & lngOrderID End Sub
Neznáte ExecuteMyCommand? Můžete se na to podívat zde.
Nastavte zdroj záznamů formuláře na hodnotu null
Private Sub RunSomeProcedure() Dim lngOrderID as Long Dim strRecordSource as String 'Assuming you need to pass information from your form to the stored procedure, for example, an OrderID lngOrderID = Me.OrderID 'If you don't store the info it will not be available after closing the form strRecordSource = Me.RecordSource 'Store the recordsource for later use Me.RecordSource = vbNullString ExecuteMyCommand "uspStoredProcedureName " & lngOrderID Me.RecordSource = strRecordSource 'Restore the form so that the user can see the updated data End Subthe DataRestore
Připoj se ke mně 9. března se speciálním hostem Ebo Quansahem!
Přijďte se dozvědět nejnovější informace o Microsoft Access s Ebo, produktovým manažerem pro skupinu Access. Podrobnosti naleznete zde:https://accessusergroups.org/sql-server-with-access/event/sql-server-with-access-whats-new-in-access-a-presentation-by-the-access- produktový manažer/