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

VB 6 et antérieur Discussion :

Qui peut me traduire ce code?


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut Qui peut me traduire ce code?
    Bonjour,
    Bonjour,
    Je cherche un code qui me permet de faire sortir dans un textbox les noms des patients qui ont un rendez-vous aujourd'hui. Sachant que ma table contient les champs suivants : ( nom - prénom - âge - rendez-vous)

    Je cherche un code comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set RS = New ADODB.Recordset
    RS.Open "select * from patient where (nom) correspond a la date d'aujourd'hui dans le champ (rendez-vous), DB, adOpenStatic, adLockOptimistic
           If RS.RecordCount > 0 Then
        Text1.text = patients dont le rendez-vous est aujourd'hui.
    End Sub
    merci

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Il te faut une requete du type select * from patient where [rendez-vous]= DateDuJourLe problème étant d'avoir la notion DateDuJour de forme correcte.

    Sur quel type de base travaille-tu ?

    Le champ Rendez-vous est de quel type dans ta base ?
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 143
    Points
    17 143
    Par défaut
    Salut

    Informations complémentaires,
    FAQ Visual Basic
    En s'inspirant de Pourquoi ma requête, qui a un critère sur une date, ne me renvoie aucun enregistrement ?
    Le code pourrait ressembler a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Msg
    rs.Open "SELECT nom, prénom from patient WHERE (rendez-vous = #" & Format(dateSaisie, "mm/dd/yyyy") & "#)", DB, adOpenStatic, adLockOptimistic
    If Not rs.EOF Then
        Do While Not rs.EOF
            If Msg <> "" Then Msg = Msg & ", " '& vbNewLine
            Msg = Msg & rs.Fields("nom") & " " & rs.Fields("prénom")
            rs.MoveNext
        Loop
        Text1.Text = Msg
     
        Else
        Text1.Text = "Pas de rendez vous aujoud'hui"
    End If
    rs.Close
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Il te faut une requete du type select * from patient where [rendez-vous]= DateDuJourLe problème étant d'avoir la notion DateDuJour de forme correcte.

    Sur quel type de base travaille-tu ?

    Le champ Rendez-vous est de quel type dans ta base ?
    merci de votre réponse
    je travaille sur Microsoft Office Access Database (.mdb)
    Le champ Rendez-vous est de type text mais je peux le changer au type date.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    Informations complémentaires,
    FAQ Visual Basic
    En s'inspirant de Pourquoi ma requête, qui a un critère sur une date, ne me renvoie aucun enregistrement ?
    Le code pourrait ressembler a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Msg
    rs.Open "SELECT nom, prénom from patient WHERE (rendez-vous = #" & Format(dateSaisie, "mm/dd/yyyy") & "#)", DB, adOpenStatic, adLockOptimistic
    If Not rs.EOF Then
        Do While Not rs.EOF
            If Msg <> "" Then Msg = Msg & ", " '& vbNewLine
            Msg = Msg & rs.Fields("nom") & " " & rs.Fields("prénom")
            rs.MoveNext
        Loop
        Text1.Text = Msg
     
        Else
        Text1.Text = "Pas de rendez vous aujoud'hui"
    End If
    rs.Close
    Merci infiniment Mr ProgElecT de votre aide
    Mais malheureusement ce code a envoyé des erreurs de syntaxe aussi bien que (dateSaisie) variable not defined.
    merci encore de votre souci

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 143
    Points
    17 143
    Par défaut
    Pour utiliser cette requête SQL, il est impératif que le champs rendez-vous soit de type date/time
    dateSaisie était l'exemple proposé dans la FAQ.
    dateSaisie pourrait être la variable implémenté par l'utilisateur du programme pour retrouver/savoir quel rendez vous pour un jours autre que la date du jour.
    Tu peux le remplacer par Date (renvoie la date système en cours) puisque le but est d'avoir les rendez vous du jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rs.Open "SELECT nom, [prénom] from patient WHERE ([rendez-vous] = #" & Format(Date, "mm/dd/yyyy") & "#)", DB, adOpenStatic, adLockOptimistic
    Tu peux remarquer que prénom et rendez-vous sont entre crochets car il contiennent tout les 2 des caractères (é et -) qu'il faut indiquer au moteur jet comme des caractères littéraux.
    Pour ma part je préconise de toujours éviter d'utiliser les caractères accentués et opérationnels dans les noms de champs d'une table de BD, le seul signe ne posant pas de problème est le signe _ .
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    si tu garde le champ au format texte, tu peux utilisé la requete donnée par ProgElecT en supprimant les # encadrant la date mise en texte.


    Je confirme ce que dis ProgElecT concernant le nom des champs. Généralement on évite les caractères accentués, les caractères exotiques, de ponctuation ou d'opération, les espaces. Et moi, personellement, j'évite aussi le _

    Et je confirme pour le type d'un champ date aussi, il est vivement recommandé de toujours l'avoir en format Date plutot que string, ça évite bien des problèmes et des manipulations surtout lorsqu'il faut y faire des calculs dessus.

    Malheureusement, stocker une date sous forme de texte est une habitude encore largement répandue (et parfois même enseignée).
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Je vous remercie beaucoup messieurs.
    J'ai pris en considération vos suggestions concernant les caractères accentués (nom, prenom,rendez) et le format du champ (rendez-vous) qui est devenu de type date.
    j'ai essayé le code de Mr ProgElecT mais il m'a envoyé ce message d'érreu:
    erreur 3265
    Impossible de trouver l'objet dans la collection correspondant au nom ou a la référence ordinale demandé.
    J'ai supprimé une patrtie du code et ça marché tres bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Msg = Msg & rs.Fields("nom")
    mais j'aimerai bien avoir le nom et le prenom
    merci encore mille fois

  9. #9
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Soit tu a enlevé le champ nom de ton select, il n'est donc pas retourné dans les résultats, soit tu n'utilise pas exactement le nom du champ tel qu'il est enregistré dans la base (et donc retourné dans les résultats)
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Oh Merci beaucoup messieurs
    Vous etes tres genereux
    c'est résolu
    Il reste a savoir s'il est possible de faire numéroter les lignes dans la textbox.
    Cordialement

  11. #11
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Il te suffit de mettre un compteur dans la boucle :

    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
    Dim Msg
    Dim i
    rs.Open "SELECT nom, prénom from patient WHERE (rendez-vous = #" & Format(dateSaisie, "mm/dd/yyyy") & "#)", DB, adOpenStatic, adLockOptimistic
    If Not rs.EOF Then
        i = 1
        Do While Not rs.EOF
            If Msg <> "" Then Msg = Msg & ", " '& vbNewLine
            Msg = Msg & i & " " & rs.Fields("nom") & " " & rs.Fields("prénom")
            rs.MoveNext
    	i = i + 1
        Loop
        Text1.Text = Msg
     
        Else
        Text1.Text = "Pas de rendez vous aujoud'hui"
    End If
    rs.Close
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Merci pour la réponse
    Voici mon code que j'ai copié de mon application:
    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
     
    Dim Msg
    Dim i
    Set RS = New ADODB.Recordset
    RS.Open "SELECT nom, prenom from patient WHERE (rendez= #" & Format(Date, "mm/dd/yyyy") & "#)", DB, adOpenStatic, adLockOptimistic
    If Not RS.EOF Then
    i = 1
        Do While Not RS.EOF
            If Msg <> "" Then Msg = Msg & vbNewLine
            Msg = Msg & RS.Fields("nom") & " " & RS.Fields("prenom")
            RS.MoveNext
            i = i + 1
        Loop
        Text1.Text = Msg
     
        Else
     
         Text1.Text = "Pas de rendez vous aujoud'hui"
     
    End If
     
    RS.Close
     
    End Sub
    Les numéros n'apparaissent plus. Il y'a que les noms et prénoms pourtant tout semble bien dans le code.
    Cordialement

  13. #13
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Nan, regarde la ligne 10 de ton code par rapport à la ligne 8 du mien
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Excusez moi C'est de ma faute
    Merci mille fois
    Tout est réglé.

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

Discussions similaires

  1. qui peut m'expliquer ce bout de code python ?
    Par khadi8 dans le forum Général Python
    Réponses: 3
    Dernier message: 22/01/2014, 14h16
  2. [DATA] Code qui peut lancer la query ou ne pas la lancer
    Par benvanbelgie dans le forum SAS Base
    Réponses: 3
    Dernier message: 04/06/2013, 16h28
  3. Comment faire un code qui peut limiter l'installation?
    Par Zizou7 dans le forum Débuter
    Réponses: 5
    Dernier message: 29/06/2010, 14h31

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