Erreur 2046 la commande CollerParAjout n'est pas disponible pour l'instant
-
vendredi 8 juin 2012 04:57
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
Toutes les réponses
-
samedi 9 juin 2012 13:07
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
- Modifié Claude Larocque samedi 9 juin 2012 13:08 code wrong place
- Marqué comme réponse Claude Larocque samedi 9 juin 2012 13:09
-
lundi 11 juin 2012 10:32Modérateur
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

