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 :

Cherche conseil pour requête selection


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 63
    Points : 57
    Points
    57
    Par défaut Cherche conseil pour requête selection
    Bonjour à tous,

    J'ai créé une petit appli course.

    Dans une table, j'ai plusieurs champs départ tour de 1 à 9
    Je clique sur des numéros en calendrier qui me renvoie l'heure dans une table en fct du dossard (ça me permet derrière de calculer la vitesse, etc etc )
    Exemple:

    Champ Dossard Départ tour 1 tour 2 tour 3 Jusqu'à tour 9
    1 17h15min00 17h30min29 17h45min29
    2 17h15min00 17h31min27 17h41min 25
    3 17h15min00

    Je souhaite développer cette appli
    Comment faire un classement à l'instantanée sachant que tout le monde n'est à pas arrivé au même tour.
    Dans celui-ci, ça serait le dossard 2, puis 1 puis 3
    Il faut prendre deux critères le nombre de tours et le temps le plus rapide pour chaque tour.
    je suis un peu dans une impasse. Je ne vois comment orienter ma requête (penser associer nombre de tour et temps), mindom, requête union.

    Bien à vous

    mao2000

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonsoir,

    une solution :
    1) coller ces fonctions vba dans un module standard de code :
    Code VBA : 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
     
    Public Function getMeilleurTemps(ParamArray a()) As Date
    On Error GoTo fin
    Dim i As Long, d1 As Date, d2 As Date, dMin As Date
    d1 = toTime(a(0)): dMin = #11:59:59 PM#
    For i = 1 To UBound(a)
       d2 = toTime(a(i))
       If d2 - d1 < dMin Then dMin = d2 - d1
       d1 = d2
    Next i
    fin:
    getMeilleurTemps = dMin
    End Function
     
    Private Function toTime(ByVal v As Variant) As Date
       If VarType(v) = vbString Then v = TimeValue(Replace(Replace(v, "min", ":"), "h", ":"))
       toTime = v
    End Function

    2) Depuis la requete, appeler la fonction GetMeilleurTemps([Départ];[Tour1];[Tour2],...) qui retournera le meilleur temps de chaque dossard

  3. #3
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 63
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    En regardant un peu la fonction, il va me retrouver le meilleur temps de chaque dossard. J'ai dû mal m'exprimer, il s'agit d'un classement instantané que je souhaite faire.

    c'est le coureur au bout des 9 tours avec le temps le plus court entre le départ et l'arrivée. Le premier peut très bien mettre 1 tour au deuxième et trois aux autres concurrents.

    Classement provisoire : il prend celui a fait le nombre de tours puis en second le temps le plus court dans les mêmes tours comme l'exemple ci-dessous;

    1) dossard X (3 tours 17h00)
    2) dossard Y (3 tours 17h02)
    3) dossard Z (2 tours 16h45) (il n'a pas encore franchit le 3ème tour)
    4) dossard AA (2 tours 16h50) (il n'a pas encore franchit le 3ème tour)
    5) dossard AB (1 tour 16h30) (il n'a pas encore franchit le 2ème tour)
    6) dossard AC (1 tour 16h37) (il n'a pas encore franchit le 2ème tour)

  4. #4
    Invité
    Invité(e)
    Par défaut
    voilà, le mini est le meilleur :

    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
     
    Public Function getSnap(ParamArray a()) As String
        On Error GoTo fin
        Dim i As Long, j As Long, s As String
        s = "#erreur#": j = UBound(a)
        For i = 1 To j
            If IsNull(a(i)) Then i = i - 1: Exit For
        Next i
        If i > 0 Then
            s = (j - i) & " restant" & IIf(j - i > 1, "s", "") & " - " & _
                Format(toTime(a(i)) - toTime(a(i - 1)), "nn\mi\nss")
        Else
            s = j & " restants"
        End If
    fin:
        getSnap = s
    End Function

  5. #5
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 63
    Points : 57
    Points
    57
    Par défaut
    Bonsoir, je suis parti sur autre chose. Sur un état qui me regroupe par tour, j ai indiqué un tri croissant pour chaque champ tour. Ainsi, il me fait le classement instantané.merci

Discussions similaires

  1. Cherche conseil pour l'envoi de fichiers
    Par ehmppowa dans le forum Applets
    Réponses: 4
    Dernier message: 17/01/2006, 13h39
  2. Cherche conseils pour livre HTML, JavaScript et PHP
    Par oodini dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 15h45
  3. cherche conseil pour Anti Virus
    Par StyleXP dans le forum Sécurité
    Réponses: 4
    Dernier message: 15/08/2005, 19h05
  4. Réponses: 3
    Dernier message: 01/07/2003, 16h04
  5. Cherche conseil pour choisir mon orientation.
    Par AslDice dans le forum Débuter
    Réponses: 6
    Dernier message: 24/04/2003, 17h07

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