OVH Cloud OVH Cloud

list box ou list view

10 réponses
Avatar
yannick
Bonjour,

Sur un formulaire vierge, j’utilise une liste box dont le contenu est un
select d’une table client. Mes colonnes ne peuvent pas être modifier par
l’utilisateur (cela est dommage) et de plus lorsque je clique sur l’entête de
la colonne je voudrai que cela me classe par ordre croissant ou décroissant.
Avec une liste box puis-je faire ces modifications ?
Sinon j’ai regarde la liste view, mais il n’ y a pas de contenu dans les
propriétés de cette liste.

Quelqu’un peut il m’aider ?

Merci à tous

10 réponses

Avatar
Raymond [mvp]
Bonjour.

tu ne peux pas modifier le tri directement dans une listbox, mais tu peux
contourner la difficulté en créant un bouton bascule juste au dessus de la
list avec le libellé Ascendant, la valeur par defaut True. Au lancement du
formulaire tu mets la clause de tri en ascendant. sur l'événement
afterupdate du bouton bascule tu testes la valeur et si True tu recharges le
contenu avec tri ascendant et si False tu recharges le contenu avec le tri
descendant.

pour la listview tu as une page sur :
http://access.seneque.free.fr/listview.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"yannick" a écrit dans le message de
news:
Bonjour,

Sur un formulaire vierge, j'utilise une liste box dont le contenu est un
select d'une table client. Mes colonnes ne peuvent pas être modifier par
l'utilisateur (cela est dommage) et de plus lorsque je clique sur l'entête
de

la colonne je voudrai que cela me classe par ordre croissant ou
décroissant.

Avec une liste box puis-je faire ces modifications ?
Sinon j'ai regarde la liste view, mais il n' y a pas de contenu dans les
propriétés de cette liste.

Quelqu'un peut il m'aider ?

Merci à tous



Avatar
yannick
Merci Raymond,
Ok pour les boutons, je n’y avais pas pensé, pour la listview j’avais déjà
vu sur la page
http://access.seneque.free.fr/listview.htm mais il faut que je m’y planche
sérieusement.
Pour la liste box l’utilisateur ne peut donc pas modifier la taille des
colonnes(etirement avec la souris). Il n’a pas de moyen a part la listview.

Sinon j’aurais une petite question. Sur un formulaire client j’ai un champs
tel dont j’ai le code suivant :
Private Sub Tel_KeyPress(KeyAscii As Integer)
Dim car As String
' If vbKeyDelete = True Then
'Tel = ""
'End If

If KeyAscii = 8 Then
If IsNull(Tel) Or Len(Tel) = 0 Then Exit Sub
Tel = Left(Tel, Len(Tel) - 1)
ElseIf KeyAscii = 46 Then
car = Chr(46)
Else
car = Chr(KeyAscii)
End If
KeyAscii = 0
Tel = Tel & car
Tel.SelStart = Len(Tel)

End Sub

Ce code me permet de transformer ma virgule du pave numérique par un point.

Mon souci c’est que j’appuie sur la touche suppr, il m’efface les données
mais si je ressaisie un N° de tel il me garde la chaîne qu’il y a vais
auparavant.
J’ai essaye de faire un vbKeyDelete mais je n’y arrive pas.

Aurais tu une solution la dessus.

Merci d’avance



Bonjour.

tu ne peux pas modifier le tri directement dans une listbox, mais tu peux
contourner la difficulté en créant un bouton bascule juste au dessus de la
list avec le libellé Ascendant, la valeur par defaut True. Au lancement du
formulaire tu mets la clause de tri en ascendant. sur l'événement
afterupdate du bouton bascule tu testes la valeur et si True tu recharges le
contenu avec tri ascendant et si False tu recharges le contenu avec le tri
descendant.

pour la listview tu as une page sur :
http://access.seneque.free.fr/listview.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"yannick" a écrit dans le message de
news:
Bonjour,

Sur un formulaire vierge, j'utilise une liste box dont le contenu est un
select d'une table client. Mes colonnes ne peuvent pas être modifier par
l'utilisateur (cela est dommage) et de plus lorsque je clique sur l'entête
de

la colonne je voudrai que cela me classe par ordre croissant ou
décroissant.

Avec une liste box puis-je faire ces modifications ?
Sinon j'ai regarde la liste view, mais il n' y a pas de contenu dans les
propriétés de cette liste.

Quelqu'un peut il m'aider ?

Merci à tous








Avatar
Raymond [mvp]
tu ne peux pas vider le champ car tu n'a pas validé.
essaie de faire Tel.text = ""
qui devrait vider le texte dans le tampon.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"yannick" a écrit dans le message de
news:
Merci Raymond,
Ok pour les boutons, je n'y avais pas pensé, pour la listview j'avais déjà
vu sur la page
http://access.seneque.free.fr/listview.htm mais il faut que je m'y planche
sérieusement.
Pour la liste box l'utilisateur ne peut donc pas modifier la taille des
colonnes(etirement avec la souris). Il n'a pas de moyen a part la
listview.


Sinon j'aurais une petite question. Sur un formulaire client j'ai un
champs

tel dont j'ai le code suivant :
Private Sub Tel_KeyPress(KeyAscii As Integer)
Dim car As String
' If vbKeyDelete = True Then
'Tel = ""
'End If

If KeyAscii = 8 Then
If IsNull(Tel) Or Len(Tel) = 0 Then Exit Sub
Tel = Left(Tel, Len(Tel) - 1)
ElseIf KeyAscii = 46 Then
car = Chr(46)
Else
car = Chr(KeyAscii)
End If
KeyAscii = 0
Tel = Tel & car
Tel.SelStart = Len(Tel)

End Sub

Ce code me permet de transformer ma virgule du pave numérique par un
point.


Mon souci c'est que j'appuie sur la touche suppr, il m'efface les données
mais si je ressaisie un N° de tel il me garde la chaîne qu'il y a vais
auparavant.
J'ai essaye de faire un vbKeyDelete mais je n'y arrive pas.

Aurais tu une solution la dessus.

Merci d'avance



Avatar
Eric
Bonjour Yannick,

En espèrant que Raymond ne m'en voudra pas et peut-être a-t-il une
meilleure solution, je t'avais signalé que l'évènement Touche Appuyée
(KeyDown) intervient avant l'évènement Touche Activée (KeyPress), d'où la
procédure.

La touche Del est captée par l'évènement KeyDown et retourne une code
(ANSI je pense) 46 (qui correspond en code ASCII au point). Il faut que
tu mettes une procédure sur l'évènement Touche Appuyée de ton champ Tel

Private Sub Tel_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
Tel = ""
End If
End Sub

Si les utilisateurs passent de champ en champ par la touche TAB, il faut
aussi corriger ta proc sur KeyPress en mettant sous la ligne de
déclaration Dim car as String
If KeyAscii = 9 Then KeyAscii = 0: Exit Sub
pour éviter qu'un symbole carré apparaisse.

A+
Eric






"=?Utf-8?B?eWFubmljaw==?=" écrivait
news::



Sinon j’aurais une petite question. Sur un formulaire client j’ai
un champs tel dont j’ai le code suivant :
Private Sub Tel_KeyPress(KeyAscii As Integer)
Dim car As String
' If vbKeyDelete = True Then
'Tel = ""
'End If

If KeyAscii = 8 Then
If IsNull(Tel) Or Len(Tel) = 0 Then Exit Sub
Tel = Left(Tel, Len(Tel) - 1)
ElseIf KeyAscii = 46 Then
car = Chr(46)
Else
car = Chr(KeyAscii)
End If
KeyAscii = 0
Tel = Tel & car
Tel.SelStart = Len(Tel)

End Sub

Ce code me permet de transformer ma virgule du pave numérique par un
point.

Mon souci c’est que j’appuie sur la touche suppr, il m’efface
les données mais si je ressaisie un N° de tel il me garde la chaîne
qu’il y a vais auparavant.
J’ai essaye de faire un vbKeyDelete mais je n’y arrive pas.

Aurais tu une solution la dessus.

Merci d’avance



Bonjour.

tu ne peux pas modifier le tri directement dans une listbox, mais tu
peux contourner la difficulté en créant un bouton bascule juste au
dessus de la list avec le libellé Ascendant, la valeur par defaut
True. Au lancement du formulaire tu mets la clause de tri en
ascendant. sur l'événement afterupdate du bouton bascule tu testes
la valeur et si True tu recharges le contenu avec tri ascendant et si
False tu recharges le contenu avec le tri descendant.

pour la listview tu as une page sur :
http://access.seneque.free.fr/listview.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"yannick" a écrit dans le
message de news:
Bonjour,

Sur un formulaire vierge, j'utilise une liste box dont le contenu
est un select d'une table client. Mes colonnes ne peuvent pas
être modifier par l'utilisateur (cela est dommage) et de plus
lorsque je clique sur l'entête
de

la colonne je voudrai que cela me classe par ordre croissant ou
décroissant.

Avec une liste box puis-je faire ces modifications ?
Sinon j'ai regarde la liste view, mais il n' y a pas de contenu
dans les propriétés de cette liste.

Quelqu'un peut il m'aider ?

Merci à tous











Avatar
yannick
Bien joue,
je te remercie pour ta solution et en plus pour la touche tab que j'avais
remarque.

Pour la liste box l’utilisateur ne peut pas modifier la taille des
colonnes(etirement avec la souris). aurais tu une solution ? la solution est
_elle la listview.

Sinon connaitrais tu s'il y aurai des pb sur une appli access tournant sur
un serveur TS??

@ +





Bonjour Yannick,

En espèrant que Raymond ne m'en voudra pas et peut-être a-t-il une
meilleure solution, je t'avais signalé que l'évènement Touche Appuyée
(KeyDown) intervient avant l'évènement Touche Activée (KeyPress), d'où la
procédure.

La touche Del est captée par l'évènement KeyDown et retourne une code
(ANSI je pense) 46 (qui correspond en code ASCII au point). Il faut que
tu mettes une procédure sur l'évènement Touche Appuyée de ton champ Tel

Private Sub Tel_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
Tel = ""
End If
End Sub

Si les utilisateurs passent de champ en champ par la touche TAB, il faut
aussi corriger ta proc sur KeyPress en mettant sous la ligne de
déclaration Dim car as String
If KeyAscii = 9 Then KeyAscii = 0: Exit Sub
pour éviter qu'un symbole carré apparaisse.

A+
Eric






"=?Utf-8?B?eWFubmljaw==?=" écrivait
news::



Sinon j’aurais une petite question. Sur un formulaire client j’ai
un champs tel dont j’ai le code suivant :
Private Sub Tel_KeyPress(KeyAscii As Integer)
Dim car As String
' If vbKeyDelete = True Then
'Tel = ""
'End If

If KeyAscii = 8 Then
If IsNull(Tel) Or Len(Tel) = 0 Then Exit Sub
Tel = Left(Tel, Len(Tel) - 1)
ElseIf KeyAscii = 46 Then
car = Chr(46)
Else
car = Chr(KeyAscii)
End If
KeyAscii = 0
Tel = Tel & car
Tel.SelStart = Len(Tel)

End Sub

Ce code me permet de transformer ma virgule du pave numérique par un
point.

Mon souci c’est que j’appuie sur la touche suppr, il m’efface
les données mais si je ressaisie un N° de tel il me garde la chaîne
qu’il y a vais auparavant.
J’ai essaye de faire un vbKeyDelete mais je n’y arrive pas.

Aurais tu une solution la dessus.

Merci d’avance



Bonjour.

tu ne peux pas modifier le tri directement dans une listbox, mais tu
peux contourner la difficulté en créant un bouton bascule juste au
dessus de la list avec le libellé Ascendant, la valeur par defaut
True. Au lancement du formulaire tu mets la clause de tri en
ascendant. sur l'événement afterupdate du bouton bascule tu testes
la valeur et si True tu recharges le contenu avec tri ascendant et si
False tu recharges le contenu avec le tri descendant.

pour la listview tu as une page sur :
http://access.seneque.free.fr/listview.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"yannick" a écrit dans le
message de news:
Bonjour,

Sur un formulaire vierge, j'utilise une liste box dont le contenu
est un select d'une table client. Mes colonnes ne peuvent pas
être modifier par l'utilisateur (cela est dommage) et de plus
lorsque je clique sur l'entête
de

la colonne je voudrai que cela me classe par ordre croissant ou
décroissant.

Avec une liste box puis-je faire ces modifications ?
Sinon j'ai regarde la liste view, mais il n' y a pas de contenu
dans les propriétés de cette liste.

Quelqu'un peut il m'aider ?

Merci à tous















Avatar
yannick
Merci Raymond
j'ai teste la solution à Eric et elle fonctionne à merveille.

Je te remercie pour tes bon conseils.
J'ai pose à Eric s'il connaissait des pb sur une appli access tournant sur
un serveur TS
Peut etre aurais tu la solution?

@+


tu ne peux pas vider le champ car tu n'a pas validé.
essaie de faire Tel.text = ""
qui devrait vider le texte dans le tampon.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"yannick" a écrit dans le message de
news:
Merci Raymond,
Ok pour les boutons, je n'y avais pas pensé, pour la listview j'avais déjà
vu sur la page
http://access.seneque.free.fr/listview.htm mais il faut que je m'y planche
sérieusement.
Pour la liste box l'utilisateur ne peut donc pas modifier la taille des
colonnes(etirement avec la souris). Il n'a pas de moyen a part la
listview.


Sinon j'aurais une petite question. Sur un formulaire client j'ai un
champs

tel dont j'ai le code suivant :
Private Sub Tel_KeyPress(KeyAscii As Integer)
Dim car As String
' If vbKeyDelete = True Then
'Tel = ""
'End If

If KeyAscii = 8 Then
If IsNull(Tel) Or Len(Tel) = 0 Then Exit Sub
Tel = Left(Tel, Len(Tel) - 1)
ElseIf KeyAscii = 46 Then
car = Chr(46)
Else
car = Chr(KeyAscii)
End If
KeyAscii = 0
Tel = Tel & car
Tel.SelStart = Len(Tel)

End Sub

Ce code me permet de transformer ma virgule du pave numérique par un
point.


Mon souci c'est que j'appuie sur la touche suppr, il m'efface les données
mais si je ressaisie un N° de tel il me garde la chaîne qu'il y a vais
auparavant.
J'ai essaye de faire un vbKeyDelete mais je n'y arrive pas.

Aurais tu une solution la dessus.

Merci d'avance








Avatar
Eric
re Yannick

Là, je passe la main aux PROS car je n'ai pas de solution à te proposer et
je ne connais pas TS.

PS: Pour ta proc, il faudrait aussi vérifier la touche ESC donc modifier le
test ainsi (pas de problème pour Shift + TAB), sinon carré :

If KeyAscii = 9 Or KeyAscii = 27 Then KeyAscii = 0: Exit Sub

A+
Eric

"=?Utf-8?B?eWFubmljaw==?=" écrivait
news::


Pour la liste box l’utilisateur ne peut pas modifier la taille des
colonnes(etirement avec la souris). aurais tu une solution ? la
solution est _elle la listview.

Sinon connaitrais tu s'il y aurai des pb sur une appli access tournant
sur un serveur TS??

@ +



Avatar
yannick
Merci Eric
j'ai meme rajoute KeyAscii = 13 car la touche entre je la laisse au champs
suivant.

Sinon
Sur un formulaire j’ai une zone de liste lbclient qui m’affiche les donnees
d’une table
Et j’ai une zone de liste déroulante tbcode qui me filtre ses données. Cela
fonctionne très bien si je manipule avec la souris
Si je saisie directement dans tbcode par exemple « paris » il va filtre p
puis il va sortir
En suppression il faut que je mette tous en subrillance sinon j’ai un
message d’erreur
Voici mon code

Private Sub tbcode_Change()
Forms!cl.RecordSource = "SELECT client.N°clt, client .nom, client.ville from
client;"

LbClient.RowSource = "SELECT client.N°clt, client .nom, client.ville FROM
Client WHERE client.ville like '" & TBcode.Value & "*'ORDER BY
client.N°client;"

End Sub

j’ai rajoute

Private Sub TBcode_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
TBcode = ""
Forms!cl.RecordSource = "SELECT client.N°clt, client .nom, client.ville from
client;"
End If
End Sub


Aurais tu une solution?

Merci

@+



re Yannick

Là, je passe la main aux PROS car je n'ai pas de solution à te proposer et
je ne connais pas TS.

PS: Pour ta proc, il faudrait aussi vérifier la touche ESC donc modifier le
test ainsi (pas de problème pour Shift + TAB), sinon carré :

If KeyAscii = 9 Or KeyAscii = 27 Then KeyAscii = 0: Exit Sub

A+
Eric

"=?Utf-8?B?eWFubmljaw==?=" écrivait
news::


Pour la liste box l’utilisateur ne peut pas modifier la taille des
colonnes(etirement avec la souris). aurais tu une solution ? la
solution est _elle la listview.

Sinon connaitrais tu s'il y aurai des pb sur une appli access tournant
sur un serveur TS??

@ +






Avatar
Eric
re Yannick,

Je ne suis pas sur d'avoir bien compris mais si tu mets ce code sur la
procédure Change

(Adapter le nom des champs)
Sur la liste deroulante tbCode, j'ai mis les propriétes AutoEtendre à Non
et Limiter à liste : Non. A toi de voir pour la propriété AutoEtendre.

Dans la procédure, j'utilise la propriété Text et non Value du contrôle
tbCode car Value n'est connue qu'après avoir validé alors que Text
contient ce qui a été saisi. Tu devais avoir un décalage sur ta liste
lbClient.
Extrait de l'aide :
La propriété Texte (Text) contient les données texte figurant
actuellement dans le contrôle; la propriété Valeur (Value) contient les
dernières données enregistrées du contrôle.

Private Sub tbCode_Change()
Dim strSQL As String
Forms!cl.RecordSource = "Select NumClient, Nom_client, Ville_client
from client;"
strSQL = "Select NumClient, Nom_client, ville_client from client "
If Len(tbCode.Text) > 0 Then
strSQL = strSQL & "where ville_client like '"
strSQL = strSQL & tbCode.Text & "*' order by ville_client ;"
Else
strSQL = strSQL & "Order by NumClient ;"
End If
lbClient.RowSource = strSQL
End Sub

ET celui-ci sur KeyDown()

Private Sub tbCode_KeyDown(KeyCode As Integer, Shift As Integer)
Forms!cl.RecordSource = "select NumClient, Nom_client, Ville_client
from client;"
If KeyCode = vbKeyDelete Then
tbCode = ""
Dim strSQL As String
strSQL = "Select NumClient,Nom_client, ville_client "
strSQL = strSQL & "from client order by NumClient; "
lbClient.RowSource = strSQL
End If
End Sub

Enfin sur ouverture du formulaire:
Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
strSQL = "Select NumClient,Nom_client, ville_client "
strSQL = strSQL & "from client order by NumClient; "
lbClient.RowSource = strSQL
End Sub


ca devrait marcher, non ?

Je suppose que cl est un formulaire ouvert à coté de celui-ci mais tu ne
le mets pas à jour avec ton code. Ne sachant pas ce que tu en fais, je
n'ai pas touché. Par contre, à chaque changement tu lui fais rechercher
les enregistrements !

A+
Eric

"=?Utf-8?B?eWFubmljaw==?=" écrivait
news::

Merci Eric
j'ai meme rajoute KeyAscii = 13 car la touche entre je la laisse au
champs suivant.

Sinon
Sur un formulaire j’ai une zone de liste lbclient qui m’affiche
les donnees d’une table
Et j’ai une zone de liste déroulante tbcode qui me filtre ses
données. Cela fonctionne très bien si je manipule avec la souris
Si je saisie directement dans tbcode par exemple « paris » il va
filtre p puis il va sortir
En suppression il faut que je mette tous en subrillance sinon j’ai
un message d’erreur
Voici mon code

Private Sub tbcode_Change()
Forms!cl.RecordSource = "SELECT client.N°clt, client .nom,
client.ville from client;"

LbClient.RowSource = "SELECT client.N°clt, client .nom, client.ville
FROM Client WHERE client.ville like '" & TBcode.Value & "*'ORDER BY
client.N°client;"

End Sub

j’ai rajoute

Private Sub TBcode_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
TBcode = ""
Forms!cl.RecordSource = "SELECT client.N°clt, client .nom,
client.ville from client;"
End If
End Sub


Aurais tu une solution?

Merci

@+



re Yannick

Là, je passe la main aux PROS car je n'ai pas de solution à te
proposer et je ne connais pas TS.

PS: Pour ta proc, il faudrait aussi vérifier la touche ESC donc
modifier le test ainsi (pas de problème pour Shift + TAB), sinon
carré :

If KeyAscii = 9 Or KeyAscii = 27 Then KeyAscii = 0: Exit Sub

A+
Eric

"=?Utf-8?B?eWFubmljaw==?="
écrivait news::


Pour la liste box l’utilisateur ne peut pas modifier la
taille des colonnes(etirement avec la souris). aurais tu une
solution ? la solution est _elle la listview.

Sinon connaitrais tu s'il y aurai des pb sur une appli access
tournant sur un serveur TS??

@ +









Avatar
yannick
Merci Eric
cela fonctionne il faut que j'adapte cela


@ +


re Yannick,

Je ne suis pas sur d'avoir bien compris mais si tu mets ce code sur la
procédure Change

(Adapter le nom des champs)
Sur la liste deroulante tbCode, j'ai mis les propriétes AutoEtendre à Non
et Limiter à liste : Non. A toi de voir pour la propriété AutoEtendre.

Dans la procédure, j'utilise la propriété Text et non Value du contrôle
tbCode car Value n'est connue qu'après avoir validé alors que Text
contient ce qui a été saisi. Tu devais avoir un décalage sur ta liste
lbClient.
Extrait de l'aide :
La propriété Texte (Text) contient les données texte figurant
actuellement dans le contrôle; la propriété Valeur (Value) contient les
dernières données enregistrées du contrôle.

Private Sub tbCode_Change()
Dim strSQL As String
Forms!cl.RecordSource = "Select NumClient, Nom_client, Ville_client
from client;"
strSQL = "Select NumClient, Nom_client, ville_client from client "
If Len(tbCode.Text) > 0 Then
strSQL = strSQL & "where ville_client like '"
strSQL = strSQL & tbCode.Text & "*' order by ville_client ;"
Else
strSQL = strSQL & "Order by NumClient ;"
End If
lbClient.RowSource = strSQL
End Sub

ET celui-ci sur KeyDown()

Private Sub tbCode_KeyDown(KeyCode As Integer, Shift As Integer)
Forms!cl.RecordSource = "select NumClient, Nom_client, Ville_client
from client;"
If KeyCode = vbKeyDelete Then
tbCode = ""
Dim strSQL As String
strSQL = "Select NumClient,Nom_client, ville_client "
strSQL = strSQL & "from client order by NumClient; "
lbClient.RowSource = strSQL
End If
End Sub

Enfin sur ouverture du formulaire:
Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
strSQL = "Select NumClient,Nom_client, ville_client "
strSQL = strSQL & "from client order by NumClient; "
lbClient.RowSource = strSQL
End Sub


ca devrait marcher, non ?

Je suppose que cl est un formulaire ouvert à coté de celui-ci mais tu ne
le mets pas à jour avec ton code. Ne sachant pas ce que tu en fais, je
n'ai pas touché. Par contre, à chaque changement tu lui fais rechercher
les enregistrements !

A+
Eric

"=?Utf-8?B?eWFubmljaw==?=" écrivait
news::

Merci Eric
j'ai meme rajoute KeyAscii = 13 car la touche entre je la laisse au
champs suivant.

Sinon
Sur un formulaire j’ai une zone de liste lbclient qui m’affiche
les donnees d’une table
Et j’ai une zone de liste déroulante tbcode qui me filtre ses
données. Cela fonctionne très bien si je manipule avec la souris
Si je saisie directement dans tbcode par exemple « paris » il va
filtre p puis il va sortir
En suppression il faut que je mette tous en subrillance sinon j’ai
un message d’erreur
Voici mon code

Private Sub tbcode_Change()
Forms!cl.RecordSource = "SELECT client.N°clt, client .nom,
client.ville from client;"

LbClient.RowSource = "SELECT client.N°clt, client .nom, client.ville
FROM Client WHERE client.ville like '" & TBcode.Value & "*'ORDER BY
client.N°client;"

End Sub

j’ai rajoute

Private Sub TBcode_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
TBcode = ""
Forms!cl.RecordSource = "SELECT client.N°clt, client .nom,
client.ville from client;"
End If
End Sub


Aurais tu une solution?

Merci

@+



re Yannick

Là , je passe la main aux PROS car je n'ai pas de solution à te
proposer et je ne connais pas TS.

PS: Pour ta proc, il faudrait aussi vérifier la touche ESC donc
modifier le test ainsi (pas de problème pour Shift + TAB), sinon
carré :

If KeyAscii = 9 Or KeyAscii = 27 Then KeyAscii = 0: Exit Sub

A+
Eric

"=?Utf-8?B?eWFubmljaw==?="
écrivait news::


Pour la liste box l’utilisateur ne peut pas modifier la
taille des colonnes(etirement avec la souris). aurais tu une
solution ? la solution est _elle la listview.

Sinon connaitrais tu s'il y aurai des pb sur une appli access
tournant sur un serveur TS??

@ +