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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    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 ?

  3. #3
    Membre confirmé
    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
    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.

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    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
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre confirmé
    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
    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 confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    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 _ .
    :whistle:pourquoi pas, pour remercier, un :plusser: 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 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    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).

  8. #8
    Membre confirmé
    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
    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

+ 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