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

Access Discussion :

affectation d'un controle calculé a un champs de table


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut affectation d'un controle calculé a un champs de table
    J ai une operation dans un champs calculé un formulaire, basée sur deux champs du meme formulaire (champs1 et champs2).

    je voudrais qu au moment où le champs calculé se met a jour, cad tt de suite apres avoir change les valeurs de champs1 et champs2, la valeur s enregidtre dans le champs de l enregistrement correspondant (cad dire ds la table)

    C est la suite d un post déjà existant sur la diff entre deux date. Les dates dans champs1 et champs2 sont entrées par l intermédiaire d un controle active X calendar.le champs calculé se met a jour, mais comment enregistrer la valeur dans le champs de la table correspondante? J ai essayé par une requete mais ca l enregistre a la suite de ts mes enregistrements?

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 86
    Points : 62
    Points
    62
    Par défaut
    Salut,

    quel est la requete que tu a utilisée pour cela? Tu a utilisié une réquete d'ajout ou de mise à jour?

    Sinon qu'a tu mis comme condition dans ta requete?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "INSERT Into Vue(jours) Values([Date2]-[Date1]) WHERE Vue.id=Me.id  "
    une requete de mise a jour aurait peut etre été plus judicieux.

    Vue:table et form principal
    jours champs de type nombre ds la table et ds le form vue
    id clé de la table vue(numauto)

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 86
    Points : 62
    Points
    62
    Par défaut
    Dans ce cas il est effectivement plus judicieux d'effectuer une requête de mise à jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql = "UPDATE Vue  SET Vue.jours=[Date2]-[Date1] WHERE Vue.id=Me.id;"

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    okay, mais maintenant je me pose la question de savoir où mettre cette requete. J ai essaye ds l evenement Change, beforeupdate,afterupdate et dirty de mon controle calculé jours, et ca na pas marché.Peut etre ds les evenements de mes controle date1 et date2?

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    bjr,

    pourquoi stocker le calcul????
    le calcul n'apporte aucune information supplémentaire justifiant son stockage
    ça prend de la place pour rien, ça fait du code VBA pour rien, des mises à jour pour rien, un risque d'incohérence des données pour rien, bref des prises de tête pour rien

    Fais le calcul dans une requête et affecte la requête au formulaire, c'est propre et facile à comprendre pour qui devra maintenir ta base

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Fais le calcul dans une requête et affecte la requête au formulaire, c'est propre et facile à comprendre pour qui devra maintenir ta base
    affecter la requete au formulaire? a un controle plutot?

    Je veux la stocker pour ma recherche: Critere "difference" entre ## et ## jours.C est pour ca que je veux la stocker.
    Car pour ma recherche j ai utilisé le tuto qui utilise en serie la fonction Restriction Nz(), il me faut donc en parametre un champs de ma table.

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    1 - tu crées une nouvelle requête basée sur ta table
    2 - tu ajoutes tous les champs de la table à la requête
    3 - tu ajoutes un calcul dans la requête, dans la ligne "champ" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    difference : Date2 - Date1
    4 - tu mets cette requête en source du formulaire à la place de la table
    5 - tu peux utiliser le champ "difference" comme s'il était dans ta table

    c'était bien comme ça non?

  9. #9
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    eh ba écoute c est exactement ca que je voulais, et ca marche nickel, et cette méthode va me faciliter a arranger d autres problemes.

    Sans vouloir te lancer des fleurs, car tu as l habitude d access maintenant, tu mon héros d un jour.

    Merci beaucoup

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

Discussions similaires

  1. Message d'erreur "#Nom ?", Control calculé
    Par hamdaneabdelkader dans le forum IHM
    Réponses: 3
    Dernier message: 01/01/2009, 11h36
  2. Réponses: 10
    Dernier message: 01/02/2008, 19h36
  3. expression a utiliser dans un controle calculé
    Par gui-llaume dans le forum IHM
    Réponses: 2
    Dernier message: 26/11/2007, 12h33
  4. Affecter a un controle inclut dans un datagrid un evennement
    Par Alabama-song dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/08/2007, 13h42
  5. Réponses: 5
    Dernier message: 12/05/2005, 10h49

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