Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2011, 20h01   #1
Membre régulier
 
Inscription : janvier 2011
Messages : 307
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 307
Points : 76
Points : 76
Par défaut Lignes de registres visibles sous conditions

Bonjour à tous,

Je cherche une méthode VBA pour que l'on puisse controler la creation de lignes une par une dans un sous formulaire de détails de facture/devis par exemple.

J'ai essayé des boutons avec comme event click :"Allowaddition = true/false" , mais je voudrais qu'une fois toutes les conditions remplies la ligne en question s'enregistre sans qu'une autre ligne vierge n'apparaisse en dessous par défaut.
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2011, 16h20   #2
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
ça doit pouvoir se faire facilement. Je viens d'essayer la propriété allowadditions d'un sous-formulaire et ça marche nickel....Explique bien ton problème en détail
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2011, 20h08   #3
Membre régulier
 
Inscription : janvier 2011
Messages : 307
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 307
Points : 76
Points : 76
Citation:
Envoyé par paidge Voir le message
ça doit pouvoir se faire facilement. Je viens d'essayer la propriété allowadditions d'un sous-formulaire et ça marche nickel....Explique bien ton problème en détail
Voilà, j'ai créé un bouton avec VBA sur mon formulaire principal qui reconnait automatiquement quel onglet est actif et applique un AllowAdditions=true dans le SF appartenant au dit onglet ...

Mais ce que je voudrais c'est que comme on le voit souvent dans des logiciels :

La ligne en cours de création ne soit pas obligatoirement e enregistrée jusqu'à ce qu'un contrôle de tous les champs ne soit effectué : un bouton "Enregistrer ligne" se chargerait de déclencher les vérifications puis enregistrements uniquement si tout va bien. Un blocage serait mis en place et tous les contrôles de la ligne fraichement enregistrée serait en Enabled=false (ça je sais le faire)

Bref, je veux éviter qu' Access laisse une ligne de registre vide dans le SF et que l'enregistrement soit contrôlé et non systématique...
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2011, 23h02   #4
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Et bien comme ça je dirais :
crées des champs indépendants et sur l'evenement click de ton bouton tu lances une requête INSERTION(+ verrouillage des champs)....Qu'en penses-tu ?
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2011, 15h03   #5
Membre régulier
 
Inscription : janvier 2011
Messages : 307
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 307
Points : 76
Points : 76
Bin oui, mais tu parles d'un travail ! et comment afficher les lignes qui sont enregistrées ? faut des formulaires indépendants aussi ?

Je suppose qu'il faut un formulaire utilisateur qui quand il se ferme et si tout va bien actualise une requête d'ajout, mais et dans le cas d'une édition de ligne ?
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2011, 17h50   #6
Membre régulier
 
Inscription : janvier 2011
Messages : 307
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 307
Points : 76
Points : 76
Citation:
Envoyé par paidge Voir le message
Et bien comme ça je dirais :
crées des champs indépendants et sur l'evenement click de ton bouton tu lances une requête INSERTION(+ verrouillage des champs)....Qu'en penses-tu ?
Bonjour à toi Paidge,

Ta réponse est très logique mais rajoute juste un peu de travail :

De cette façon on peut alimenter base et formulaire sous-jacent grâce à un formulaire de saisie indépendant qui lui effectuera tous les contrôles exigés dans les conditions ... Bien vu ! (le formulaire détail Devis et Facture restera de cette façon en AllowAdditions= false et chaque ligne déjà existante aura ses champs en Enabled = False.

Voici trois nouvelles questions qui apparaissent :

1/ Il me reste à connaître la syntaxe exacte pour déclencher une requête en vba pour access 2010 et comment renvoyer un message d' erreur si doublon ou erreur ...

2/ Comment bénéficier du même formulaire d'ajout de données et de sa boucle de contrôle avant enregistrement lorsque l'on veut éditer une ligne déjà existante ?

Je verrais comme méthode (je suis ouvert à toute suggestion) :

Réinjecter dans chaque champ du formulaire de saisie les données de la ligne active grâce à un bouton "Modifier Ligne" situé sur le formulaire principal. Le même bouton se chargeant de changer le titre du formulaire de saisie en Caption ="Modifier une ligne de "&[TypeDoc], la fermeture du formulaire aurait en event la boucle de vérification déjà utilisée.

3/ Dans la dite requête d'insertion, le numéro auto de la clé primaire qui sert à identifier chaque ligne dans la relation IdDocument <>IdLignedeDétail sera t'il conservé ?

Saurais tu me guider ou bien indiquer une autre méthode ?

Merci d'avance
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 11h58   #7
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Citation:
Envoyé par clickandgo Voir le message
1/ Il me reste à connaître la syntaxe exacte pour déclencher une requête en vba pour access 2010 et comment renvoyer un message d' erreur si doublon ou erreur ...
Tu as des réponses >>ICI<<

Citation:
Envoyé par clickandgo Voir le message
2/ Comment bénéficier du même formulaire d'ajout de données et de sa boucle de contrôle avant enregistrement lorsque l'on veut éditer une ligne déjà existante ?
En ouvrant et en modifiant la source du formulaire sur clic d'un bouton MODIFIER (avec allowadditions =false pour n'avoir qu'une ligne).

Citation:
Envoyé par clickandgo Voir le message
3/ Dans la dite requête d'insertion, le numéro auto de la clé primaire qui sert à identifier chaque ligne dans la relation IdDocument <>IdLignedeDétail sera t'il conservé ?
Lors de modification d'une ligne ? La réponse est oui
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h06.


 
 
 
 
Partenaires

Hébergement Web