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 :

Comparaison et recensement


Sujet :

Requêtes et SQL.

  1. #61
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Désolé :


  2. #62
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Oups, mille excuses.
    Ca devrait être bon pour toi (version Access2000) : 03072014BdD-graphes_souterrain.7z

  3. #63
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Je peux lire la BdD, mais je ne comprends pas la question !

    Peux-tu donner un exemple concret de ce que tu cherches ?

  4. #64
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,



    Veux-tu savoir pour les 663 enregistrements, combien de fois on rencontre les suites :
    G_SS/I_SS_6
    I_SS_8/ G_SS
    I_SS_8/ I_SS_6
    En_SS_1/ En_SS_2
    En_SS_2/ I_SS_6
    I_SS_2/ G_SS
    I_SS_2/ I_SS_6


    C’est ça ?

  5. #65
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Comme ceci ?





    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
    Public Function CombinAB()
      Dim i As Integer
      Dim sSQL As String
      DoCmd.SetWarnings False
      'purge
      DoCmd.RunSQL "DELETE * FROM tCouples;"
      'créer les couples
      For i = 1 To 6
        sSQL = "INSERT INTO tCouples ( A, B ) SELECT N°" & i & ", N°" & i + 1 _
                   & " FROM TousLesTrains WHERE N°" & i & " Is Not Null AND N°" & i + 1 & " Is Not Null;"
        DoCmd.RunSQL sSQL
      Next i
      DoCmd.SetWarnings True
      'Afficher résultats
      DoCmd.OpenQuery "rCombinAB"
    End Function

    BdD ici : http://claudeleloup.developpez.com/&...souterrain.mdb

  6. #66
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Désolé pour ma demande qui n'était peut-être pas claire au début... mais tu as pourtant exactement fait ce que je souhaitais !

    Merci infiniment.

  7. #67
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Bonjour Claude,

    Je reposte une question sur cette discussion après des mois d'absence. J'aurais besoin d'un coup de main, toujours sur le même boulot.

    Suite à nos échanges (jusqu'au billet 59 pour être très précis, ensuite c'était autre chose), j'aurais besoin de faire une requête supplémentaire à partir de la requête "rAuFinal" (voir la Bdb que je t'ai mis en PJ). En effet, celle-ci contient plusieurs enregistrements composés de "Num_compo" séparés par des "||". J'aimerais ajouté une info supplémentaire à tout ça.

    A partir de la table "Delai_douce" (qui associe pour chaque "Num_compo" une valeur "Delai_douce"), je souhaiterai une nouvelle requête qui consisterait à ajouter à la requête "rAuFinal" une colonne supplémentaire (que l'on pourrait appeler "MaxDelai_douce") contenant la plus grande valeur "Delai_douce" de tous les "Num_compo" présents dans la colonne "AuFinal". Par exemple pour l'enregistrement n°22 : "|| SMR_2 || MR_A || I_A_6" je souhaiterais que la colonne MaxDelai_douce m'affiche "1 à plusieurs années" car :
    • SMR_2 : 1 à plusieurs années
    • MR_A : 1 à plusieurs années
    • I_A_6 : qq semaines à qq mois
    • et le plus grand des trois est bien "1 à plusieurs années".


    L'ordre croissant à suivre est un ordre logique : 0 à qq heures < qq heures à qq jours < qq jours à qq semaines < qq semaines à qq mois < 1 à plusieurs années.

    Merci de ton aide !!

    Michaël
    Fichiers attachés Fichiers attachés

  8. #68
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Voici une proposition de démarche.

    1° J’ai créé une table :




    2° J’ai ajouté une colonne à ta table Delai_douce





    3° Ensuite, cette requête :





    Pour obtenir ceci :



    4° j’ai écrit cette petite fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function PlusGrandDelai(AuFinal As String) As String
      Dim t() As String
      Dim i As Integer
      Dim sOrdre As String
      t = Split(AuFinal, " || ")
      For i = 1 To UBound(t)
        sOrdre = DLookup("Ordre", "Delai_douce", "Num_compo ='" & t(i) & "'")
        If sOrdre > PlusGrandDelai Then
            PlusGrandDelai = sOrdre
        End If
      Next i
      PlusGrandDelai = Right(PlusGrandDelai, Len(PlusGrandDelai) - 2)
    End Function
    5° pour l’utiliser dans cette requête :



    6° qui donne ceci :

    Fichiers attachés Fichiers attachés

  9. #69
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    C'est parfaitement clair et le résultat est exactement celui que j'attends
    Mille mercis !

  10. #70
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Bonjour Claude,

    Je relance ce sujet quelques mois après, toujours sur le même travail concernant la même BdD.

    A partir de la requête "rAuFinal" qui me donne une succession de composants (éléments encadrés par des : ||), j'aimerais associer un coût (une valeur donc) selon les composants successifs. Je suis parvenu à le faire via la fonction "cout_total_10puissance" qui va piocher les coûts composant par composant que j'ai indiqué dans la table "Cout".
    Maintenant, j'aimerais ajouter un champ dans cette requête qui me donne un texte du type "de quelques XX euros à quelques YY euros" selon l'intervalle dans lequel se trouve la valeur "cout_tot_10puissance" précédemment calculée. J'ai écrit une fonction "cout_total_intervalle" mais elle ne fonctionne pas et m'affiche toujours le même texte qu'elle que soit la valeur "cout_tot_10puissance". As-tu une solution ?

    Merci d'avance.
    Ci-jointe la BdD au format Access 2000
    Fichiers attachés Fichiers attachés

  11. #71
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Voici :





    Où était l’os :

    - ta fonction « cout_total_10puissance » était définie en String : c’est du Double. Elle devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Function cout_total_10puissance(AuFinal As String) As Double
      Dim t() As String
      Dim i As Integer
      Dim cout_t As String
      t = Split(AuFinal, " || ")
      For i = 1 To UBound(t)
        cout_t = DLookup("Cout_compo", "Cout", "Num_compo ='" & t(i) & "'")
        cout_total_10puissance = cout_total_10puissance + cout_t
      Next i
      End Function
    - J’ai réécrit ta fonction « cout_total_intervalle » :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function cout_total_intervalle(Nbre As Double) As String
     Select Case Nbre
        Case 0 To 999
            cout_total_intervalle = "de 0 à quelques centaines d'euros"
        Case 999 To 9999
            cout_total_intervalle = "de quelques centaines d'euros à quelques milliers d'euros"
        Case 9999 To 99999
            cout_total_intervalle = "de quelques milliers d'euros à quelques dizaines de milliers d'euros"
        Case 99999 To 999999
            cout_total_intervalle = "de quelques dizaines de milliers d'euros à quelques centaines de milliers d'euros"
        Case Is > 999999
            cout_total_intervalle = "1 à plusieurs millions d'euros"
    End Select
    End Function
    Fichiers attachés Fichiers attachés

  12. #72
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    C'est parfait comme d'habitude, merci beaucoup !
    Michaël

  13. #73
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Question que je me pose, toujours sur la BdD précédemment envoyée.

    Est-il possible de construire une fonction qui permette :
    1. de sélectionner (menu déroulant par exemple) quelques Num_compo (CCS_A_1, CCS_A_2 etc.) que l'on souhaite (sans ordre dans cette sélection),
    2. de chercher parmi l'ensemble des enregistrements de "AuFinal" ceux qui contiennent les Num_compo sélectionnés précédemment (pas nécessairement ces Num_compo de façon consécutive dans les chaînes) ?


    Par exemple, pour une liste de Num_compo A, B, C, D et E, ça donnerait :
    1. je sélectionne C et E
    2. la requête me retournerait les enregistrements de ce type :

    • || A || B || D || C || E
    • || E || B || A || C ||
    • ...

    C'est-à-dire tous les enregistrements dès lors qu'ils contiennent C et E (pas nécessairement C et E ou E et C successivement donc).

    Merci pour ton aide !

  14. #74
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Voici un exemple :



    - à l’ouverture, on affecte à la zone de liste, une table qui contient tous les Num_compo qui interviennent.

    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
    24
    25
    Private Sub Form_Open(Cancel As Integer)
      Dim rst As Recordset
      Dim tableau() As String
      Dim i As Integer
      'Vidanger tNumCompo
      DoCmd.SetWarnings False
      DoCmd.RunSQL "DELETE * FROM tNumCompo;"
      'Lire rAufinal et repeupler tNumCompo (les doublons sont rejetés
      Set rst = CurrentDb.OpenRecordset("rAufinal")
      Do Until rst.EOF
        tableau = Split(rst(0), "||")
        For i = 1 To UBound(tableau)
          DoCmd.RunSQL "INSERT INTO tNumCompo ( NumCompo ) SELECT """ & tableau(i) & """ AS Expr1;"
        Next i
        rst.MoveNext
      Loop
      DoCmd.SetWarnings True
      'Déployer la zone de liste
      Me.cboNumCompo.RowSource = "tNumCompo"
      Me.cboNumCompo.SetFocus
      Me.cboNumCompo.Dropdown
      'Libérer
      rst.Close
      Set rst = Nothing
    End Sub
    Lorsque tu choisis un Num_compo dans la liste, il s’ajoute dans la liste de ceux que tu as sélectionnés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cboNumCompo_AfterUpdate()
      If IsNull(Me.txtSelection) Then
          Me.txtSelection = Me.cboNumCompo
        Else
          Me.txtSelection = Me.txtSelection & ";" & Me.cboNumCompo
      End If
    End Sub
    Et quand tu cliques le bouton pour afficher, on crée une table tItemSelected que l’on affecte à la source du formulaire.
    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
    Private Sub btAfficher_Click()
      Dim i As Integer
      Dim tableau() As String
      If IsNull(Me.txtSelection) Then Exit Sub
      'Vidanger tItemSelected
      DoCmd.SetWarnings False
      DoCmd.RunSQL "DELETE tItemSelected.ItemSelected FROM tItemSelected;"
      tableau = Split(Me.txtSelection, ";")
      For i = 0 To UBound(tableau)
        DoCmd.RunSQL "INSERT INTO tItemSelected ( ItemSelected ) " _
                        & "SELECT rAufinal.AuFinal,* FROM rAufinal WHERE AuFinal Like ""*" & tableau(i) & "*"" ;  "
      Next i
      DoCmd.SetWarnings True
      Me.RecordSource = "tItemSelected"
    End Sub

  15. #75
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour ta rapide réponse !!
    Il me semble par contre que le formulaire ne renvoie pas exactement ce que je souhaite. Par exemple, lorsque je sélectionne les 2 Num_compo "CCS_A_1" et "I_A_5", le formulaire me retourne les enregistrements de "rAuFinal" qui contiennent soit CCS_A_1 soit I_A_4. Or, je souhaiterais avoir les enregistrements qui contiennent à la fois CCS_A_1 et I_A_5. Pas nécessairement l'un directement à la suite de l'autre, mais par contre bien les deux dans le même enregistrement. Ainsi, les enregistrements suivants en vert sont ceux que je souhaite voir apparaître mais pas ceux en rouge :


    Nom : Capture3.JPG
Affichages : 133
Taille : 70,6 Ko

    Merci de ton aide.

  16. #76
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    OK, j'ai mal interprété la question.

    Voici mieux, je crois :

    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
    24
    25
    26
    27
    28
    Private Sub btAfficher_Click()
      Dim rst As Recordset
      Dim i As Integer
      Dim tableau() As String
      If IsNull(Me.txtSelection) Then Exit Sub
      'Vidanger tItemSelected
      DoCmd.SetWarnings False
      DoCmd.RunSQL "DELETE tItemSelected.ItemSelected FROM tItemSelected;"
      'Spliter les NumCompo à trouver ensemble
      tableau = Split(Me.txtSelection, ";")
      'Lire chaque enregistrement de rAufinal
      Set rst = CurrentDb.OpenRecordset("rAuFinal")
      Do Until rst.EOF
          For i = 0 To UBound(tableau)
             If rst("AuFinal") Like "*" & tableau(i) & "*" Then
               Else
                 GoTo AuSuivant
             End If
          Next i
          DoCmd.RunSQL "INSERT INTO tItemSelected ( ItemSelected ) SELECT """ & rst("aufinal") & """ AS Expr1;"
    AuSuivant:
          rst.MoveNext
      Loop
      rst.Close
      Set rst = Nothing
      DoCmd.SetWarnings True
      Me.RecordSource = "tItemSelected"
    End Sub
    Cette fois :

    Fichiers attachés Fichiers attachés

  17. #77
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Tes modifs sont bonnes, c'est parfait.
    Je me demande juste (par pure curiosité presque) s'il n'est pas possible de se passer de la fonction "Form_Open" qui génère la table "tNum_compo". Parce qu'en fait cette table recense l'ensemble des Num_compo qui sont présents dans "rAufinal". Or cette liste existe déjà dans certaines tables telles que "Cout", "Delai_douce", "Delai_violente". Bon, mais c'est vraiment du détail là.
    Encore une fois merci infiniment pour ton aide !

  18. #78
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Dans l'événement sur ouverture, on construit une table qui contient les NumCompo qui sont présents dans la table rAuFinal.

    Si le contenu de rAuFinal n'évolue pas, alors tu peux supprimer l'événement sur ouverture et modifier le formulaire1 comme ceci :


  19. #79
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Parfait, j'ai fait exactement comme tu me l'as indiqué. Merci Claude !

  20. #80
    Candidat au Club
    Homme Profil pro
    Thésard
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Thésard

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 3
    Points
    3
    Par défaut
    Bonjour Claude,

    J'ai de nouveau besoin de tes précieux conseils.

    Toujours sur la même BdD, pour poursuivre sur le formulaire que tu m'as aidé à faire la dernière fois, j'aimerais aller plus loin. Mon idée serait de pouvoir sélectionner une suite de Num_compo (= que j'appelle un "scénario"), affecter un nombre de Num_compo impactés et multiplier ce nombre par le coût unitaire d'un Num_compo pour obtenir un coût total du scénario. Et de plus, obtenir le délai total du scénario, on prendrait le max des délais de chaque Num_compo (on ferait ce travail à la fois pour les délais présents dans la table "Délai_douce" et dans la table "Délai_violente").

    Voilà à peu près comment je verrais le formulaire (je me suis permis de faire des petits schémas pour être, je l'espère, plus clair) :

    • D'abord, on repart sur la base du précédent formulaire ("Recherche_scenarios") avec une liste déroulante pour sélectionner les Num_compo souhaités et une zone de texte affichant ceux sélectionnés

      Nom : etape1-2.JPG
Affichages : 109
Taille : 55,0 Ko
    • Ensuite, on afficherait les différents Num_compo sélectionnés et en face de chacun d'entre eux, il y aurait : une case dans laquelle l'utilisateur indique un nombre (correspondant à un coefficient multiplicateur en fait), à côté tu aurais l'unité de ce cout (qui est disponible dans la table "Cout", champ "Cout_unite"), puis ensuite s'afficherait le délai_douce et le délai_violente (disponibles dans les tables "Delai_douce" et "Delai_violente", champ "Delai_douce" et "Delai_violente) de ce Num_compo.

      Nom : etape3-4.JPG
Affichages : 111
Taille : 82,6 Ko
    • Enfin, un bouton nous permettrait d'afficher : le cout total du scénario (qui correspond donc à la somme des coeff multiplicateur * coût unitaire), le délai_douce (qui est le max du délai_douce des Num_compo présents dans le scénario) et le délai_violente (qui est le max du délai_violente des Num_compo présents dans le scénario).
      Nom : etape5.JPG
Affichages : 95
Taille : 62,6 Ko


    Penses-tu qu'un tel formulaire serait possible ?

    En PJ, la BdD.

    Encore merci pour ton aide,

    Michaël
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparaison de 2 dates
    Par eisti dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2003, 12h33
  2. [langage] Comparaison de fichiers
    Par Jibees dans le forum Langage
    Réponses: 3
    Dernier message: 23/04/2003, 17h27
  3. Comparaison de fichier
    Par danzerg dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 12h49
  4. Comparaison JBuilder avec Sun ONE Studio
    Par chichos dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 13/11/2002, 16h08
  5. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 11h25

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