Auto-complétion
Pi_Xi
Messages postés
2274
Statut
Membre
-
blux Messages postés 5039 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 5039 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je cherche à avoir un mécanisme d'auto-complétion dans une combobox (Modifiable15)
Mon code:
Pourquoi cela ne fonctionne-t-il pas svp? ^^
je cherche à avoir un mécanisme d'auto-complétion dans une combobox (Modifiable15)
Mon code:
Private Sub Modifiable15_Change()
strText = Me.Modifiable15.Text
Sql = "SELECT Adresse.Adresse FROM Adresse WHERE IdNRO='" & Me.Modifiable4.Value & "' AND Adresse LIKE '%" & strText & "%' ;"
Me.Modifiable15.RowSource = Sql
Me.Modifiable15.Dropdown
End Sub
Pourquoi cela ne fonctionne-t-il pas svp? ^^
8 réponses
-
Salut,
qu'est ce qui ne fonctionne pas ?
Ton objet Modifiable15 est de quel type : zone de liste ou zone de liste déroulante ?
-
Bonjour Blux,
tout d'abord, quel honneur de te croiser sur mon post :D
Quand je tape une valeur dans la zone texte de ma liste, la requête ne retourne apparemment aucun résultats, alors qu'il y en a en base ^^
Modifiable15 est une zone de liste déroulante.
edit: et la requête est bonne, je ne comprends pas ce qui bloque ! -
Quel honneur, car je t'ai croisé x-fois sur le forum access et tu sembles être un expert ;)
Je te tiens au courant lundi matin, ou avant ^^ Merci pour ton aide précieuse et @bientôt ! -
Je voudrais aller un peu plus loin en concaténant les N°, Voie et Adresse de ma table Adresse, afin de les retourner dans le RowSource qui intègre l'auto-complétion.
Public Function RecupAdresse(SQL)
Dim res As DAO.Recordset
Set res = CurrentDb.OpenRecordset(SQL)
While Not res.EOF
RecupAdresse = RecupAdresse + res.Fields(0).Value & "," & res.Fields(1).Value & "," & res.Fields(2).Value
res.MoveNext
Wend
'libere la mémoire
Set res = Nothing
End Function
et lors de la modification de Modifiable15 :
' ADRESSE
Private Sub Modifiable15_Change()
strText = Me.Modifiable15.Text
SQL = "SELECT N°, Voie, Adresse FROM Adresse WHERE IdNRO='" & Me.Modifiable4.Value & "' AND Adresse LIKE '*" & strText & "*' ;"
Me.Modifiable15.RowSource = RecupAdresse(SQL)
Me.Requery
Me.Refresh
Me.Modifiable15.Dropdown
End Sub
Qu'est-ce qui cloche dans mon dev svp?
J'ai bien précisé 3 colonnes dans mon Modifiable15 ^^ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je fais plus simple.
Je veux que la combobox m'affiche les dossiers comprenant la chaine de caractères saisie.
Public Function RecupAdresse(SQL)
Dim res As DAO.Recordset
Set res = CurrentDb.OpenRecordset(SQL)
While Not res.EOF
RecupAdresse = RecupAdresse + res.Fields(0).Value
res.MoveNext
Wend
Set res = Nothing
End Function
J'ai bien les bonnes valeurs dans mon MsgBox, mais je n'arrive pas à les afficher dans le RowSource...
' ADRESSE
Private Sub Modifiable15_Change()
strText = Me.Modifiable15.Text
SQL = "SELECT Dossier FROM Adresse WHERE IdNRO='" & Me.Modifiable4.Value & "' AND Adresse LIKE '*" & strText & "*' ;"
Me.Modifiable15.RowSource = RecupAdresse(SQL)
MsgBox (RecupAdresse(SQL))
Me.Requery
Me.Refresh
Me.Modifiable15.Dropdown
End Sub-
mais je n'arrive pas à les afficher dans le RowSource...
Il va falloir m'aider un peu plus que ça en me précisant le comportement de la liste :
- ça n'affiche rien
- ça n'affiche pas ce qui est prévu
- il y a un message d'erreur
- ça disjoncte au compteur
- le fbi sonne à ta porte
- tu entends Céline Dion à la radio
- tu entends Céline Dion ET Lara Fabian à la radio
- ...
De plus, tu concatènes des chaines pour n'en faire qu'une, il est donc illusoire de paramétrer 3 colonnes dans la liste... -
-
-
Voici le code qui fonctionne:
Merci Blux !
Private Sub Modifiable15_AfterUpdate()
Dim SQL As String
Dim strText As String
strText = Me.Modifiable15.Text
SQL = "SELECT Dossier FROM Adresse WHERE IdNRO='" & Me.Modifiable4.Value & "' AND Dossier LIKE '*" & strText & "*' ;"
Me.Modifiable15.RowSource = SQL
Me.Requery
Me.Refresh
Me.Modifiable15.Dropdown
End Sub -
Autre problème: les DATES !!
' ENREGISTRER
J'ai un problème de type, problème d'insertion de la date a priori, alors qu'elle s'affiche bien dans le MsgBox!?
Private Sub Commande12_Click()
Dim SQL, SQL_Update, SQL_Insert As String
Dim Code, Traitant As String
Dim Today As String
'Dim Today As Date
Code = "Code"
Traitant = "Traitant"
Today = Format(Now(), "mm/dd/yyyy")
SQL_Insert = "INSERT INTO Opérations_progress (Lot, Code, Commune, IdNRO, IdPM, Quantité, dateProduction, Traitant) " & _
"VALUES ('6', '" & Code & "','" & Modifiable13.Value & "','" & Modifiable4.Value & "', '" & Modifiable6.Value & "', 1, #" & Today & "#, '" & Traitant & "');"
DoCmd.RunSQL (SQL_Insert)
End Sub
edit: ha non ça ne vient pas de la date :'( -
Autre petite question :
Je voudrais importer un fichier Excel en faisant un UPDATE sur ma table adresse.
Dans ma table, les n° de dossiers sont renseignés, je veux mettre à jour les IdPB...
Comment m'y prendre? ^^