En effet c'est tout bon, mais ce n'est pas ce que tu m'as envoyé.
NB : ce n'est pas sur clic mais après MAJ donc ça ne se déclenche pas sur la même action.
En effet c'est tout bon, mais ce n'est pas ce que tu m'as envoyé.
NB : ce n'est pas sur clic mais après MAJ donc ça ne se déclenche pas sur la même action.
Ok c'est déjà un bon début....
Mais je ne comprend pas trop la logique
Du coup après que dois je faire?
Car mon champ ID_Set est encore lié à ma table et je ne peux toujours pas rentrer de valeurs exceptionnelle?
Désolé pour mon ignorance!
Pour cela il faut simplement déclarer les bonnes propriétés dans la liste déroulante. A savoir :
Limiter à liste = Non
Formulaire Modifier les éléments de la liste = le formulaire de saisi/edition des id_set.
ou (et seulement ou) programmer ça dans l'événement Sur absence dans liste.
NewData contenant ce que tu viens de saisir et Response le comportement souhaités.
Plus complexe mais plus flexible aussi.
Du coup il me demandeLimiter à liste = Non
"ne peut pas definir à non la propriété LimiterAListe
La premiere colonne visible, determinée par la propriété Largeur colonne, n'est pas egales à la colonne liée.
Corrigez d'abord la proprieté LargerColonne avant de definir la propriété LimiterAliste"
Du coup je change mes largeurs colonnes
(Super j ai mes ID_Set en numéro)
Ok en l'occurrence F_DevisFormulaire Modifier les éléments de la liste = le formulaire de saisi/edition des id_set.
Si je reviens dans mon formulaire
et que je sélectionne mes catégories puis mes sous catégorie et enfin mon set (je met un numéro complétement au hasard)
Je peux bien entré ma description mon prix etc...
Mais en passant a la ligne suivante j ai un message:
Vous devez entrer une valeur dans le champ "T_Set.ID_categorie"
??
Je ne comprend pas trop....
Pour éviter le problème des N° de colonne j'utilise cette technique.
http://loufab.developpez.com/tutoriels/access/enumVBA/
Même problème que précédemment, recherche dans tes affectations aux listes là ou il manque cette colonne.Vous devez entrer une valeur dans le champ "T_Set.ID_categorie"
ça commence à prendre forme
ouula...
Tu commences a me perdre....
Pour les N° tu veux dire ca?
Mais je peux le mettre directement dans le contenu de la zone de texte ID_Set? (dans le champ de la requete)Pour qu'un membre n'apparaisse pas dans la liste ou dans l'explorateur d'objets « F2 », vous devez ajouter le préfixe « _ » à son nom. En VBA, le caractère « souligné » (_ ou underscore) n'est pas admis au début d'un nom. Le nom doit être entouré de crochets.
J ai essayé mais cela ne marche pas
Du coup j ai pensé a caMême problème que précédemment, recherche dans tes affectations aux listes là ou il manque cette colonne.
Mais cela ne suffit pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub ID_SS_categorie_AfterUpdate() Me.ID_Set.RowSource = " SELECT T_Set.ID_Set, T_Set.Ref_set,T_Set.ID_SS_categorie, T_Set.Description,T_Set.ID_categorie, T_Set.Prix_HT FROM T_Set WHERE T_Set.ID_SS_categorie=" & Me.ID_SS_categorie & " ORDER BY T_Set.ID_Set" End Sub
J ai toujours la meme erreur
Si seulement .... Ce petit point pourrait faire avancé grandement mon projet....ça commence à prendre forme
oulà !!! non surtout pas !!
Il faut que tu ailles direct au paragraphe IV.
Je vais regarder ton appli ce soir je dois l'avoir toujours dans la corbeille.
Bonjour,
Je n'avais pas vu la source du sous formulaire. Comme tu mets déjà tout en relation (t_set) l'affectation des colonnes (description et prix) ne sert pas. Tu peux donc l'enlever.
Voici le code que je mettrais dans la liste ID_SET
Ainsi tu n'as pas besoin de mettre limiter à liste = non et tu n'as donc pas le message.
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 Private Sub ID_Set_NotInList(NewData As String, Response As Integer) Response = acDataErrAdded 'on ajoute l'élément saisi dans la liste DoCmd.OpenForm "F_SET", acNormal, , , acFormAdd 'on ouvre le formulaire de saisi f_set Forms.f_set.Ref_set = NewData 'on affecte la saisie dans le contrôle du formulaire attenteFermeture Forms.f_set 'on attend que le formulaire soit fermer pour continuer. End Sub Function attenteFermeture(frm As Form) 'attente de la fermeture du formulaire. On Error Resume Next Do DoEvents Loop While frm.Visible Exit Function End Function
Cordialement,
Ok je regarde ça
Mais d après ce que je comprend
Ce code me permet d ajouter une nouvelle référence Grace a l ouverture du formulaire de saisie
Or ce que j aimerai c'est justement ne pas encoder le set
Que cette référence ne soit pas référencée dans les table set
C est pourquoi je pensait mettre peut être une références particulière
Avec un code spécifique du type "loca"
Cette référence serai livre de désignation et de prix
Mais je ne sais pas si c est possible
Vu les liens que tu as mis partout sur ce champ (dans la table T_ligne devis, relations...) c'est difficile de faire autrement que de le saisir.
Soit tu casses toutes les relations et les réglages de ce champ et là tu seras libre, soit tu saisis dans t_set.
C'est toi qui a réalisé cette appli ?
Oui c est moi
C est ma 1ère bdd....
Du coup effectivement il doit y avoir quelques énormités pour des professionnels comme vous
Perso ça ne me dérange pas de refaire tout un tas de choses je suis prêt à apprendre ! Je ne fais que ça d ailleurs
Quand j ai commence cette bdd je suis parti d une feuille blanche !
Si tu veux bien m aider je suis prêt !
Perso je ne perds pas mon temps à renseigner les réglages des liste déroulantes dans les tables. Lorsque tu souhaites faire des trucs un peu spécifiques, pas prévus, ça pose plus de problème qu'autre chose.
Sinon c'est un bon début bravo !
Sinon un code set spécial ça ne serai pas la solution la plus facile?
Si tu souhaites vraiment mettre un set sans l'enregistrer il faut supprimer au moins les relations que tu as mis en place, les réglages liste déroulante dans la table et surtout revoir ta source qui elle aussi pose un lien vers T_Set.
Ok ..... Effectivement ça fait tout changer ! Mon apprentissage sous access est tellement empirique
J ai peur de tout casser...
Excuse moi d incruster mais la création de ce code spécifique "loca"
N est pas du Du tout solution?
Par exemple je crée ce code dans ma table t-set
Et durant la requête r- ligne-devis
Je crée une exception
Si id-set=loca alors désignation et prix sont libres
Enfin quelque chose comme ça ...
http://www.developpez.net/forums/d12...ction-d-champ/
... Une piste peut être ....
Toujours la contrainte de la relation entre T_Set et T_Contenu Devis qui t'empêche toute possibilité.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager