Access
 sql >> Database >  >> RDS >> Access

Evita questo errore comune durante l'esecuzione di stored procedure in MS Access

Evita questo errore comune durante l'esecuzione di stored procedure in MS Access

Ci piace eseguire stored procedure dal nostro codice VBA, ma c'è un problema a cui devi prestare attenzione:eseguire una procedura che influisce sui dati già caricati sul modulo. Se non stai attento riceverai il seguente messaggio:

Fortunatamente, è una soluzione facile, ecco alcuni suggerimenti:

  • Chiudi il modulo ed esegui la procedura memorizzata. Ciò presuppone che potresti non voler rivedere i dati modificati sullo stesso modulo.
  • Imposta l'origine record dei moduli su zero, quindi ripristina l'origine dati originale (vedere il codice di seguito).

Chiudi il modulo ed esegui la procedura memorizzata

Ecco uno pseudo-codice per iniziare:

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

Non hai familiarità con ExecuteMyCommand? Puoi cercarlo qui.

Imposta l'origine record del modulo su 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

Unisciti a me il 9 marzo con l'ospite speciale Ebo Quansah!

Vieni a conoscere le ultime novità su Microsoft Access con Ebo, il product manager per il gruppo Access. Per i dettagli, fare clic qui:https://accessusergroups.org/sql-server-with-access/event/sql-server-with-access-whats-new-in-access-a-presentation-by-the-access- product-manager/