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 :

Recherche d'un chiffre dans une chaine de nombres


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut [Requête] Selection d'un chiffre dans une chaine
    Bonjour,

    Voila mon problème :
    Je possède deux tables:
    *date:
    date (date)
    correspondance (numérique)

    Ex: date Correspondance
    01/07/06 1
    02/07/06 2
    03/07/06 3
    ....

    *Train
    N° Train (numérique)
    RG (mémo)
    Liaison (Texte)

    Ex:
    N° 10
    RG 01001110000
    Liaison Nantes


    Le RG est une suite de valeur 0 ou 1 qui se traduit par 0 le train ne roule pas et 1 il roule.

    La correspondance de la table date renvoie au numéro du RG.
    Ex:
    02/07/06 (correspondance 2)
    RG :1 (2ème chiffre dans la chaine).

    Je souhaite à partir d'un formulaire saisir ma date(zone de texte), mon train (zone de texte) et voir apparaitre un msg d'erreur s'il ne roule pas (msgbox) et s'il roule voir les liaison dans une listbox.

    Comment faire les liens entre les deux tables etant donné qu'il n'y a pas de clé primaire?
    Comment trouvé la valeur RG selon la date? (fonction len?)

    Merci de votre aide.

    Si je n'ai pas été clair n'hésité pas à demander.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    tu pourrais tester ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    SELECT [*dates].date, [*dates].correspondance, 
    (SELECT Mid([RG],[*dates].correspondance,1)='1'  AS moncar
    FROM [*train]) AS [je roule]
    FROM [*dates];
    Elle est pas belle la vie ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    dans quoi dois-je rentrer cela? dans ma listBox?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    peut-on m'aider svp?

  5. #5
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Non, ceci est une requete en SQL.
    Si tu veux la visualiser dans ACCESS, créé une nouvelle requete, mets toi en affichage SQL (Affichage/SQL) et copie la requete dans la fenetre.
    Si tu veux l'executer automatiquement dans VB, tu devras la mettre dans une commande Docmd.RunSQL

    Si passer par une commande SQL t'effraie, tu peux utiliser la commande DLookup qui est assez simple (F1 pour plus d'explication). La fonction Mid(String,Début, Longueur) va te permettre de sélectionner la valeur que tu veux dans ton RG.

    Bon courage!
    puis et puis et encore . Sinon sans oublier et

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    voici le msg d'erreur qu'il m'affiche suit à ma requête: "cette requête peut retourner au plsu un enregistrement"

    et voila mon code

    SELECT [Date].[Date], [Date].[Correspondance], (SELECT Mid([RG], [Date].Correspondance,1) ='1' AS Essai FROM [Train]) AS Essai2
    FROM [Date];
    quelqu'un à une idée de quoi sa vient?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Personne n'a d'idées........

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Essaie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT train.[N° Train], train.Liaison
    FROM train, [date]
    WHERE ((Mid([train].[RG],[date].[correspondance],1))=1);
    A+

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    oui c'est presque ça. Ici ça me donne toutes les dates ou il circule.

    J'aimerai choisir la date et le train puis qu'il m'affiche la destination si il roule et si ce n'est pas le cas : "ne roule pas"

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Bonjour soltani1 et tous le monde, pourrais-tu (vous) m'aidé sur ma dernière demande? svp

  11. #11
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    A mon Avis la dernière requête te donne les trains qui roulent, ajoute les deux conditions sur le numéro de train et la date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT train.[N° Train], train.Liaison
    FROM train, [date]
    WHERE train.[N° Train]= zone de texte and [date].date = zone de texte
    and Mid([train].[RG],[date].[correspondance],1)=1
    Cette requête te renvoie un enregistrement si le train roule
    Quand tu utilise le recordset
    Tu fais
    rs.movefirst
    if rs.eof()
    'Ne roule pas'
    else
    'tu affiche la liaison'
    endif

    Tu test si c'est la fin de fichier aucun enregistrement n'est envoyé donc le train ne roule pas.

    A+

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    merci soltani1 la requête fonctionne.

    Je vais essayer maintenant d'afficher les résultats dans une listBox.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/03/2015, 17h51
  2. Compter nombre de chiffres dans une chaine
    Par D.Mounir dans le forum Excel
    Réponses: 2
    Dernier message: 18/06/2007, 12h28
  3. recherche d'un mot dans une chaine
    Par meloo dans le forum C++
    Réponses: 5
    Dernier message: 16/01/2007, 17h16
  4. Comment récupérer un chiffre dans une chaîne ?
    Par kenny49 dans le forum Langage
    Réponses: 1
    Dernier message: 16/08/2006, 14h52
  5. Réponses: 4
    Dernier message: 05/06/2006, 12h43

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