IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Erreur d'execution 2486 [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut Erreur d'execution 2486
    Bonjour a tous,

    je cherche a récupérer les valeurs calculées d'un etat access dans une table.
    J'ai donc créer une fonction qui permet de le faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Function Traitement_Validation(Etat_Equipement As Variant, Equipement As Variant, Date_Valid As Date, Valeur_Valid As Variant)
     
    Dim Valeur_Traitement As Variant
     
     
    Valeur_Traitement = DLookup("Temp_Val_Jour_Validation", "T_Temp_Validation_Jour", "Temp_Val_Jour_Date=" & Date_Valid & " and Temp_Val_Jour_ID_Equipement = " & Equipement & " and Temp_Val_Jour_ID_Etat_Equipement = " & Etat_Equipement)
     
    If (IsNull(Valeur_Traitement)) Then
    sql = "INSERT INTO T_Temp_Validation_Jour ( Temp_Val_Jour_Ref_Site_C, Temp_Val_Jour_Date, Temp_Val_Jour_ID_Equipement, Temp_Val_Jour_ID_Etat_Equipement, Temp_Val_Jour_Validation ) values ('" & Application.TempVars("REF_SITE").Value & "', '" & Date_Valid & "','" & Equipement & "', '" & Etat_Equipement & "', '" & Valeur_Valid & "');"
     
    DoCmd.RunSQL (sql)
    'MsgBox sql
     
    End If
     
    End Function
    J'appelle cette fonction par l'intermediaire d'une zone de texte dans mon etat comme suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Traitement_Validation([ID_Equipement_C];[Valeur_Etat_Equip_Ref_Etat];[Date_Complete_Jour];[Traitement_Validation_Jour])
    Si j'active la msgbox, ma requete SQL est correcte.

    or, j'ai le message suivant :

    Erreur d'execution '2486'
    Impossible d'executer cette action pour l'instant.

    quelqu'un pourrait-il m'aider ?

    D'avance Merci

  2. #2
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour et bienvenu sur le forum.

    Je ne vois pas l'intérêt de procéder ainsi: un état est destiné à présenter des informations à l'utilisateur. Il n'est pas très logique de l'utiliser comme support pour exécuter des traitements de données.

    De surcroit, tu souhaites ainsi lancer une action au travers d'une expression! Ce n'est pas l'usage prévu des expressions pour un contrôle. Les expressions sont destinées exclusivement à fournir une valeur audit contrôle.

    Le plus logique serait donc de revenir à ton besoin initial et coder les regroupements et calculs que tu cherches à récupérer directement en VBA .

    Peut-être pourras-tu gérer tout ou partie de ton traitement au travers de requêtes action lancées depuis le code. Sinon, tu peux trés certainement reproduire tes calculs via des commandes DAO.
    http://warin.developpez.com/access/dao/

    Bon courage.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut
    Bonjour et Merci pour ta réponse.

    En effet, un état n'est pas un lieu habituel pour effectuer ce genre d'action. Mais comme mon etat provient déja d'une requete croisée, j'avais tout sous la main...

    Je vais regarder ton lien, en esperant m'en sortir...

    Merce encore

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut
    bon, je tourne vraiment en rond...

    Compte tenu que tout mes calculs sont fait dans mon état (etat qui repose sur une requete croisée, j'ai egalement fait des tests brefs, mon état possede vraiment tout... donc, c'est vrais que pour moi, la meilleur des solutions est de passer par cet etat pour mouvementer une table.
    En fait, pour rentrer dans le vif du sujet, je me repose sur cette table pour avoir les validations d'une journées, je peux avoir plusieurs validations, mais je dois compter qu'une journée. De plus, si j'ai une invalidation, cette dernière prends lieu et place... donc, le mieux etat de passer par une table, ou je reprends les valeurs...
    Si pas de valeur pour la journée, je l'ecris...
    Si il exite une valeur et que je dois invalider, je la modifie
    Si il existe une valeur et que je dois valider... je fais rien...

    Donc, si quelqu'un a une autre solution que de reproduire les calculs sur une requete, avec les regroupements et compagnie... je suis preneur

    d'avance MErci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut
    après plusieurs recherches, j'ai enfin trouvé la solution !

    En effet, en utilisant la commande CurrentDB.Execute, en lieu et place de doCmd.RunSQL, je n'ai plus de problème !

    voila, pour info

    merci a tous

  6. #6
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Ok,

    N'oublie pas de cliquer sur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur d'execution 3704, ...:objet n'est pas ouvert
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/11/2005, 15h44
  2. [ERREUR D'EXECUTION] Segmentation Fault
    Par CestPasMoi dans le forum C++
    Réponses: 3
    Dernier message: 26/11/2005, 17h38
  3. Réponses: 3
    Dernier message: 03/11/2005, 18h41
  4. [LDAP][Interface Winldap.h] Erreur d'execution
    Par -=Spoon=- dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 10/03/2005, 17h10
  5. [javamail] erreur d'execution
    Par bibx dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 05/12/2003, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo