[Access 2010] Combobox et requete sql (vba)
Résolu/Fermé
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
-
30 avril 2012 à 12:00
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 2 mai 2012 à 17:14
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 2 mai 2012 à 17:14
A voir également:
- [Access 2010] Combobox et requete sql (vba)
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Telecharger word 2010 - Télécharger - Traitement de texte
- Fracture 2010 film complet youtube - Forum TV & Vidéo
- Access appdata - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
20 réponses
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
Modifié par f894009 le 2/05/2012 à 16:08
Modifié par f894009 le 2/05/2012 à 16:08
Re,
Autant pour moi, je n'avais teste qu'une textebox. Avec pus de textebox ca ne marche plus.
Autant pour moi, je n'avais teste qu'une textebox. Avec pus de textebox ca ne marche plus.
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
30 avril 2012 à 18:16
30 avril 2012 à 18:16
Bonjour,
Dim sql As String
sql = "SELECT Matieres.[Nom matiere] FROM Matieres"
cmb_matieres.RowSource = sql
cmb_matieres.Requery
Cela suffit, meme sans le Requery cela marche. Par quel evenement initialisez vous votre combobox??
Dim sql As String
sql = "SELECT Matieres.[Nom matiere] FROM Matieres"
cmb_matieres.RowSource = sql
cmb_matieres.Requery
Cela suffit, meme sans le Requery cela marche. Par quel evenement initialisez vous votre combobox??
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
30 avril 2012 à 18:29
30 avril 2012 à 18:29
Merci pour votre réponse. L'évènement est onclick.
Cependant, la requête définitive sera plus longue (celle-la c'était pour tester). et en fonction de la sélection dans la combobox, plusieurs textbox et/ou étiquettes s'actualiseront.
Par exemple, si dans la combobox, je choisis "Droit" alors une textbox, affichera le responsable du cours, une autre les objectifs, une autre les modalités d'examen...
Le but est que la combobox n'affiche qu'une colonne (à paramétrer dans ses propriétés ; ça je sais faire ^^) et les textbox les autres colonnes, d'où le Me.cmb_matieres.Column(0, X).
Code sans la correction apportée :
Une idée ?
_______________________________
SCV ready to go sir
Cependant, la requête définitive sera plus longue (celle-la c'était pour tester). et en fonction de la sélection dans la combobox, plusieurs textbox et/ou étiquettes s'actualiseront.
Par exemple, si dans la combobox, je choisis "Droit" alors une textbox, affichera le responsable du cours, une autre les objectifs, une autre les modalités d'examen...
Le but est que la combobox n'affiche qu'une colonne (à paramétrer dans ses propriétés ; ça je sais faire ^^) et les textbox les autres colonnes, d'où le Me.cmb_matieres.Column(0, X).
Code sans la correction apportée :
Private Sub cmb_matieres_Click() Dim baseMat As DAO.Database Dim rsMat As DAO.Recordset Dim sql As String Dim X As Integer 'X = Me.cmb_matieres.ListIndex Set baseMat = CurrentDb 'Set rsMat = baseMat.OpenRecordset("Matieres") sql = "SELECT Matieres.[Nom matiere] FROM Matieres" 'DoCmd.RunSQL sql 'Set rsMat = baseMat.OpenRecordset(sql) cmb_matieres.RowSourceType = "Table/Query" cmb_matieres.RowSource = sql cmb_matieres.Requery Me.cmb_matieres.Column(0, X) = rsMat.[Nom matiere] End Sub
Une idée ?
_______________________________
SCV ready to go sir
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
Modifié par f894009 le 30/04/2012 à 18:43
Modifié par f894009 le 30/04/2012 à 18:43
Re,
Private Sub cmb_matieres_Click() ne fonctionne que si la liste du combobox est remplie. C'est le click sur un des elements de la liste.
Private Sub cmb_matieres_Click() ne fonctionne que si la liste du combobox est remplie. C'est le click sur un des elements de la liste.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
Modifié par kubito le 30/04/2012 à 18:49
Modifié par kubito le 30/04/2012 à 18:49
Sur la form "onload" ca fonctionnerait ?
Je viens de tester oui un un form load, c'est bon pour la combobox mais, évidemment, les textbox n'affichent rien.
_______________________________
SCV ready to go sir
Je viens de tester oui un un form load, c'est bon pour la combobox mais, évidemment, les textbox n'affichent rien.
_______________________________
SCV ready to go sir
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
30 avril 2012 à 19:02
30 avril 2012 à 19:02
Re,
Oui et non. sur Form_Activate est le mieux par rapport a la mise a jour du combobox si vous passez d'un formulaire a un autre avec modification des tables.
Oui et non. sur Form_Activate est le mieux par rapport a la mise a jour du combobox si vous passez d'un formulaire a un autre avec modification des tables.
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
30 avril 2012 à 19:12
30 avril 2012 à 19:12
C'est noté. Un grand merci déjà pour ces précisions.
Une idée peut être pour le reste de la problématique ?
Une idée peut être pour le reste de la problématique ?
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
30 avril 2012 à 19:50
30 avril 2012 à 19:50
Re,
Definir le nombre de colonnes de votre Combobox (au moins autant que de textebox a remplir)
Remplacez les lettres x, y, z ........ par le nom de vos textebox.Value
Private Sub Cmb_matieres_Change()
X = Cmb_matieres.Column(0)
y = Cmb_matieres.Column(1)
z = Cmb_matieres.Column(2)
End Sub
Definir le nombre de colonnes de votre Combobox (au moins autant que de textebox a remplir)
Remplacez les lettres x, y, z ........ par le nom de vos textebox.Value
Private Sub Cmb_matieres_Change()
X = Cmb_matieres.Column(0)
y = Cmb_matieres.Column(1)
z = Cmb_matieres.Column(2)
End Sub
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
30 avril 2012 à 20:36
30 avril 2012 à 20:36
Merci, je test des que je peux et je vous tiens au courant.
Encore merci.
Encore merci.
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 13:54
2 mai 2012 à 13:54
Euh...ca marche pas..
Rien ne s'affiche dans la textbox (j'en ai pris qu'une pour tester).
J'ai bien lié 5 colonnes a la combo et préciser de n'en affiche qu'une mais rien n'y fait.
Voici le code, y a peut être une erreur...mais je sais pas ou
Je vais m'arracher les cheveux.
Rien ne s'affiche dans la textbox (j'en ai pris qu'une pour tester).
J'ai bien lié 5 colonnes a la combo et préciser de n'en affiche qu'une mais rien n'y fait.
Voici le code, y a peut être une erreur...mais je sais pas ou
Option Compare Database Private Sub cmb_matieres_Change() Me.cmb_matieres.Value = Me.cmb_matieres.Column(0) Me.txt_respo.Value = Me.cmb_matieres.Column(2) End Sub Private Sub Form_Activate() Me.cmb_matieres.Value = "Sélectionnez une matière" 'ca devrait s'afficher mais la non plus, ca ne s'affiche pas SQL = "SELECT DISTINCT Matieres.[Nom Matiere], Matieres.[Nom respo], Matieres.[Prenom respo], Enseignants.Courriel, Enseignants.Nom " SQL = SQL & "FROM (Matieres INNER JOIN [Fiches pedagogiques] ON Matieres.CodeMatiere = [Fiches pedagogiques].Codematiere) " SQL = SQL & "INNER JOIN (Enseignants INNER JOIN [Matiere/Prof] ON Enseignants.NumEns = [Matiere/Prof].Enseignants) " SQL = SQL & "ON Matieres.CodeMatiere = [Matiere/Prof].CodeMatiere " SQL = SQL & "WHERE Enseignants.Nom = Matieres.[Nom respo]" Me.cmb_matieres.RowSource = SQL End Sub Private Sub Form_Current() Me.cmb_matieres.SetFocus Me.cmb_matieres.SelStart = 0 End Sub
Je vais m'arracher les cheveux.
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
2 mai 2012 à 14:00
2 mai 2012 à 14:00
Bonjour,
Votre requete sql dans une requete donne un resultat?????
Votre requete sql dans une requete donne un resultat?????
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 14:16
2 mai 2012 à 14:16
Je viens de tester, oui elle affiche ce que je souhaite.
De plus, quand je demande d'afficher toutes les colonnes dans la combo, tout s'affiche egalement.
De plus, quand je demande d'afficher toutes les colonnes dans la combo, tout s'affiche egalement.
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
2 mai 2012 à 15:39
2 mai 2012 à 15:39
Re,
Ce sont les parametres que j'utilise
parametre combobox:
Nbr Colonne = 1
Colonne lie = 1
A suivre
Ce sont les parametres que j'utilise
parametre combobox:
Nbr Colonne = 1
Colonne lie = 1
A suivre
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 15:43
2 mai 2012 à 15:43
En ce qui me concerne :
nbre de colonne = 1
colonne liée = 5
Je pense que c'est obligatoire si je veux afficher dans mes textbox les differentes colonnes de la combo (ou plus precisement de la requete sql).
C'est peut être une info importante mais que je demande d'afficher la 1 ere, 2 eme ou 3eme colonne, il m'affiche quand meme la 1ere...).
nbre de colonne = 1
colonne liée = 5
Je pense que c'est obligatoire si je veux afficher dans mes textbox les differentes colonnes de la combo (ou plus precisement de la requete sql).
C'est peut être une info importante mais que je demande d'afficher la 1 ere, 2 eme ou 3eme colonne, il m'affiche quand meme la 1ere...).
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
2 mai 2012 à 15:52
2 mai 2012 à 15:52
Re,
Non, si je mets vos parametres, cela ne marche pas.
Non, si je mets vos parametres, cela ne marche pas.
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 15:59
2 mai 2012 à 15:59
Quand je met nber de col. 1 et lié 1 :
Effectivement, "Sélectionnez une matière" s'affiche a nouveau. Quand j'en sélectionne une, elle ne d'affiche pas dans l'en tête de la combobiox, elle est dans la liste mais elle n'apparait pas comme sélectionnée.
J'étais persuadé qu'il fallait mettre le nombre de colonnes liées egal au nombre de colonnes de la requete.
La derniere fois que j'ai travaille sous access c'etait avec la version 2003...et je m'en sortais beaucoup mieux.
Effectivement, "Sélectionnez une matière" s'affiche a nouveau. Quand j'en sélectionne une, elle ne d'affiche pas dans l'en tête de la combobiox, elle est dans la liste mais elle n'apparait pas comme sélectionnée.
J'étais persuadé qu'il fallait mettre le nombre de colonnes liées egal au nombre de colonnes de la requete.
La derniere fois que j'ai travaille sous access c'etait avec la version 2003...et je m'en sortais beaucoup mieux.
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 16:19
2 mai 2012 à 16:19
En attendant vous semblez avoir de meilleurs resultats au niveau de la textbox car, chez moi, elle reste d'un blanc immacule (j'ai bien vérifié la couleur de la police ^^)
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
2 mai 2012 à 16:27
2 mai 2012 à 16:27
Re,
Je cherche une solution.
Je cherche une solution.
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 16:38
2 mai 2012 à 16:38
J'ai recupéré la base que j'avais fait il y a quelques années et , curieusement, il n'y a pas 1 colonne ni 5 mais 12 et c'est avec la propriété "largeur colonnes" qu'il est possible d'en en afficher qu'une :
largeur colonnes : 5cm;0cm;0cm;0cm...
Par contre colonne liée est a 1.
Peut etre que c'est un indice.
largeur colonnes : 5cm;0cm;0cm;0cm...
Par contre colonne liée est a 1.
Peut etre que c'est un indice.
kubito
Messages postés
315
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
12 avril 2013
12
2 mai 2012 à 16:56
2 mai 2012 à 16:56
Ca y ai, j'ai trouvé.
C'était ca l'astube :
Nombre de colonne = 5
Colonne liée = 1
Règler la largeur des colonnes pour n'en afficher qu'une et le tour est joué.
Test avec 2 textbox, elles affichent les bonnes infos.
Encore merci pour tout et RDV très vite car bien que ma requete me satisfasse, une petite modification pourrait la parfaire mais, la encore, je seche.
C'était ca l'astube :
Nombre de colonne = 5
Colonne liée = 1
Règler la largeur des colonnes pour n'en afficher qu'une et le tour est joué.
Test avec 2 textbox, elles affichent les bonnes infos.
Encore merci pour tout et RDV très vite car bien que ma requete me satisfasse, une petite modification pourrait la parfaire mais, la encore, je seche.
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
Modifié par f894009 le 2/05/2012 à 17:44
Modifié par f894009 le 2/05/2012 à 17:44
Re,
merci de l'astuce.
Correction:
C'est la seule facon de masquer une colonne.
A bientot
merci de l'astuce.
Correction:
C'est la seule facon de masquer une colonne.
A bientot