none
Erreur 2046 la commande CollerParAjout n'est pas disponible pour l'instant RRS feed

  • Question

  • Bonjour,

    J'installe mon application chez un client qui utilise Windows 7 et Microsoft Office Professionnel Plus 2010 64 bits, tout comme moi.

    Lorsque la fonction CollerParAjout est utilisé, il y a une erreur 2046

    Ce qui est curieux, c'est que ce code marchait très bien il y a quelques jours, ce n'est qu'en faisant quelques transactions dans le programme que cette erreur est soudainement survenu.

    Je ne réussi pas à trouver d'où elle provient.

    Voici le code:

    Option Compare Database
    Option Explicit
    
    Private Sub Combiner_Click()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Set dbs = CurrentDb
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdCopy
    DoCmd.OpenForm "Formulaire CommandesPourAdditions", acFormDS
    DoCmd.RunCommand acCmdPasteAppend
    DoCmd.Close acForm, "Formulaire CommandesPourAdditions"
    Forms![FormulaireAdditionsTotal].Refresh
    Forms![FormulaireAdditionsTotal].[VoirFactures].Requery
    End Sub
    

    SVP prendre note que je viens juste d'ajouter acFormDS car même si j'avais inscrit que l'ouverture par défaut doit¸être en feuille de données, le formulaire s'ouvrait en mode formulaire unique.

    Il y a aussi quelques autres endroits dans le programme ou une erreur 2046 survient, mais ce n'est que sporadiquement, est-ce qu'il y a un bug connu avec cette erreur?

    Merci de votre aide

    Claude du Québec, Canada


    Claude Larocque

    vendredi 8 juin 2012 04:57

Réponses

  • Well this is good in some case when I don't receive answer, that usually means that I have to do something different and that's what I did, and it works great!

    Here is the code in case sonmeone is interested:

    Private Sub Combiner_Click()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    On Error GoTo Change_Err
    
    Set dbs = CurrentDb
    
    
    Set rst = dbs.OpenRecordset("CommandesPourAdditions", dbOpenDynaset)
    With rst
    .AddNew
    !CLIENT = Me.Réf_client
    !NoComm = Me.Réf_commande
    !État = Me.État
    !Combiner = Me.Combiner
    .Update
    End With
    
    Change_Err:
    If Err = 2406 Then
        Resume Next
    End If
    Forms![Formulaire des paiements-clientsCombiné].[sbfOrderDetailsPaiementsCombinés].Form.Visible = True
    Forms![FormulaireAdditionsTotal].Refresh
    Forms![Formulaire des paiements-clientsCombiné].[sbfOrderDetailsPaiementsCombinés].Form.Requery
    Forms![FormulaireAdditionsTotal].[VoirFactures].Form.Requery
    End Sub

    Have a great week-end everyone

    Claude Larocque


    samedi 9 juin 2012 13:07

Toutes les réponses

  • Well this is good in some case when I don't receive answer, that usually means that I have to do something different and that's what I did, and it works great!

    Here is the code in case sonmeone is interested:

    Private Sub Combiner_Click()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    On Error GoTo Change_Err
    
    Set dbs = CurrentDb
    
    
    Set rst = dbs.OpenRecordset("CommandesPourAdditions", dbOpenDynaset)
    With rst
    .AddNew
    !CLIENT = Me.Réf_client
    !NoComm = Me.Réf_commande
    !État = Me.État
    !Combiner = Me.Combiner
    .Update
    End With
    
    Change_Err:
    If Err = 2406 Then
        Resume Next
    End If
    Forms![Formulaire des paiements-clientsCombiné].[sbfOrderDetailsPaiementsCombinés].Form.Visible = True
    Forms![FormulaireAdditionsTotal].Refresh
    Forms![Formulaire des paiements-clientsCombiné].[sbfOrderDetailsPaiementsCombinés].Form.Requery
    Forms![FormulaireAdditionsTotal].[VoirFactures].Form.Requery
    End Sub

    Have a great week-end everyone

    Claude Larocque


    samedi 9 juin 2012 13:07
  • Bonjour Claude,

    1/ Merci de modifier votre message en français.

    2/ Pensez à fermer l'objet Database invoqué et de le mettre à Nothing et pas seulement dans cette procédure... Idem pour les Recordset et tout objet DAO en général.


    Argy

    lundi 11 juin 2012 10:32
    Modérateur