Access - Création d'un champ si la valeurt d'un autre champ = oui

Signaler
Messages postés
102
Date d'inscription
jeudi 22 juillet 2010
Statut
Membre
Dernière intervention
12 juin 2012
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour et meilleurs voeux à ceux qui liront ceci...

Voici le but de ma question,

Je crée une base access qui permettra de gérer des factures.
Pour chaque facture, j'ai un enregistrement dans une table.
Cette table contient un champ "blocage" prenant la valeur OUI ou NON (valeur par défaut : NON).

J'aimerais créer un champ dans la table "Blocage" à chaque fois qu'il y a blocage (c'est a dire à chaque fois que le champ "blocage" prend la valeur "Oui")

Si mes informations sont incomplètes, merci de me demander des précisions

Merci d'avance pour l'aide que vous pourrez m'apporter

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Avant d'être dans la DB, tes valeurs sont dans les variables de ton code/formulaire.
Il te suffit donc, au moment où tu stockes la facture (dans le code du bouton Valider ?), que tu ajoutes un test sur la variable équivalente au blocage et que tu lances une seconde requète pour :
- ajouter un enregistrement à ta table blocage si OUI
- supprime un éventuel enregistrement si NON

Personnellement, je te déconseille de créer une table pour stocker des infos qui existent déjà dans une autre : Cela fait doublon et il y a forcement un moment où tes données ne seront plus cohérentes ... bonjour les futures galères
Pour connaitre les factures bloquées, une simple requète recherchant les n° de facture avec blocage à OUI suffit.

D'autre part, il faudra préciser si tu travailles dans Access ou bien dans vb.NET sur une DB Access.
C'est à toi d'apporter tout de suite le maximum de renseignements pour qu'on comprenne ta question.
Perso, quand une question manque de précision, je n'y répond pas, j'ai autre chose à faire que de pleurer les renseignements.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
102
Date d'inscription
jeudi 22 juillet 2010
Statut
Membre
Dernière intervention
12 juin 2012

En fait, je ne travaille pas avec VB.net, d'ou la difficulté pour moi d'effectuer un test quelconque, je travaille uniquement avec access

Mon probleme vient du fait que je ne veux pas avoir les champs vide dans la première table si il n'y a pas blocage.

J'ai donc créé une seconde table, qui contiendra la raison du blocage, la date du blocage et du déblocage mais uniquement si la valeur du champ blocage de la premiere table est oui.

Une fois la date de déblocage rentrée, on passera la valeur blocage sur Non mais conserverons la raison et les dates de blocage/déblocage (pour historique)

J'espère etre plus clair et m'escuse pour mon manque de précisions
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
VBA --> Modif catégorie de la question

Ok, je vois ta construction.
Cela ne change rien : Le moment où les données sont entrées dans la DB passe par un bouton de validation.
Il te suffit de faire tes tests et ton éventuelle écriture lors de cet évènement.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)