[access] affiche un champ en fct° d'un autre
Résolu
SAYLA
Messages postés
51
Statut
Membre
-
SAYLA Messages postés 51 Statut Membre -
SAYLA Messages postés 51 Statut Membre -
Bonjour,
je fais un fichier sous access :
j'ai un formulaire "animaux" dans lequel j'ai un champ "Espèce" et un champ "Race", ces deux champs se sélectionne par une liste. J'ai donc une table "espèces" avec comme champ "Espèce" et une table "races" avec comme champs "Race" et "Espèce"(liste de la table "espèces").
Je souhaiterais que dans mon formulaire "animaux", lorsque j'ai sélectionner l'espèce seul s'affiche dans ma liste des races, les races correspondant à l'espèce.
Quelqu'un aurait-il une solution assez simple ?????
Merci d'avance
je fais un fichier sous access :
j'ai un formulaire "animaux" dans lequel j'ai un champ "Espèce" et un champ "Race", ces deux champs se sélectionne par une liste. J'ai donc une table "espèces" avec comme champ "Espèce" et une table "races" avec comme champs "Race" et "Espèce"(liste de la table "espèces").
Je souhaiterais que dans mon formulaire "animaux", lorsque j'ai sélectionner l'espèce seul s'affiche dans ma liste des races, les races correspondant à l'espèce.
Quelqu'un aurait-il une solution assez simple ?????
Merci d'avance
A voir également:
- [access] affiche un champ en fct° d'un autre
- Le clavier de mon telephone ne s'affiche plus - Guide
- Excel champ calculé avec condition - Forum Excel
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
11 réponses
MyRaceCombo.DataSource = "SELECT * FROM Races WHERE Espece = '" & MyEspeceCombo & "'"
Ceci va dans MyEspeceCombo_OnClick
Ceci va dans MyEspeceCombo_OnClick
Bonjour phil232,
exusez pour le retard,
je suis novice, il s'agit bien d'un code sous VB ?
Où je trouve MyEspeceCombo_OnClick?
J'ai déjà fait des codes sous VB mais aucun de ce genre ?
exusez pour le retard,
je suis novice, il s'agit bien d'un code sous VB ?
Où je trouve MyEspeceCombo_OnClick?
J'ai déjà fait des codes sous VB mais aucun de ce genre ?
Où je trouve MyEspeceCombo_OnClick? --> champ "Espèce
MyRaceCombo --> champ "Race"
sub MyEspeceCombo_OnClick
MyRaceCombo.DataSource = "SELECT * FROM Races WHERE Espece = '" & MyEspeceCombo & "'"
end sub
MyRaceCombo --> champ "Race"
sub MyEspeceCombo_OnClick
MyRaceCombo.DataSource = "SELECT * FROM Races WHERE Espece = '" & MyEspeceCombo & "'"
end sub
pfff
dans les propiétés de la combo t'as bien cliqué sur OnClick et puis choisi procédure événementielle ?
dans les propiétés de la combo t'as bien cliqué sur OnClick et puis choisi procédure événementielle ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
diable, comment travaille-tu ? avec des textbox ? ça veut dire que t'as decouvert Access ce matin ? des choses comme ça sont mis (normalement) dans une combo (liste deroulante, si tu préfères). ça évite les faute de frappe p.ex.
1. évites d'utiliser des caractères "étranges" dans les noms (accents, cedille, etc.)
2. bien que tu va probablement pas développer une app international il est toutefois recommendé d'utiliser les termes en anglais. cela facilite la recherche sur google (ou tu trouve 50 à 100 plus d'info en anglais qu'en français)
3. normalement on préfixe les control pour indiquer de quoi il s'agit (txt, cbo, lst, ...)
4. MyEspecesCombo s'appelle comme ça pour te dire c'est TA COMBO ET JE NE CONNAIS PAS SON NOM
5. bref MyEspecesCombo = cboSpecies (ta "Espèces"), mais si tu insiste restes avec "Espèces", c'est ta faute/pb
6. Ca me fait mal au coeur mais bon pour toi ça donne :
Race.DataSource = "SELECT * FROM Races WHERE Espece = '" & Espèces & "'"
c'est mieux comme ça ?
2. bien que tu va probablement pas développer une app international il est toutefois recommendé d'utiliser les termes en anglais. cela facilite la recherche sur google (ou tu trouve 50 à 100 plus d'info en anglais qu'en français)
3. normalement on préfixe les control pour indiquer de quoi il s'agit (txt, cbo, lst, ...)
4. MyEspecesCombo s'appelle comme ça pour te dire c'est TA COMBO ET JE NE CONNAIS PAS SON NOM
5. bref MyEspecesCombo = cboSpecies (ta "Espèces"), mais si tu insiste restes avec "Espèces", c'est ta faute/pb
6. Ca me fait mal au coeur mais bon pour toi ça donne :
Race.DataSource = "SELECT * FROM Races WHERE Espece = '" & Espèces & "'"
c'est mieux comme ça ?
Est-ce que mes tables "espèces" et "races" ne sont pas mal construites ? Du fait que dans ma table "races" j'ai d'abord "Race" puis "Espèce" en liste de choix, quand je le reprend dans mon formulaire "animaux" dans le champ "Race" n'apparaît que la "Race" seul 1 colonne est liée, est-ce le problème?
ah, je corois que j'ai oublié qq chose
Sub Espèce_OnClick()
Race.DataSource = "SELECT * FROM races WHERE Espèce = '" & espèces & "'"
race.requery
End Sub
Sub Espèce_OnClick()
Race.DataSource = "SELECT * FROM races WHERE Espèce = '" & espèces & "'"
race.requery
End Sub
tu peut faire F9 (insert breakpoint) sur la ligne race.requery . juste pour voir s'il passe par là
oui, ça indique que c'est un breakpoint (poit d'arrêt). Maintenant tu dois choisir un élément dans ta combo et voir si le programme arrete son éxécution à cet endroit. s'il se passe rien ça veut dire qu'Access ne sait pas que tu a attaché une procedure événementielle (Properties OnClick/OnChange --> [procédure événementielle])
est tu toujours avec une textbox ou t'as déjà créé une liste deroulante ?
pour une combo (liste déroulante [ça m'est trop longue, je vais continuer à lappeller combo) tu a les propriétés
merde, je t'es données la mauvaise prop
RowSourceType = Table/Query ' à configurer dans les props
RowSource = "SELECT * FROM races WHERE Espèce = '" & espèces & "'" ' à utiliser dans le code
http://office.microsoft.com/en-us/access/HP051884911033.aspx
pour une combo (liste déroulante [ça m'est trop longue, je vais continuer à lappeller combo) tu a les propriétés
merde, je t'es données la mauvaise prop
RowSourceType = Table/Query ' à configurer dans les props
RowSource = "SELECT * FROM races WHERE Espèce = '" & espèces & "'" ' à utiliser dans le code
http://office.microsoft.com/en-us/access/HP051884911033.aspx
Ok, merci pour le lien du site internet en fait c'était encore plus simple que tout ça :
J'ai un champ "Espèce" qui est une zone de liste déroulante dans mon formulaire "animaux", j'ai un champ "Race" qui est une zone de liste déroulante dans mon formulaire "animaux". Le champ "Race" provient de la table "races" qui comprend deux champs "Race" et "Espèce" ("Espèce" est une zone de liste déroulante qui provient d'une table "espèces" contenant un seul champ "Espèce").
Lors de la crétaion de la zone de liste "Race" dans les propriétés données,contenu : ouvrir le générateur d'expression afficher la table "races" afficher "Race" et afficher "Espèce" sous "Espèce" dans les critaires inscrire "[Forms]![animaux]![Espèce], puis valider. Puis dans le champ "Espèce" inscrire un code VB sur Après Mise à jour :
Private Sub Espèce_AfterUpdate()
Me.Race = Null
Me.Race.Requery
Me.Race = Me.Race.ItemData(0)
End Sub
Et voilà, ça marche.
Encore merci pour votre aide, bonne journée et bon week-end
J'ai un champ "Espèce" qui est une zone de liste déroulante dans mon formulaire "animaux", j'ai un champ "Race" qui est une zone de liste déroulante dans mon formulaire "animaux". Le champ "Race" provient de la table "races" qui comprend deux champs "Race" et "Espèce" ("Espèce" est une zone de liste déroulante qui provient d'une table "espèces" contenant un seul champ "Espèce").
Lors de la crétaion de la zone de liste "Race" dans les propriétés données,contenu : ouvrir le générateur d'expression afficher la table "races" afficher "Race" et afficher "Espèce" sous "Espèce" dans les critaires inscrire "[Forms]![animaux]![Espèce], puis valider. Puis dans le champ "Espèce" inscrire un code VB sur Après Mise à jour :
Private Sub Espèce_AfterUpdate()
Me.Race = Null
Me.Race.Requery
Me.Race = Me.Race.ItemData(0)
End Sub
Et voilà, ça marche.
Encore merci pour votre aide, bonne journée et bon week-end