sql >> Databáze >  >> RDS >> Access

Vyhněte se této běžné chybě při provádění uložené procedury v MS Access

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 Sub
the 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/


  1. Jaký je rozdíl mezi spojeními oddělenými čárkami a spojením podle syntaxe v MySQL?

  2. Odebrat SCHEMABINDING ze zobrazení na serveru SQL Server

  3. 9 osvědčených postupů pro psaní SQL dotazů

  4. Jak použít existující sekvenci Oracle ke generování id v režimu spánku?