Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1850 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[VBA - ACCESS] Rendre (in)Visible une zone

n°1625391
seniorpapo​u
Posté le 17-10-2007 à 13:11:53  profilanswer
 

Reprise du message précédent :
voici le code qui modifie la nomenclature:
 
attention!!! je n'ai pas changé le nom du mdb
http://cjoint.com/?krnldR50jw
Si tu peux me préciser à quel endroit tu définis coll en fonction de dechet cela m'arrangerait
Cordialement


Message édité par seniorpapou le 17-10-2007 à 13:12:43
mood
Publicité
Posté le 17-10-2007 à 13:11:53  profilanswer
 

n°1625430
nelior
Posté le 17-10-2007 à 13:49:42  profilanswer
 

Alors deja et avant tout ( une fois de plus ) merci pour cette promptitude.
 
pour moi, cela se passe dans l'évènement arpès MAJ.
 
En fait, c'est moi ; il y a jamais eu de lien entre cbo_coll et cbo_dechet.
 
Là, je crois qu'on est bon.
 
Par contre je ne comprend pas les modifications apportés ( quand je les trouves )
Par exemple, pourquoi y a-t-il "eeeeeeeeeeeeeeeeeeeeeeeeeeeee" dans données\valeur par défaut pour cbo_dechet ?
Pourquoi ai je [Formulaires]![frm_at_enr]![cbo_dechet].[text] dans données\contenu dans la ligne critère
A quoi sert le " .[text] " ?
 
Voilà quelques unes de mes interrogation !
 
cordialement


Message édité par nelior le 17-10-2007 à 14:35:06
n°1625482
seniorpapo​u
Posté le 17-10-2007 à 14:34:43  profilanswer
 

Re,
J'ai regardé dans le premier mdb que tu m'as envoyé, il n'y a rien non plus à ce sujet.
Pour le codedechet c'est bon?
@+

n°1625519
nelior
Posté le 17-10-2007 à 14:58:12  profilanswer
 

Pour moi tout fonctionne.
C'est génial.
 
SI je pouvais obtenir des explications.
merci

n°1625568
seniorpapo​u
Posté le 17-10-2007 à 15:22:39  profilanswer
 

Volontiers,
qu'est-ce qui t'a échapé comme information?

n°1625574
seniorpapo​u
Posté le 17-10-2007 à 15:23:57  profilanswer
 

ton post précédent m'avait échapé lui aussi, je vais lire tes questions

n°1625611
seniorpapo​u
Posté le 17-10-2007 à 15:37:48  profilanswer
 

le "eeeee..." était pour faire des tests, tu peux le retirer.
pour le .text:
dans cbo_dechet, j'ai, comme précisé dans un post précédent, ajouté une colonne , de ce fait, à la selection d'une ligne, j'obtiens deux informations: Le libellé et le oui (ou non). On trouve ces deux valeurs  respectivement dans .text  et .value  .  Si tu ne précises pas, la valeur par défaut est .value; hors comme ton critère se réfère au libellé il faut préciser  .text
 
Ce n'est pas très clair, mais je peux complèter si tu le désires.  
Regardes aussi le help au niveau des column dans les propriétés de cbo_dechet
@+


Message édité par seniorpapou le 17-10-2007 à 15:38:45
n°1625615
nelior
Posté le 17-10-2007 à 15:44:06  profilanswer
 

ALors .value, c'est la vrai valeur tandis que .text c'est une valeur affichée.
Sachant que .text et .value ne sont pas obligatoirement la même chose.
Comme ici, on a caché la colonne qui donne la vrai valeur pour faire apparaitre 'linformation qui nous interesse. Ce qui donne le .text , valeur apparente  à l'écran.
 
Ai je bon?


Message édité par nelior le 17-10-2007 à 15:44:50
n°1625621
nelior
Posté le 17-10-2007 à 15:46:54  profilanswer
 

J'ai aussi çà dans le code du formulaire

Code :
  1. Private Sub Modifiable85_BeforeUpdate(Cancel As Integer)
  2. End Sub
  3. Private Sub Modifiable85_Change()
  4. MsgBox Modifiable85.Value & "    " & Modifiable85.Text
  5. End Sub


 
Je pense que je peux l'enlever?!

n°1625682
seniorpapo​u
Posté le 17-10-2007 à 16:21:44  profilanswer
 

Oui tu peux enlever, tu vois que j'ai testé pour savoir dans lequel je trouvais mes valeurs.

mood
Publicité
Posté le 17-10-2007 à 16:21:44  profilanswer
 

n°1625811
nelior
Posté le 17-10-2007 à 17:21:34  profilanswer
 

Je viens vous remercier pour le temps passé.
Je vais essayer de répéter tout ceci sur un autre formulaire.
 
Bonne soirée.

n°1628433
nelior
Posté le 22-10-2007 à 10:47:53  profilanswer
 

Bonjour,
 
Je pensais tout cela fini mais en fait... non.
Le résultat dans la table " tbl_atelier_enr ", dans le champ " dechet " est comme valeur " oui " ou " non " ; et non le dechet choisis.
 
J'ai essayé de faire ceci.
dans le formulaire frm_at_enr, mettre cbo_dechet en independant et de créer une zone de liste invisible qui elle serait le champ " Dechet " de la table.
Alors la valeur est bien retourné sur cette zone de liste, mais dans la table, il n'y rien de marqué le champ reste vide.
 
C'est problèmatique!


Message édité par nelior le 22-10-2007 à 11:03:55
n°1628697
seniorpapo​u
Posté le 22-10-2007 à 16:05:05  profilanswer
 

Bonsoir,
je t'ai trouvé une solution indirecte un peu tordue, faute d'en trouver une simple. Il y a bien celle de faire un recordset et de lire le oui /non, on regardera après si ma solution ne te plait pas!!!. Si tu veux essayer, envoie moi ton zip actuel, ou dis moi si je peux le faire sur celui dont je dispose.
Cordialement

n°1628736
nelior
Posté le 22-10-2007 à 16:41:47  profilanswer
 

Le dernier en date envoyer par moi ou vous est correct je pense.
Par contre pour en rajouter en plus.
C'est dans le cbo_dechet.
quelque soit la valeur choisis, on a ou Aérosol ou Ferrailles qui correspond pour chacun le premier oui dans la liste (Aérosol ) et le premier non dans la liste (Ferrailles).
EDIT: Je vais tout de même envoyer celui avec lequel j'ai rajouter les modifications ( cité au dessus).


Message édité par nelior le 22-10-2007 à 17:04:55
n°1628742
seniorpapo​u
Posté le 22-10-2007 à 16:47:45  profilanswer
 

Oui, j'ai vu le pb et la solution proposée le corrige en même temps.
Donc, je reprends mon dernier envoi et je complète?

n°1628769
tegu
Posté le 22-10-2007 à 17:09:25  profilanswer
 

Pour que la table soit bien remplie il suffit de mettre 1 comme colonne liée de cbo_dechet.
Pour garder la bonne initialisation de cbo_dang dans cbo_dechet_AfterUpdate, il suffit d'écrire

Me.cbo_dang = Me.cbo_dechet.Column(0)


Tu aurais gagné du temps à mettre un type de données booléen à ton champ « Déchet dangereux », mais même comme ça on peut améliorer le traitement.
 
Déjà dans la source de cbo_dechet tu peux transformer ce champ en booléen

SELECT tbl_at_dechet.dechet, IIf([Déchet dangereux]="oui",True,False) AS Dangereux FROM tbl_at_dechet;

Dans ce cas le After_Update contiendrait directement

Me.cbo_bsddechet.Visible = Me.cbo_dechet.Column(1)


 

n°1628773
seniorpapo​u
Posté le 22-10-2007 à 17:10:57  profilanswer
 

Tu testes et tu me dis
http://cjoint.com/?kwrkujy5zk

n°1628780
nelior
Posté le 22-10-2007 à 17:13:25  profilanswer
 
n°1628787
seniorpapo​u
Posté le 22-10-2007 à 17:26:50  profilanswer
 

Bonsoir,
attend, nelior, la proposition de tegu est bien meilleure et tu peux la mettre en oeuvre immédiatement:
 
 

Citation :

Pour que la table soit bien remplie il suffit de mettre 1 comme colonne liée de cbo_dechet.  
Pour garder la bonne initialisation de cbo_dang dans cbo_dechet_AfterUpdate, il suffit d'écrire  
 
 
Me.cbo_dang = Me.cbo_dechet.Column(1)


 
j'ai mis column(1) pour avoir le oui / non   sinon column(0) donne le libellé en entier
essaye et dis nous


Message édité par seniorpapou le 22-10-2007 à 17:28:23
n°1628792
seniorpapo​u
Posté le 22-10-2007 à 17:31:04  profilanswer
 

Merci tegu,  
le .column m'ayant échappé je n'arrivais pas à m'en sortir


Message édité par seniorpapou le 22-10-2007 à 17:31:15
n°1629066
nelior
Posté le 23-10-2007 à 09:33:32  profilanswer
 

je  crois que je me suis mélangé de partout.
J'ai fais la modif', mais cela donne comme résultat que cbo_dang prend la valeur de cbo_dechet soit le nom du dechet.
et bien sur cbo_bsddechet reste invisible tout le temps.

n°1629318
tegu
Posté le 23-10-2007 à 14:00:05  profilanswer
 

Avec les combobox (listes déroulantes) il faut faire la part des choses :
1/ les valeurs de champs à afficher (Contenu/RowSource)
2/ le nombre de colonnes qui composent la combo (Nbre colonnes/ColumnCount)
3/ la largeur d'affichage des colonnes (si 0 alors colonne masquée) (Largeurs colonnes/ColumnWidths)
4/ la colonne qui sert à alimenter le champ sous-jacent (Colonne liée/BoundColumn)
5/ le nom du champ sous-jacent à la combo (Source contrôle/ControlSource) ; il appartient à la source de données du formulaire (champs lié).
 
Il ne faut pas confondre ces notions, car elles sont complémentaires.
Tu ajoutes l'accès à n'importe quel colonne de la combo (sur l'élément sélectionné) par .Column(n-1) et tu peux tout faire
 
Prend un peu de temps pour assimiler ça et revoir ton code en conséquence. C'est juste une question de finalisation maintenant.

n°1629530
seniorpapo​u
Posté le 23-10-2007 à 17:12:40  profilanswer
 

Bonsoir,
POur nelior:
c'est pour cela que dans mon post je t'ai mis
 
Me.cbo_dang = Me.cbo_dechet.Column(1)
Relis bien ce que te dit tegu
Cordialement

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Debuter avec Access[Access] lancement auto via Batch et Mot de passe?
migration base access odbc/sql serexporter une bd access en fichier texte en vb6
Synchro de bases access sous accessVBA ACCESS pb fermeture application
Pilotage de l'archivage Outlook avec VBAsuivi de version de programmes access reliés à une base serveur
[Access] Generer des lignes dans une Query 
Plus de sujets relatifs à : [VBA - ACCESS] Rendre (in)Visible une zone


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR