Home
Home

---Soumis par Dev Ashish---

TransferDatabase cause un "Page Fault" si l'objet récepteur existe.

    Vous pouvez vous retrouver avec un  GPF si vous essayez d'exporter un objet vers une autre base de données en utilisant la méthode TransferDatabase.  Cette erreur se produit si l'objet, à la destination, existe déjà.

    La seule solution, en ce moment, est d'utiliser Automation pour démarrer une autre instance d'Access pour effacer l'objet à la destination, avant d'émettre la commande TransferDatabase.

    Q160875:  TransferDatabase causes page fault if object exists.

    Le code qui suit fut copié de l'article mentionné.

'****** Code Start ********
Public Function TransferObject(Filename As String, _
                                     objType As Integer, _
                                     objName As String)
On Error GoTo TransferObject_Err
Dim accObj As New Access.Application
   accObj.OpenCurrentDatabase Filename
   accObj.DoCmd.DeleteObject objType, objName
   accObj.CloseCurrentDatabase
   Set accObj = Nothing
   DoCmd.TransferDatabase acExport, _
                                 "Microsoft Access", _
                                 Filename, _
                                 objType, objName, objName, False
   MsgBox "Transferred Object: " & objName & _
                " to database file " & Filename, _
                vbInformation, "Test"
TransferObject_End:
   Exit Function
TransferObject_Err:
   MsgBox Err.Description, vbCritical, "Test"
   Resume TransferObject_End
End Function
'****** Code End ********