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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Changer largeur zone de liste access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Changer largeur zone de liste access

n°1379472
hacksi
Posté le 02-06-2006 à 09:11:52  profilanswer
 

Bonjour,
voila je travaille en VBA sous Access.
Je voudrais savoir s'il est possible en VBA de changer la largeur des colonnes d'une zone de liste ?
Jeprécise que je veux changer la largeur des colonnes et non la largeur de la zone de liste...


Message édité par hacksi le 02-06-2006 à 11:07:18
mood
Publicité
Posté le 02-06-2006 à 09:11:52  profilanswer
 

n°1379496
RavenShado​W1
Posté le 02-06-2006 à 09:38:11  profilanswer
 

Ben tu met ton formulaire en mode édition, tu clic droit dessus ( sur ta zone de liste )
Tu te dirige dans l'onglet Format
et a la 3eme ligne tu as :  Largeurs Colonnes : ( tu peu écrire comme ici : 1,623cm;2,501cm;2,501cm;2cm )
 
Voila je pense que tu peus changer le titre :) et mettre un petit [Résolu]  
répond quand meme pour savoir si ta bien compris la démarche :)
bonne chance

n°1379514
hacksi
Posté le 02-06-2006 à 09:53:48  profilanswer
 

ee en en fait ta pas compris ce que je voulais faire. Je veux directement changer la largeur des colonnes avec du code VBA...

n°1379520
tegu
Posté le 02-06-2006 à 09:58:00  profilanswer
 

Et où est le problème hacksi ?
Tu vas me dire qu'avec les infos qu'il t'a donné tu n'es pas capable de faire le code VBA correspondant ?
Tu sais quand même j'espère que les propriétés des objets accessibles via l'interface ont leur équivalent VBA et qu'il suffit d'utiliser F1 en saisie dans l'interface pour en connaître le nom ?

n°1379523
RavenShado​W1
Posté le 02-06-2006 à 09:59:45  profilanswer
 

oki ben si c ca : tu peu le faire de cette maniere  :
Me.lstResults.ColumnWidths = "920;1418;1418;1134"
( ces chiffres correspondent avec ceux écris dans mon autre réponse en centimetre, ici elles sont en pixel je supose, mais teste d'écrire directement en cm comme ca :  

Code :
  1. Me.lstResults.ColumnWidths = "1,623cm;2,501cm;2,501cm;2cm"

  <= a testé  
 
( lstResults   est le nom de ta zone de liste )
dis moi si ca marche


Message édité par RavenShadoW1 le 02-06-2006 à 10:14:08
n°1379529
hacksi
Posté le 02-06-2006 à 10:07:14  profilanswer
 

malheureusement cela ne fonctionne pas.

n°1379536
RavenShado​W1
Posté le 02-06-2006 à 10:13:49  profilanswer
 

des 2 manieres ??  
 
Me.lstResults.ColumnWidths = "920;1418;1418;1134"  
ou  
Me.lstResults.ColumnWidths = "1,623cm;2,501cm;2,501cm;2cm"  
 ?????????????
 
( j'avais oublié le s a Widths <== ) :/  dsl
 
la premiere marche chez moi :/
mais fo la mettre dans un Private Sub Form_Load() comme ca des le début elle change d'atribue

n°1379551
hacksi
Posté le 02-06-2006 à 10:19:24  profilanswer
 

ha voila avec le s ça va tout de suite mieu merci :)

n°1379558
hacksi
Posté le 02-06-2006 à 10:21:54  profilanswer
 

Et est-il possible de savoir si une colonne est présente ou non en connaissant son Nom ?

n°1379567
RavenShado​W1
Posté le 02-06-2006 à 10:31:58  profilanswer
 

comprend pas ce que tu cherche ....

mood
Publicité
Posté le 02-06-2006 à 10:31:58  profilanswer
 

n°1379571
hacksi
Posté le 02-06-2006 à 10:33:53  profilanswer
 

bin en fait, je n'ai pas toujours les mêmes colonnes dans ma zone de liste. Donc je voudrais savoir s'il est possible de savoir si une colonne est présente ou pas dans la zone de liste sachant que je connais son en-tête ?

n°1379580
RavenShado​W1
Posté le 02-06-2006 à 10:41:54  profilanswer
 

tu peus faire que selon un choix par txtbox par exemple tu lui associe dans ton code vba :  

Code :
  1. ....
  2. Me.lstResults.RowSourceType = Table / Query
  3. Me.lstResults.RowSource= "SELECT [champ1], [champ2], [champ5], [champ17] FROM MaTable WHERE [MaTable]![champ5]>20; "


 
par exemple... ca t'aide .. ?  
le : Me.xxxx.xxx = xxxx        est tres utile dans un formulaire vbs ..

n°1379582
hacksi
Posté le 02-06-2006 à 10:43:31  profilanswer
 

non ça ce n'est pas possible car en fait jai un gros formulaire avec plein de choix possible qui créé ma requête dynamiquement...

n°1379592
RavenShado​W1
Posté le 02-06-2006 à 10:50:24  profilanswer
 

ouai jsuis entrain de faire pareil ^^
ben dans ce cas, ta requete dinamique tu la met dans une variable :
genre SQL et tu fé un RefreshQuery ( jpense que tu dois avoir le meme programme que moi )  http://cafeine.developpez.com/acce [...] rchemulti/

Code :
  1. ...
  2. Me.lstResults.RowSource= SQL
  3. RefreshQuery
  4. End Sub

n°1379602
hacksi
Posté le 02-06-2006 à 10:54:28  profilanswer
 

oui c'est un truc dans ce style, mais a quoi sert RefreshQuery ?

n°1379614
RavenShado​W1
Posté le 02-06-2006 à 10:59:25  profilanswer
 

Ca sert a rafraishir la zone de liste des que tu fais un choix par checkbox ;)
c'est bien fait et assez utile ..
va voir sur le site que je t'ai donné il y a l'explication du RefreshQuery détaillé

n°1379616
hacksi
Posté le 02-06-2006 à 11:01:10  profilanswer
 

ok mais c'est quoi le rapport avec le fait de détecter une colonne ?

n°1379623
RavenShado​W1
Posté le 02-06-2006 à 11:03:20  profilanswer
 

je te met le code vite fé a toi de le rendre plus consistant lol
 

Code :
  1. Private Sub RefreshQuery()
  2. Dim sql As String
  3. Dim SQLWhere As String
  4. sql = "SELECT Poste, Service, Duree, Cout_TTC, Numero_Demande, Date FROM CONSOTEL Where CONSOTEL!Duree >= 20 "
  5. If Me.chkCout Then
  6.     sql = sql & "And CONSOTEL!Cout_TTC >= " & Me.txtRechCout & " "
  7.        
  8. ' ************ ICI, une utilisation du Me.Moyenne.RowSource ;)  ************ 
  9.         Me.Moyenne.RowSource = "SELECT Avg([Cout_TTC]) AS PrixMoy FROM CONSOTEL WHERE Cout_TTC> " & Me.txtRechCout & ";"
  10. ' ************************************************************************
  11. End If
  12. If Me.chkNumero Then
  13.     sql = sql & "And CONSOTEL!Numero_demande like '" & Me.txtRechNumero & "*' "
  14. End If
  15. ' ******************************* Selection par Date ( du >> au ) ****************************
  16. If Me.chkDate Then
  17.      sql = sql & "And (CONSOTEL!Date BETWEEN #" & Format(Me.txtRechDate, "mm/dd/yyyy" ) & "# AND #" & Format(Me.txtRechDate2, "mm/dd/yyyy" ) & "# )"
  18.    Me.chkDate.Requery
  19. End If
  20. sql = sql & ";"
  21. Me.lstResults.RowSource = sql
  22. Me.lstResults.Requery
  23. End Sub


Message édité par RavenShadoW1 le 02-06-2006 à 11:03:34
n°1379626
hacksi
Posté le 02-06-2006 à 11:05:19  profilanswer
 


ok mais c'est quoi le rapport avec le fait de détecter une colonne ?

n°1379631
hacksi
Posté le 02-06-2006 à 11:06:51  profilanswer
 

c'est bon ça vent de faire tilt dans ma tête, il suffit juste que je regarde ma requête finale ! pfff que jsuis c..

n°1379632
RavenShado​W1
Posté le 02-06-2006 à 11:08:36  profilanswer
 

ben oui ^^ c ca que je comprenais pas ou tu voulais en venir :)  
content que t'es trouver une solution :) ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Changer largeur zone de liste access

 

Sujets relatifs
pb de transition excel[resolu][ASP.NET][Resolu] Erreur de syntaxe sur un INSERT INTO
[RESOLU] Controler les scroll bar d'un Active X [MFC][resolu] Conflit Virtuel Static ( Factory Design Pattern )
Pas important : isset en Java ? [Résolu][Résolu] [VBS] Je cherche l'équivalent de net use * /delete /yes
[C#] * Résolu tout seul * Enregistrer une image avec un contourEnvoyer plusieurs fois données d'un formulaire sans changer de page
Liste Deroulante dans le genre barre d'adresse du navigateurrech un reparateur de site en php "resolu"
Plus de sujets relatifs à : [RESOLU] Changer largeur zone de liste access


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