Aide sur sélections multiples ACCESS
Fermé
laportez
Messages postés
7
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
10 novembre 2011
-
24 nov. 2006 à 15:36
laportez Messages postés 7 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 10 novembre 2011 - 6 mars 2007 à 15:27
laportez Messages postés 7 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 10 novembre 2011 - 6 mars 2007 à 15:27
A voir également:
- Aide sur sélections multiples ACCESS
- Access appdata - Guide
- Bios access - Guide
- Access recovery - Télécharger - Sauvegarde
- You don't have permission to access this resource.server unable to read htaccess file, denying access to be safe ✓ - Forum Debian
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
3 réponses
Utilisateur anonyme
25 nov. 2006 à 15:52
25 nov. 2006 à 15:52
suite :
Deuxième étape :
Les combobox
Pour être sur de bien comprendre votre besoin, je
l'exprime ici à ma façon.
Disons qu'a l'ouverture de votre formulaire vous avez
1000 enregistrements, vous voulez à l'aide d'une
sélection dans un combobox réduire ce nombre à 100.
À l'aide d'un second combobox vous désirez réduire
ce nombre à 50 et ainsi de suite.
Donc pour ce faire vous devez alimenter les combobox
à l'aide de requêtes simples qui vont former les critéres
de sélection.
Comme vous avez du le contaster mon exemple est basé
sur un base de données de films qui constitue ma
vidéothèque.
L'un de mes combobox définit le style de film que je
recherche.
Dans les propriété de mon comboxbox,
la propriété [ Origine source ] = [ Table/Requête ]
la propriété [ Contenu ] = Sélectionner la requête que vous avez construit.
Je m'arrête ici et j'attendrai votre réponse pour la suite.
Lupin
Deuxième étape :
Les combobox
Pour être sur de bien comprendre votre besoin, je
l'exprime ici à ma façon.
Disons qu'a l'ouverture de votre formulaire vous avez
1000 enregistrements, vous voulez à l'aide d'une
sélection dans un combobox réduire ce nombre à 100.
À l'aide d'un second combobox vous désirez réduire
ce nombre à 50 et ainsi de suite.
Donc pour ce faire vous devez alimenter les combobox
à l'aide de requêtes simples qui vont former les critéres
de sélection.
Comme vous avez du le contaster mon exemple est basé
sur un base de données de films qui constitue ma
vidéothèque.
L'un de mes combobox définit le style de film que je
recherche.
Dans les propriété de mon comboxbox,
la propriété [ Origine source ] = [ Table/Requête ]
la propriété [ Contenu ] = Sélectionner la requête que vous avez construit.
Je m'arrête ici et j'attendrai votre réponse pour la suite.
Lupin
Utilisateur anonyme
24 nov. 2006 à 16:46
24 nov. 2006 à 16:46
Bonjour,
J'ai une solution pour vous !
Tout d'abord je dois vous poser quelques questions.
Est-ce que vos formulaires sont tous accroché sur des requêtes.
Est-ce que vos requêtes sont tous accrochées sur des tables.
Avez-vous une bonne connaissance de VBA.
1.) Créer une requête simple répondant à un exemple de vos besoin.
2.) Visualiser la requête en mode SQL et copier la dans ce fil de discussion.
3.) Inclure une routine sur une liste déroulante de l'un des champs de votre besoin.
4.) Inclure une fonction de modification de requête par programmation.
Exemple de la routine :
La fonction :
Procédé par étape et je vous guiderez.
@+
Lupin
J'ai une solution pour vous !
Tout d'abord je dois vous poser quelques questions.
Est-ce que vos formulaires sont tous accroché sur des requêtes.
Est-ce que vos requêtes sont tous accrochées sur des tables.
Avez-vous une bonne connaissance de VBA.
1.) Créer une requête simple répondant à un exemple de vos besoin.
2.) Visualiser la requête en mode SQL et copier la dans ce fil de discussion.
3.) Inclure une routine sur une liste déroulante de l'un des champs de votre besoin.
4.) Inclure une fonction de modification de requête par programmation.
Exemple de la routine :
Private Sub Liste_Cassette_AfterUpdate() Dim Chaine As String Dim Critere As String Dim CassetteVidéo As String On Error GoTo Liste_Cassette_Err CassetteVidéo = Forms![Formulaire Édition Liste Vidéo].[Liste Cassette] Chaine = "Select * from [Table Vidéo] where [Cassette] = " Critere = Chaine & """" & CassetteVidéo & """" If (ChangeRequeteDef("Requête Liste Spécifique Cassette", Critere)) Then DoCmd.OpenForm "Formulaire Liste Spécifique Édition Cassette", acNormal, "", "[Cassette]", , acNormal End If Liste_Cassette_Exit: Exit Sub Liste_Cassette_Err: MsgBox Error$ Resume Liste_Cassette_Exit End Sub
La fonction :
Public Function ChangeRequeteDef(ChaineRequete As String, ChaineSQL As String) As Boolean Dim Definition As QueryDef If ((ChaineRequete = "") Or (ChaineSQL = "")) Then ChangeRequeteDef = False Else Set Definition = CurrentDb.QueryDefs(ChaineRequete) Definition.SQL = ChaineSQL Definition.Close RefreshDatabaseWindow ChangeRequeteDef = True End If End Function
Procédé par étape et je vous guiderez.
@+
Lupin
laportez
Messages postés
7
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
10 novembre 2011
25 nov. 2006 à 11:24
25 nov. 2006 à 11:24
Tout d'abord Merci beaucoup.
Les réponses à vos questions :
>> Est-ce que vos formulaires sont tous accroché sur des requêtes.
Actuellement formulaires de consultation, de création et mise à jour des enregistrements.
Etats liste des enregistrements.
Requêtes de sélection simple (calcul de délai ancienneté inscription avec la fonction datediff et tri sur ce délai).
C'est là que je voudrais ouvrir plusieurs combobox permettant de sélectionner les critères complémentaires.
>> Est-ce que vos requêtes sont tous accrochées sur des tables.
Oui (avec champ calculé -Today et délai).
>>Avez-vous une bonne connaissance de VBA.
Basique et peu utilisée depuis plusieurs années.
Merci encore
laportez
Les réponses à vos questions :
>> Est-ce que vos formulaires sont tous accroché sur des requêtes.
Actuellement formulaires de consultation, de création et mise à jour des enregistrements.
Etats liste des enregistrements.
Requêtes de sélection simple (calcul de délai ancienneté inscription avec la fonction datediff et tri sur ce délai).
C'est là que je voudrais ouvrir plusieurs combobox permettant de sélectionner les critères complémentaires.
>> Est-ce que vos requêtes sont tous accrochées sur des tables.
Oui (avec champ calculé -Today et délai).
>>Avez-vous une bonne connaissance de VBA.
Basique et peu utilisée depuis plusieurs années.
Merci encore
laportez
Utilisateur anonyme
25 nov. 2006 à 15:15
25 nov. 2006 à 15:15
Bonjour,
A première vue votre base est bien monté, puisque la logique
nous dit qu'un formulaire devrait toujours être accroché sur une
requête (et non sur une table) et c'est la requête qui s'accroche
sur la table.
Première étape :
Vous allez construire une requête qui sélectionne un ou plusieurs
enregistrements selon les critères qui vous avez besoin.
exemple :
SELECT *
FROM [Table Vidéo]
WHERE ((([Table Vidéo].Style)="SCIENCE-FICTION"));
dans cet exemple, je n'ai qu'un critère :
[Table Vidéo].Style = "SCIENCE-FICTION"
mais vous pouvez en avoir plus d'un.
vous créé la requête et passez en mode affichage SQL,
premier bouton de la barre d'outils.
faites ensuite un copier/coller de cette requête ici-même,
je vais vous expliquer comment modifier cette requête par
programmation comme dans l'exemple cité dans mon premier
message.
Lupin
A première vue votre base est bien monté, puisque la logique
nous dit qu'un formulaire devrait toujours être accroché sur une
requête (et non sur une table) et c'est la requête qui s'accroche
sur la table.
Première étape :
Vous allez construire une requête qui sélectionne un ou plusieurs
enregistrements selon les critères qui vous avez besoin.
exemple :
SELECT *
FROM [Table Vidéo]
WHERE ((([Table Vidéo].Style)="SCIENCE-FICTION"));
dans cet exemple, je n'ai qu'un critère :
[Table Vidéo].Style = "SCIENCE-FICTION"
mais vous pouvez en avoir plus d'un.
vous créé la requête et passez en mode affichage SQL,
premier bouton de la barre d'outils.
faites ensuite un copier/coller de cette requête ici-même,
je vais vous expliquer comment modifier cette requête par
programmation comme dans l'exemple cité dans mon premier
message.
Lupin
6 mars 2007 à 15:27
OK ça marche
La solution fonctionne parfaitement, et en plus c'est esthétiquement parfait.