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

IHM Discussion :

interdire la suppression d'un Enregistrement selon une condition dans un Sous_FormulaireContinu [AC-2007]


Sujet :

IHM

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 118
    Par défaut interdire la suppression d'un Enregistrement selon une condition dans un Sous_FormulaireContinu
    Bonjour

    Mon Sous_formualire Continu est une liste des lignes d'un Devis.
    Selon qu'une Ligne est déjà facturée je veux interdire sa suppression,sa Modification et l'afficher en Rouge
    Les autres Lignes on fait ce qu'on veut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Form_Current() 'mon Sous-formulaire CONTINU
     
        'Interdire la Supression des Lignes déjà Facturées
        'les Colorer en Rouge et les Vérouiller
        'les autres lignes on fait ce qu'on veut
     
          Select Case (Me.K_Facture) 'Mon champ à Tester
               Case Is <> "" 'la condition est réalisée
                    Me.Description.ForeColor = RGB(233, 23, 0) 'Rouge
                    Me.AllowDeletions = False
                    Me.AllowEdits = False
          End Select
    End Sub
    Dès que la condition est rencontrée toutes les lignes du Sous_formulaire sont Rouges,Interdites en Suppression
    Je ne peux donc pas modifier ou supprimer les autres.

    Cordialement

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Bonjour,

    Pourquoi tester la valeur avant alors ?
    Simplement mettre ça sans rien d'autre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                    Me.Description.ForeColor = iif(nz(Me.K_Facture,"") <> ""),RGB(233, 23, 0) ,RBG(???,???,???))
                    Me.AllowDeletions = (nz(Me.K_Facture,"") <> "")
                    Me.AllowEdits = (nz(Me.K_Facture,"") <> "")

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 118
    Par défaut les lignes sont soit Rouges soit Noires
    Merci Loufab

    Le code marche mais pas comme je voudrais

    1 ) Car sur l'activation je passe soit tous les entregistrements en Rouge soit Tous en Noir
    2 ) Et seul le premier champ de la ligne :[Description] respecte le AllowDeletions et AllowEdits (Pas bon les lignes déjà Facturées seraient modifiables !)

    Voici une ligne :

    Description-----------Qté---Pu---Qté*Pu-----K_Facture(Non Visible)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current() 'mon Sous-formulaire CONTINU
     
         MsgBox (Nz(Me.K_Facture, "") <> "") 'pour voir Vrai ou Faux
                    Me.Description.ForeColor = IIf((Nz(Me.K_Facture, "") = ""), RGB(0, 0, 0), RGB(233, 23, 0))
                    Me.AllowDeletions = (Nz(Me.K_Facture, "") = "") 'Vrai ou Faux
                    Me.AllowEdits = (Nz(Me.K_Facture, "") = "")
    End Sub
    C'est dommage car c'était simple

    A l'ouverture du Sous-formulaire je voudrais voir les lignes Rouges et les Lignes Noires
    Comme ça je repère tout de de suite les Lignes Modifiables
    Je suppute un truc que je ne maitrise pas trop du genre
    For Each Enregistrement in MonRecordset
    tester ma condition K_Facture
    et appliquer mes couleurs et
    bloquages pour chaque enregistrement

    J'espère que je me fait mieux comprendre

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Bonjour,

    J'avais il y a quelques temps déjà à peu près la même interrogation que toi (rendre visible ou pas un contrôle dans un FContinu selon un critère de l'enregistrement) sous Ac-2003. A l'époque, nous en avions conclu que cela était impossible. Le résultat du code vaudra pour tous les enregistrements de ton SF et se basera sur le résultat du 1er enregistrement.

    Pour la mise en couleur par contre tu peux utiliser la mise en forme conditionnelle d'un contrôle (limité à 3 conditions maxi) qui sera bien enregistrement dépendant.

    Cordialement,


    Edit,
    Avec la mise en forme conditionnelle tu peut aussi rendre inactif un contrôle pour en éviter la modification. Par contre rien contre la suppression dans 2003 tout au moins.

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Bonjour,

    En relisant ta demande j'ai remarqué un oubli de ma part :

    Mon Sous_formualire Continu
    Effectivement la couleur ne fonctionnera qu'avec la mise en forme conditionnelle comme l'a justement fait remarqué Impala (une 1966 pour moi svp )

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 118
    Par défaut mise en forme conditionnelle
    Bonjour

    Mes remerciements à Loufab et TLImpala pour pour vos réponses

    1) La mise en forme conditionnelle: TipTop pour les couleurs !

    2) Pour interdire la suppression d'un enregistrement selon une condition j'ai opté pour un Bouton_Supprimer qui me garanti la suppression de l' Enregistrement qui rempli ma condition .
    Le fait d'avoir un Bouton par ligne me convient bien
    Dans mon option de départ sur Form_Current,le sélecteur d'enregistrement permettait une Multi-sélection sans tenir compte de ma condition j'ai donc supprimer le Sélecteur

    Bon WE
    Bien cordialement

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/01/2011, 11h17
  2. Suppression d'un enregistrement d'une base Access sous vb6
    Par azzouz_soui dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 05/08/2008, 19h45
  3. Réponses: 6
    Dernier message: 01/06/2007, 11h13
  4. Réponses: 2
    Dernier message: 02/08/2006, 00h24
  5. Affichage selon une condition dans un DBGRID !
    Par obon dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/04/2006, 10h26

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