IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

requete pour trouver le mois d'une échéance principale


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut requete pour trouver le mois d'une échéance principale
    bonjour, et meilleurs voeux à vous tous.

    je viens de replonger dans une bdd assurances que j'ai pour mon cabinet.
    je voudrais simplement rajouter une requète 'je pense'!

    dans le formulaire ECHEANCIER j'ai plusieurs champs dans "mois en cours" et un champ "année en cours" ( enregistré 1.2.3....12 pour les mois) qui correspondent à un contrat bien précis, le N° du contrat y figurent également. je voudrais simplement avoir l'information à savoir :

    l'affichage du mois de l'échéance "principale" de ce contrat si celui ci est le mois en cours dans un champ "texte" que je peu créer à coté.

    j'ai le nez dedand depuis 2 ou 3 jours mais j'y arrive pas !!
    j'ai regardé dans le forum, mais j'ai pas trouvé mon bonheur !

    avec mes remerciements pour vos réponse
    amicalement
    jean pierre

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    l'affichage du mois de l'échéance "principale" de ce contrat si celui ci est le mois en cours dans un champ "texte" que je peu créer à coté.
    Difficile à comprendre ...
    reformule mieux ta question et vraisemblablement tu pourras entrevoir la solution ...
    A+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par micniv Voir le message
    Difficile à comprendre ...
    reformule mieux ta question et vraisemblablement tu pourras entrevoir la solution ...
    A+
    exemple :
    1 contrat d'assurance auto à effet du 1er janvier en paiement mensuel va avoir dans le formulaire "échéancier" 12 paiements pour 2010. le premier au 'comptant' et les suivants en 'terme' ce que je voudrais c'est afficher en face du paiement de l'année prochaine à savoir janvier 2011 un message comme quoi c'est l'échéance principale de ce contrat. idem pour tout les contrats du cabinet. l'échéance d'un contrat peu être janvier comme février etc et l'année suivante, pour l'instant, rien ne le distingue des autres.
    amicalement
    jean pierre

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Une idée serait d'ajouter à ta requete le mois de début du contrat en plus des mois d'échéancvier
    Ensuite dans ton formulaire échéancier, tu masques ce controle moisDebutContrat mais ca te permettrait de poser un formatage conditionnel sur les mois de l'échéancier et de passer en rouge celui de l'échéance principale ...

    Suis-je dans le coup ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par micniv Voir le message
    Une idée serait d'ajouter à ta requete le mois de début du contrat en plus des mois d'échéancvier
    Ensuite dans ton formulaire échéancier, tu masques ce controle moisDebutContrat mais ca te permettrait de poser un formatage conditionnel sur les mois de l'échéancier et de passer en rouge celui de l'échéance principale ...

    Suis-je dans le coup ?
    oui tu as compris ce que je voulais faire.
    mais comment le réaliser ? chose importance cette base est en access2 donc moins de technique que maintenant ?
    je reprendrai contact demain si tu veux bien !
    amicalement
    jp

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par micniv Voir le message
    Une idée serait d'ajouter à ta requete le mois de début du contrat en plus des mois d'échéancvier
    Ensuite dans ton formulaire échéancier, tu masques ce controle moisDebutContrat mais ca te permettrait de poser un formatage conditionnel sur les mois de l'échéancier et de passer en rouge celui de l'échéance principale ...

    Suis-je dans le coup ?
    bonjour,
    voici le code sql de la requete actuelle du formulaire ECHEANCIER :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCTROW Paiement.[N°_paiement], Paiement.[C/T], Paiement.Nom, Paiement.Compagnie, Paiement.[Type de contrat], Paiement.[N°_contrat], Paiement.[Année en cours], Paiement.[Mois en cours], Paiement.[N°_police], Paiement.Prime, Paiement.Commission, Paiement.[Prime apporteur], Paiement.Solde, Paiement.[Prime €], Paiement.[Commission €], Paiement.[Prime apporteur €], Paiement.[Solde €], Paiement.[Année de paiement], Paiement.[Mois de paiement], Paiement.[Débitée le], Paiement.[Soldée le], Paiement.[Retour cie], Paiement.[Créditée le], Paiement.Référence, Paiement.Titre, Paiement.Prénom, Paiement.Domicile, Paiement.[Code postal], Paiement.Ville, Paiement.Acompte, Paiement.Apporteur, Paiement.Banque, UCase$([Nom]) & Chr(32) & [Prénom] AS np
    FROM Paiement
    WHERE ((Paiement.[C/T] Like [forms]![ech]![ctr]) AND (Paiement.Compagnie Like [forms]![ech]![cer]) AND (Paiement.[Année en cours] Like [forms]![ech]![anr]) AND (Paiement.[Mois en cours] Like [forms]![ech]![mor]) AND (Paiement.[N°_police] Like [forms]![ech]![npr]) AND (Paiement.Solde Like "*" And Paiement.Solde Like "*") AND (Paiement.[Solde €] Like "*" And Paiement.[Solde €] Like "*") AND (Paiement.Référence Like [forms]![ech]![rfr]) AND (Paiement.Apporteur Like [forms]![ech]![apr]))
    ORDER BY Paiement.Compagnie, Paiement.[Année en cours] DESC , Paiement.[Mois en cours] DESC , Paiement.[N°_police];

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Où est la date de début du contrat ? Est-elle déjà dans la requete

    Que représentent [Année de paiement] et [Mois de paiement] ?

    et hormis la date de début de contrat, veux-tu autre chose dans cette requete ?

    Pourquoi développes- tu encore sous Access 2 ?
    Aujourd'hui si tu peux, je conseillerais de passer au moins à ACC-2000 ...

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    j'ai des copies d'écran par email si tu veux ?

    la date de début du contrat n'est pas dans la requete, elle se trouve dans des tables "catégories de contrat" : Référence_ auto, santé, commerce, habitation et Référence_libre.
    année et mois de paiement représentent l'année et le mois des contrats qui arrivent à échéance à ces dates.
    non je ne veux pas autre chose dns cette requete.
    pourquoi access 2 parceque la base à été faite à l'origine (par un pro) avec access 2 (date de 8/10 ans) et que depuis j'ai pas réussi à la transformer sans avoir des messages d'erreurs !! je sais que se serait plus facile à améliorer avec access 2007 (je l'ai) mais tout ne fonctionne pas comme dans access 2. donc !
    jp

  9. #9
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    la date de début du contrat n'est pas dans la requete
    Alors il faut l'ajouter à la requete en créant une relation entre la table Paiement et une table qui la contient (tu as certainement une table qui détaille le contrat et qui a pour clé primaire [N°_contrat] ? ), la clé de cette relation étant [N°_contrat]


  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par micniv Voir le message
    Alors il faut l'ajouter à la requete en créant une relation entre la table Paiement et une table qui la contient (tu as certainement une table qui détaille le contrat et qui a pour clé primaire [N°_contrat] ? ), la clé de cette relation étant [N°_contrat]

    merci de ta réponse.
    oui j'ai "plus qu'une table" car différent contrat, auto,habitation,commerce,santé et livre donc 5 tables avec la fameuse date d'effet du contrat donc "mois_échéance".
    j'ai compris qu'il fallait faire des relations entre les tables, mais quesque je met comme "critère" dans "mois_échéance" qui se compose simplement des chiffres de 1 à 12 ? il faut que la critère me marque le chiffre du mois en cours si mois échéance principale ! dans un champ texte à coté de ligne concernée ? comment faire la critère ?
    jp

  11. #11
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Si ça te parait compliqué de faire la bonne jointure, alors garde ta requete actuelle ajoute un controle indépendant dans le formulaire d'échéancier.

    Ce controle sera la date du début de contrat et tu l'actualises chaque fois que tu ouvres un contrat différent en fonction de son type (puisqu'apparemment tu as des tables différentes selon le type de contrat)


  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Ton controle indépendant me plait bien, mais comme les champs 'date_échéance' ne sont pas dans le formulaire échéancier je ne comprend pas comment il peu marcher ou va t'il allez les chercher les informations ?
    désolé de mon imcompétence !!
    jean pierre

  13. #13
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Bon,
    tu crées un contrôle indépendant : Date_echeance
    dans un premier temps, le temps de tester tu crées un bouton CmdDateEch
    sur l'evenment sur clic de ce bouton :
    tu mets un code comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    SELECT me.categorie1
     
    case "Référence_ auto" :
    	Me.Date_echeance= Dlookup("date_ech1","maTable1", "[N°_contrat] = '" & me.noContrat1 & "'")
     
    case "santé" :
    	Me.Date_echeance= Dlookup("date_ech2","maTable2", "[N°_contrat] = '" & me.noContrat2 & "'")
     
    case "commerce" :
    	Me.Date_echeance= Dlookup("date_ech3","maTable3", "[N°_contrat] = '" & me.noContrat3 & "'")
     
     
    ...
     
    END SELECT
    Dans ce code je considère que :
    . en fonction du type de contrat (me.categorie1), tu sais dans quelle table ("maTable1), tu peux aller chercher la date échéance (au passage , tu constates que c'était une mauvais choix de multiplier les tables contrats en fonction du type)
    . que le N° de contrat est de type Texte

    quand tu as mis au point le code souhaité, tu le déclenches depuis l'actualisation du formulaire
    (donc dans dans Private Sub Form_current() ) et tu supprimes le bouton


  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Est-ce que je suis dans le vrais avec cela stp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub Bouton178_Click ()
    SELECT me.categorie1
     
    Case "Référence_auto":
    Me.Date_echeance = DLookup("date_échéance", "Référence_auto", "[Numéro_police] = '" & Me.Numéro_police & "'")
     
    Case "Référence_santé":
    Me.Date_echeance = DLookup("date_échéance", "Référence_santé", "[Numéro_police] = '" & Me.Numéro_police & "'")
     
    Case "Référence_commerce":
    Me.Date_echeance = DLookup("date_échéance", "Référence_commerce", "[Numéro_police] = '" & Me.Numéro_police & "'")
     
    Case "Référence_libre":
    Me.Date_echeance = DLookup("date_échéance", "Référence_libre", "[Numéro_police] = '" & Me.Numéro_police & "'")
     
    Case "Référence_habitation":
    Me.Date_echeance = DLookup("date_échéance", "Référence_habitation", "[Numéro_police] = '" & Me.Numéro_police & "'")
     
    ...
     
    End Select
     
    End Sub

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    tu es en vacances ? je n'ai pas de réponse de ta part !!
    amicalement
    jean pierre

  16. #16
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Désolé, je n'avais pas aperçu ta réponse.

    Ton bouton de test me semble bien, surtout s'il te met la date demandée dans [date_echeance], auquel cas tu peux lancer ce code automatiquement, depuis form_current (événement: "sur actualisation" du formulaire)par exemple


  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par micniv Voir le message
    Désolé, je n'avais pas aperçu ta réponse.

    Ton bouton de test me semble bien, surtout s'il te met la date demandée dans [date_echeance], auquel cas tu peux lancer ce code automatiquement, depuis form_current (événement: "sur actualisation" du formulaire)par exemple

    bonjour,
    non ca ne fonctionne pas !!
    je pense que cela vient de : SELECT me.categorie1 (categorie1 correspond à quoi pour toi ?)

    Sub Bouton178_Click ()
    SELECT me.categorie1

  18. #18
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Bien sûr, ...
    il faut mettre "SELECT CASE me.categorie1 ..."

    categorie1 représente un contrôle du formulaire courant qui est le type du contrat dont tu recherches la date d'échéance


  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    je pige pas ! désolé, si je met :

    SELECT CASE me.auto (par exemple, il ne trouvera pas les santé, habibation etc ....car il me faut les dates échéances de toutes les sortes de contrats !!

    amicalement
    jp

  20. #20
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Je ne connais pas tes tables : si tu les as multipliées selon le type de contrat et que les noms des colonnes (= champs) des tables sont différents alors ... évidemment il faut y aller à la serpette ...
    Dans la réponse ci-dessus, je supposais que tu avais des champs communs aux tables de contrats et notamment un champ type ou categorie !
    Si tu peux encore reprendre ta conception je te conseille de tout mettre dans une table (avec des sous-tables si vraiment nécessaire )
    A+

Discussions similaires

  1. Requete pour trouver des trous dans une suite
    Par Ben_Le_Cool dans le forum Langage SQL
    Réponses: 11
    Dernier message: 28/08/2009, 18h17
  2. requête pour trouver un mot dans une phrase
    Par FRIGAUX dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/11/2006, 22h18
  3. Requete pour trier un état sur une somme partielle ?
    Par thierry.drouet dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2006, 16h45
  4. Probleme de requete pour remplir les champs d'une table
    Par Jim_Nastiq dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/04/2006, 14h56
  5. requete pour compter les valeurs ds une colonne
    Par smariteau dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/02/2006, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo