Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise en forme saisie liste modifiable avant évènement NotInList

3 réponses
Avatar
LeGoldo
Bonjour =E0 tous,

Je me bats avec les =E9v=E8nements zone de liste modifiable :

J'aimerais pouvoir faire une mise en forme avant le d=E9clenchement de
l'=E9v=E8nement NotInList pour =E9viter de faire un doublon dans la source
de la zone =E0 cause d'une erreur majuscule/minuscule.

J'ai essay=E9 =E7a :

Private Sub Voie_KeyPress(KeyAscii As Integer)

On Error GoTo Trap_error
If KeyAscii =3D KeyAscii =3D vbKeyTab Or KeyAscii =3D vbKeyReturn Then
Me.Voie.Text =3D ProperVoie(Me.Voie.Text)
End If
Exit Sub
Trap_error:
KeyAscii =3D 0
Resume Next
End Sub

et :

Private Sub Voie_NotInList(sNewData As String, Response As Integer)
Dim r As Recordset, nNewNaVoie As Long

If MsgBox("La voie '" & sNewData & "' ne figure pas dans la liste.
Faut-il l'ajouter ?" _
, vbYesNo + vbQuestion + vbDefaultButton2, jc_TITRE) =3D
vbYes Then
Response =3D acDataErrAdded

Set r =3D CurrentDb.OpenRecordset("tbl_voies")
r.AddNew
' !!! pas utilis=E9 : nNewNaVoie =3D r!noauto ' en DAO jusqu
=E0 .update, le r!noauto est bon
r!Libell=E9 =3D sNewData
r.Update
r.Close
Set r =3D Nothing
Me.Voie.Requery

Me.Ville.SetFocus
Exit Sub
Else
Me.Voie.Undo
Response =3D acDataErrContinue
End If
End Sub

Mais l'=E9v=E8nement NotInList se re-produit apr=E8s l'enregistrement de la
nouvelle voie, que j'annule mais que j'aimerais bien ne pas revoir ;-
(((

Une id=E9e ?

Cordialement...

... et =E0 vous lire !

3 réponses

Avatar
Dragan
Bonjour Logoldo, c'est l'événement KeyPress qui pose problème.
en modifiant la propriété TEXT et non VALUE; tu crées en fait deux
nouvelles entrées et par conséquent deux appels à l'événement NOTINLIST.
Avatar
LeGoldo
On 22 oct, 18:15, Dragan wrote:
Bonjour Logoldo, c'est l'événement KeyPress qui pose problème.
 en modifiant la propriété TEXT et non VALUE; tu crées en fait de ux
nouvelles entrées et par conséquent deux appels à l'événement N OTINLIST.



Bonsoir Dragan,

Merci ! C'est tout-à-fait ça ;-)))

Question subsidiaire :

Quelle est le résultat de 'me.cbx = var'
1) me.cbx.text = var
2) me.cbx.value = var
3) me.cbx.'colonne liée' = var
?

Merci d'avance
Avatar
Dragan
réponse 2)
La propriete Text n'est accessible que lorsque le control a le focus. Pour
la 'colonne liée' uniquement si il y a une liste de valeur ou une requete et
que var correspondant à une entrée.

"LeGoldo" a écrit :

On 22 oct, 18:15, Dragan wrote:
> Bonjour Logoldo, c'est l'événement KeyPress qui pose problème.
> en modifiant la propriété TEXT et non VALUE; tu crées en fait deux
> nouvelles entrées et par conséquent deux appels à l'événement NOTINLIST.

Bonsoir Dragan,

Merci ! C'est tout-à-fait ça ;-)))

Question subsidiaire :

Quelle est le résultat de 'me.cbx = var'
1) me.cbx.text = var
2) me.cbx.value = var
3) me.cbx.'colonne liée' = var
?

Merci d'avance