Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 34
  1. #1
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut [Exercice] "bien entourer martine"

    Bonjour,

    je vous propose un nouveau défi:

    • d'abord, le contexte:
      une table: [laTable] et son unique champ: <champ>
      contenant ces données:

    [laTable]
    <champ>
    françoise
    daniel
    martine
    frederic
    claude
    daniel
    andré
    ...
    • le défis:
      je voudrais une requete qui me permute le 6ème enregistrement avec le 4ème à partir de cette table et ainsi avoir:

      françoise
      daniel
      martine
      daniel
      claude
      frederic
      andré
      ...

    tous les coups sont permis!
    même les tordus à partir du moment que ca marche.

    à vos clavier, et bonne cogitation!


    _________________________________________________________________________________________

    Résumé
    légende: pertinant.
    • 1- proposition de random: le pb c'est que le nb d'enregistrement de la table n'est pas fixe
    • 2- proposition de jpcheck: le résultat n'est pas d'une requete
    • 3- une approche de philben : il ne s'agit pas d'une insertion mais d'une permutation à réaliser
    • le vrai problème de vodiem: trouver une requete qui donne un indice par enregistrement
    • une solution de Maxence HUBICHE : en passant par un adp, solus limitée au table
    • une solution de vodiem : SQL+VBA, solus qui peut être discutable

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    juin 2003
    Messages
    1 211
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : juin 2003
    Messages : 1 211
    Points : 1 503
    Points
    1 503

    Par défaut

    C'est certainement pas un défi ca.
    C'est pour débutant et même pas.
    Amicalement

  3. #3
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    alors j'attends ta réponse.

  4. #4
    Expert Confirmé Sénior
    Inscrit en
    mai 2005
    Messages
    3 419
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 3 419
    Points : 4 167
    Points
    4 167

    Par défaut

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT top 3 nom FROM matable
    union all
    select last(nom) from (select top 6 nom from matable)
    union all
    select last(nom) from (select top 5 nom from matable)
    union all
    select last(nom) from (select top 4 nom from matable)
    union all
    select last(nom) from (select top 7 nom from matable);
    heu je ne conseillerais à personne d'utiliser ça, mais ça marche

    dmboup votre talent ne vous autorise pas le mépris.
    Elle est pas belle la vie ?

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    juin 2003
    Messages
    1 211
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : juin 2003
    Messages : 1 211
    Points : 1 503
    Points
    1 503

    Par défaut

    Citation Envoyé par random Voir le message
    dmboup votre talent ne vous autorise pas le mépris.
    Ce n'est pas un mépris. C'est juste la vérité. On attend ici des choses qui donnent à réfléchir sur au moins des mois et pas une question qu'une simple requête résoud sans problème. De plus ne traduit pas un simple message par un point de vu personnel qui de toute facon est très loin de l'idée.

    Il ya des questions plus compliquée dans le forum pour autant on ne les retrouvent pas dans les défis.

    PS : Lisez les régles.
    Amicalement

  6. #6
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    j'aime bien ton truc random,

    je disais entre 6 et 4 pour simplifier mais je reste indécis sur les valeurs et sur le nombre de personnes.

    une requete un peu plus "généraliste" quoi, tu me trouve un truc comme ca?

    DMboup> j'attends aussi ta proposition. on dis que tu as du talent j'aimerais le découvrir . pour le moment c'est random qui est en tête.

  7. #7
    Rédacteur/Modérateur
    Avatar de jpcheck
    Homme Profil pro Jean-Philippe ANDRÉ
    Consultant technique et formateur freelance
    Inscrit en
    juillet 2007
    Messages
    9 117
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Philippe ANDRÉ
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant technique et formateur freelance
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 9 117
    Points : 17 840
    Points
    17 840

    Par défaut

    bonjour, je ne sais pas si on doit répondre en VBA ou en SQL... Ma réponse pour VBA :
    Code :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Sub test()
    Dim RS As DAO.Recordset
    Dim EntreeRang4 As String
    Dim EntreeRang6 As String
    'préliminaire, afficher le contenu de la table
    Set RS = CurrentDb.OpenRecordset("SELECT champs FROM latable;")
     
    Do Until RS.EOF
        Debug.Print RS!champs
        RS.MoveNext
    Loop
     
    '1ere étape récupération des valeurs à échanger, modification dans la foulée du rang6
    Set RS = CurrentDb.OpenRecordset("SELECT champs FROM latable;")
     
    Do Until RS.EOF
        If Round(RS.PercentPosition * RS.RecordCount / 100, 0) = 3 Then
            EntreeRang4 = RS!champs
            Debug.Print "ancienne valeur 4 = " & RS!champs
        End If
        If Round(RS.PercentPosition * RS.RecordCount / 100, 0) = 5 Then
            EntreeRang6 = RS!champs
            Debug.Print "ancienne valeur 6 = " & RS!champs
            RS.Edit
            RS!champs = EntreeRang4
            RS.Update
        End If
        RS.MoveNext
    Loop
    '2e étape, modifier le rang4 et lui donner le rang6
    Set RS = CurrentDb.OpenRecordset("SELECT champs FROM latable;")
    Do Until RS.EOF
        If Round(RS.PercentPosition * RS.RecordCount / 100, 0) = 3 Then
            RS.Edit
            RS!champs = EntreeRang6
            RS.Update
        End If
        RS.MoveNext
    Loop
    '3e étape, vérifier que la modif a eu lieu:
    Set RS = CurrentDb.OpenRecordset("SELECT champs FROM latable;")
     
    Do Until RS.EOF
        Debug.Print RS!champs
        RS.MoveNext
    Loop
    Set RS = Nothing
    End Sub

  8. #8
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro Philippe JOCHMANS
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 132
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe JOCHMANS
    Âge : 46
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 132
    Points : 45 087
    Points
    45 087

    Par défaut

    Bonjour

    Peux-tu nous expliquer à part trouver le code adéquate, le but de ce déplacement.

    Starec
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint

    Si vous avez des c'est peut-être moi, car vous postez un fichier en pièce jointe sans explications.

  9. #9
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    jpcheck>
    je te remercie de participer.

    oui, tout est permis mais je voulais dans une requete. on va dire: pour ne pas toucher au valeur des tables... (sinon c'est trop facile )
    tu me la refais dans une requete et tu auras gagné. (si tu y arrives )

    perso j'ai une solus un peu tordu SQL+VBA si ca peut aider...
    mais je serais content que vous me fassiez partager vos solutions.

    Starec>
    le but de ce déplacement
    comme le dis le titre: pour que "martine" soit bien entourée (de ses "daniels")...
    un défi ca doit être avant tout ludique.

    mais si tu te penchais sur le pb, peux être reconnaitras tu un pb récurrent.
    et si qq'un pouvait répondre de facon satisfaisante cela profiterait à plusieur. ma solution n'apportant pas suffisamment de réponse.
    peut être que random voit de quoi je parle?

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    juin 2003
    Messages
    1 211
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : juin 2003
    Messages : 1 211
    Points : 1 503
    Points
    1 503

    Par défaut

    Citation Envoyé par vodiem Voir le message
    DMboup> j'attends aussi ta proposition. on dis que tu as du talent ...
    Faut pas ce fier au compliment de random (pour le talent que je cherches encore),

    J'ai pas encore participé parce que je n'arrives pas à comprendrele but comme le talentueux Starec.

    Peut tu nous expliquer plus SVP.

    PS : Désolé d'avoir donné une mauvaise impression.
    Amicalement

  11. #11
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro Philippe JOCHMANS
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 132
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe JOCHMANS
    Âge : 46
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 132
    Points : 45 087
    Points
    45 087

    Par défaut

    Citation Envoyé par vodiem Voir le message
    comme le dis le titre: pour que "martine" soit bien entourée (de ses "daniels")...
    un défi ca doit être avant tout ludique.

    mais si tu te penchais sur le pb, peux être reconnaitras tu un pb récurrent.
    je t'avoue que non (peut-être que c'est Vendredi )

    Je suis d'accord sur l'aspect ludique que peut avoir ce défi, mais j'aime bien savoir le pourquoi de la chose.

    En effet, ton défi pourrait expliquer le but, pourquoi ? Pour trouver un code générique qui serait utile à tous, car là c'est un peu une particularité que tu veux gérer.

    Starec
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint

    Si vous avez des c'est peut-être moi, car vous postez un fichier en pièce jointe sans explications.

  12. #12
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    te répondre serait dévoiller une problématique du sujet qui à si méprendre parait simple, n'es ce pas DMboup?

    mais je te mets sur la voie:
    comment pourrais tu répondre simplement à ce pb?
    tu verras ce qui manque, de là découlera la réponse à vos questions...

    autrement prêtez-vous au jeu et livrez moi une solution.
    et je rappel le but: gagner...
    et puis dites vous: même si vous gagner pas, vous ne perdrez rien non plus.

  13. #13
    Membre Expert

    Inscrit en
    avril 2006
    Messages
    1 393
    Détails du profil
    Informations forums :
    Inscription : avril 2006
    Messages : 1 393
    Points : 2 143
    Points
    2 143

    Par défaut

    bonjour Vodiem,

    Une solution que je n'utiliserai pas...
    Fonction VBA :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Public Function MaFonction(ByVal s As String, ByVal dNow As Date) As String
       Static sPrec As String, bMartine As Boolean, dTime As Date
       If dNow <> dTime Then
          dTime = dNow
          sPrec = ""
          bMartine = False
       End If
       If Not bMartine Then
          If sPrec = "martine" Then
             MaFonction = "daniel"
             bMartine = True
          Else
             MaFonction = s
          End If
          sPrec = s
       ElseIf sPrec <> "daniel" Then
          MaFonction = sPrec
          sPrec = s
       Else
          MaFonction = s
       End If
    End Function
    Requête :
    Code :
    1
    2
    3
    4
    5
    6
     
    SELECT
     MaFonction([champ],
     Now()) AS Expr1
    FROM
     latable;
    J'attends de connaître l'utilisation d'un tel truc !

    Amicalement,

    Philippe

  14. #14
    Membre Expert
    Inscrit en
    mars 2006
    Messages
    1 340
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 1 340
    Points : 1 615
    Points
    1 615

    Par défaut

    Bonjour,

    Allez Vodiem, tu peux dévoiler ta cogitation.
    Le résultat escompté est atteint. Ceux que tu attendais au coin du bois ont été débusqués. Random et Philben se sont exécutés.
    D'autres ont émis quelques remarques, mais raté : Ils ne sont pas tombés dans le piège.
    La plupart, comme moi, ont obtenus divers résultats méritants d'être élevés aussitôt à l'honorable grade de détritus. Je me suis heurté la plupart du temps, comme tu l'espérais, au trie alphabétique ou, et numérique.

    Alors, après http://www.developpez.net/forums/sho...ighlight=array
    Quelles sont tes nouvelles oeuvres?

    Cordialement.

    Ps : Je suis d'accord avec ceux qui émettent des réserves sur cet exercice. Seul un esprit "torturé" pouvait nous entraîner dans cette voie.... Est esprit tout aussi "Tortueux" d'y répondre.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  15. #15
    Membre Expert

    Inscrit en
    avril 2006
    Messages
    1 393
    Détails du profil
    Informations forums :
    Inscription : avril 2006
    Messages : 1 393
    Points : 2 143
    Points
    2 143

    Par défaut

    Bonjour,

    Francishop a écrit :
    ...Random et Philben se sont exécutés.


    Ave Vodiem, morituri te salutant


    Philippe

  16. #16
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    francishop> lol. je réponds d'abord à philben

    phiben> tu triches! mais j'adore, c'est de bonne guerre
    j'aimerais dire que tu as trouvé mais non.
    en contournant le pb, de surcroit tu n'y réponds plus:
    je voudrais une requete qui me permute le 6ème enregistrement avec le 4ème à partir de cette table et ainsi avoir:
    => tu as inséré daniel entre martine et frederic ce qui n'est pas pareil.
    n'oublie pas que la liste n'est pas forcemment exhaustive: rien ne garanti une martine, un/deux/trois... daniel (des voisinages de daniel différent...).

    je rappel que si le titre du défi est de "bien entouré martine" (conséquence) le défi ne l'est pas (cause).

    autrement l'intialisation de la requete
    j'ai du avoir aussi recours mais j'ai une solution un tout petit peu plus stable.
    merci de ta participation.

    >francishop
    Ceux que tu attendais au coin du bois ont été débusqués
    détrompe toi. la solution que j'ai est tordu c'est vrai, mais elle est en vba+sql avec des notions de base ce qui ouvre la possibilité à tous d'y participer.
    seul l'ingéniosité/esprit tordu rentre en compte.

    Je suis d'accord avec ceux qui émettent des réserves sur cet exercice
    parceque le défi n'est pas de trouver le pourquoi du déplacement mais le comment

    je te mets sur la voie, puisque tu as pu constater la difficulté dis moi ce qu'il manque pour que ce pb soit un exercice trivial?

  17. #17
    Membre Expert
    Inscrit en
    mars 2006
    Messages
    1 340
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 1 340
    Points : 1 615
    Points
    1 615

    Par défaut

    Re Bonjour,
    @Philben
    C'est Bon...Hummmmmmmmmm que c'est bon!

    Bien qu'ici, à l'identique de l'exemple de Monsieur Larousse :"Il s'est exécuté pour éviter des poursuites" ne doit en aucun cas être assimilé à un suicide.

    @Vodiem
    A part ne savoir que dire pour essayer de te "Chambrer" et sachant qu'il ne peut que m'être bénéfique la présente recherche Si je n'étais d'accord pour le présent débat, une stratégie simple serait de circonstance--> Pas intervenir-->Ne pas chercher .

    Citation Envoyé par vodiem Voir le message
    je te mets sur la voie, puisque tu as pu constater la difficulté dis moi ce qu'il manque pour que ce pb soit un exercice trivial?
    HO ho!...J'y retourne de suite.

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  18. #18
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    francishop> he bien? la nuit a été fructueuse? avec ton esprit concencieux tu n'as pas du dormir beaucoup...

    j'attends toujours...

  19. #19
    Rédacteur/Modérateur
    Avatar de jpcheck
    Homme Profil pro Jean-Philippe ANDRÉ
    Consultant technique et formateur freelance
    Inscrit en
    juillet 2007
    Messages
    9 117
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Philippe ANDRÉ
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant technique et formateur freelance
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 9 117
    Points : 17 840
    Points
    17 840

    Par défaut

    moi je me contente du vba fourni...

  20. #20
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 850
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 850
    Points : 4 330
    Points
    4 330

    Par défaut

    bon je vais donc vous mettre sur la voie pour que l'on rentre dans le vif du sujet qui m'interesse.
    le défi:
    je voudrais une requete qui me permute le 6ème enregistrement avec le 4ème à partir de cette table
    je donne des numéros d'enregistrements et dans la table vous en avez pas.
    si vous aviez un index le pb serait facile non?

    alors qui peut me donner une requete qui donne un indice par enregistrement?
    cela serait utile ca non, Starec?

    jpcheck> je me contente moi aussi du vba fourni.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •