la propiété text est en lecture seule combo propiété style 2

la propiété text est en lecture seule combo propiété style 2 - VB/VBA/VBS - Programmation

Marsh Posté le 04-06-2004 à 10:41:18    

:hello:  
en propriété style à 2 de mon combo box
quand je fais ca exactement il met la propiété text est en lecture seule
txtprocesseur.Text = (Myrecord(6).Value)
alors que quand je met la propriété style à 0 de ma combo j'ai pas de message d'erreur
(car en fait ce que je veux c'est que la combo ne prenne les valeurs que de ma table donc que l'utilisateur ne peut taper un autre text que de ce qu'y a dans ma combo )

Reply

Marsh Posté le 04-06-2004 à 10:41:18   

Reply

Marsh Posté le 04-06-2004 à 10:42:55    

de ma combo = de ma table
dslé

Reply

Marsh Posté le 04-06-2004 à 14:40:29    

C'est marrant j'ai exactement le même besoin là depuis ce matin!!  :pt1cable:  
 
C'est vrai que c'est relou que la combo ne se comporte pas comme une collection afin de la positionner soit par un index soit par une string.
 
Si quelqu'un a une solution je suis tout ouïe :)

Reply

Marsh Posté le 04-06-2004 à 15:04:25    

Comment elle est alimentée la combo ?
Moi, j'en ai une en style 0, alimentée par un contrôle Data, et ça marche...

Reply

Marsh Posté le 04-06-2004 à 15:32:54    

le pb ce n'est pas le style 0 mais le style 2 qui rend la combo non éditable.  
On veut positionner la combo sur l'un de ses éléments sans rechercher l'indice de cet élément dans la combo.

Reply

Marsh Posté le 04-06-2004 à 15:43:47    

oui c'est le style 2  qui pose problem  

Reply

Marsh Posté le 04-06-2004 à 15:46:08    

Ben c'est la fin de la semaine et je dois être fatigué, mais je ne comprends toujours pas où est le pb...
J'ai une form avec une combo style 2 et un bouton.
 
J'ai le code:

Code :
  1. Private Sub Command1_Click()
  2.     cmbTest.Text = "Deux"
  3. End Sub
  4. Private Sub Form_Load()
  5.     cmbTest.AddItem "Un"
  6.     cmbTest.AddItem "Deux"
  7.     cmbTest.AddItem "Trois"
  8.     cmbTest.AddItem "Quatre"
  9.    
  10. End Sub


 
et j'affiche la chaine "Deux" dans la combo quand je clique le bouton!

Reply

Marsh Posté le 04-06-2004 à 15:56:57    

ok donc toi tu peux quand même mettre ton text alors que ton combo est de propriété 2 j'ai remarqué sa avec une de mes forms où sa ne pose pas de blem c'est bizarre

Reply

Marsh Posté le 04-06-2004 à 16:19:32    

Par contre, il faut que la chaîne de caratères soit la même que dans la combo. Si je fais  
 
    cmbTest.Text = "Deu"
 
ça ne marche pas...et j'ai le message d'erreur.

Reply

Marsh Posté le 04-06-2004 à 16:39:53    

hmmm Intéressant ça!
Merci beaucoup! :)
Je croyais que affecter une string connue de la combo ne marchait pas (il doit y avoir un pb de casse dans mon code)

Reply

Marsh Posté le 04-06-2004 à 16:39:53   

Reply

Marsh Posté le 06-06-2004 à 12:19:15    

Il faut positionner ta combo avec la propriété ListIndex:
 


For i = 0 To MaCombo.ListCount-1
  if MaCombo.list(i) = MaChaine then
    MaCombo.ListIndex = i
    exit for
  end if
Next


Message édité par mareek le 06-06-2004 à 12:19:33

---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 06-06-2004 à 18:44:22    

ça je savais merci.
Le pb de l'utilisation de la propriété ListIndex est qu'elle déclenche un clic sur la combo ce dont je ne veux pas ;)

Reply

Marsh Posté le 06-06-2004 à 19:07:37    

Lancelot** a écrit :

ça je savais merci.
Le pb de l'utilisation de la propriété ListIndex est qu'elle déclenche un clic sur la combo ce dont je ne veux pas ;)


bah tu n'as qu'à "neutraliser" cet évennement:


private bComboBloc as boolean
 
private sub InitCombo()
 
  For i = 0 To MaCombo.ListCount-1  
    if MaCombo.list(i) = MaChaine then  
      bComboBloc = true  
      MaCombo.ListIndex = i  
      bComboBloc = false
      exit for  
    end if  
  Next  
 
end sub
 
Private sub MaCombo_Click()
  if not bComboBloc then
    'code à executer en cas de click par l'utilisateur
  end if
end sub


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 06-06-2004 à 19:31:37    

ouep je sais :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed