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

WinDev Discussion :

Fenêtre affiche le mauvais enregistrement


Sujet :

WinDev

  1. #1
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut Fenêtre affiche le mauvais enregistrement
    Salut à tous
    Je développe un logiciel de gestion médical (windev 25) :

    1) Analyse (Fichier Patient) avec rubrique date de naissance (clé avec doublons)
    2) Fenêtre (Liste des patients) avec bouton (Dossier médical)
    3) Fenêtre (Dossier médical) avec des fenêtres internes

    Le logiciel fonctionne bien, mais le problème survient uniquement lorsque j’ai des enregistrements avec une même date de naissance

    Lors de l'ajout d'un nouveau patient qui a une même date de naissance : si je veux ouvrir le dossier du (patient 01) sur la liste : la fenêtre (Dossier médical) s'ouvre avec le mauvais enregistrement (patient 03)

    Comment résoudre ce problème, merci


    Nom : 01.jpg
Affichages : 145
Taille : 84,6 Ko


    Nom : 02.jpg
Affichages : 118
Taille : 106,5 Ko



    Nom : 03.jpg
Affichages : 135
Taille : 67,1 Ko



    Nom : 04.jpg
Affichages : 135
Taille : 102,7 Ko



    Nom : 05.jpg
Affichages : 140
Taille : 89,3 Ko



    Nom : 06.jpg
Affichages : 145
Taille : 77,2 Ko

  2. #2
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 425
    Billets dans le blog
    1
    Par défaut
    Salut
    Avant le hlitrecherchepremier
    Comment tu fais pour récupérer l'id patient sélectionné ?
    As tu fais un info de col id patient pour vérifier que s'était le bon id ?
    As tu un champ caché dans ta table qui contient celui-ci ?
    De plus, on n'a pas les détails de ta table de ta première image.

  3. #3
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 930
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu passe en paramètre une chaine alors qu'on attend un entier, ton HLitRecherchePremier se fait donc sur 0
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  4. #4
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par popoy Voir le message
    Salut
    Avant le hlitrecherchepremier
    Comment tu fais pour récupérer l'id patient sélectionné ?
    As tu fais un info de col id patient pour vérifier que s'était le bon id ?
    As tu un champ caché dans ta table qui contient celui-ci ?
    De plus, on n'a pas les détails de ta table de ta première image.

    Voici la description du champ (Table Req recherche patient) qui affiche la liste des patients


    Nom : 07.jpg
Affichages : 114
Taille : 92,8 Ko

  5. #5
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Tu passe en paramètre une chaine alors qu'on attend un entier, ton HLitRecherchePremier se fait donc sur 0

    le code fonctionne très bien mais le problème survient uniquement lorsque les dates de naissance sont identiques

    on dirait que hlitrecherche reste bloqué sur le dernier enregistrement (patient 03)

    Probleme de doublon ?

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 930
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par UBT MSHT Voir le message
    le code fonctionne très bien
    C'est un pur hasard. Dans ce cas, le cast se passe bien ce n'est malheureusement pas toujours le cas.

    A priori tu n'exécute pas ta requête avant l'affichage de ton champ table.
    Un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    REQ_Patient.pPatient=Patient.PK_Patient
    TableAffiche(TABLE_Patients,taRéExécuteRequête)
    ...
    Par ailleurs, une chose m'étonne, c'est la position de ton TableAffiche. Il ne s'exécute qu'après la fermeture de ta fenêtre "FEN_DossierMédical".

    Petites remarques
    1-Tu utilises une colonne cachée COL_ID_Patient. Je suppose qu'elle te sers à récupérer la PK de ta table "Patient" via TABLE_Patients.COL_ID_Patient. Cette méthode est obsolète avec Windev. Il suffit de remplir correctement la combo "Rubrique mémorisée"
    2-Tu utilises une colonne Age_P, elle est inutile dans la mesure où l'on trouve l'âge grâce à la date de naissance, qui plus est, cette donnée risque de ne pas être à jour le lendemain de l'anniversaire. Violation de 1FN, l'attribut n'est pas constant dans le temps.
    3-Pourquoi utiliser HTrouve alors que tu utilises HLitRecherchePremier qui renvoie le même résultat.

    Par ailleurs évite les copies écran de ton code utilise un Copier/Coller balisé (Bouton #.)

    A tout hasard peut on avoir le code de ta requête
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 497
    Par défaut
    Bonjour,

    Outre les remarques dans les réponses déjà fournies, j'ai 2 choses :
    - As tu mis un point d'arrêt au niveau du Si Htrouve() et regardé sur quel enregistrement est positionné Patient ?
    - Si tu ne trouves pas, tu mets un Info(). Ce qui veut dire que ce n'est pas "grave". Sauf que ce n'est pas normal de ne pas le trouver. Dans ce cas on met soit un Avertissement() soit un Erreur() et on traite le message d'erreur.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  8. #8
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    C'est un pur hasard. Dans ce cas, le cast se passe bien ce n'est malheureusement pas toujours le cas.

    A priori tu n'exécute pas ta requête avant l'affichage de ton champ table.
    Un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    REQ_Patient.pPatient=Patient.PK_Patient
    TableAffiche(TABLE_Patients,taRéExécuteRequête)
    ...
    Par ailleurs, une chose m'étonne, c'est la position de ton TableAffiche. Il ne s'exécute qu'après la fermeture de ta fenêtre "FEN_DossierMédical".

    Petites remarques
    1-Tu utilises une colonne cachée COL_ID_Patient. Je suppose qu'elle te sers à récupérer la PK de ta table "Patient" via TABLE_Patients.COL_ID_Patient. Cette méthode est obsolète avec Windev. Il suffit de remplir correctement la combo "Rubrique mémorisée"
    2-Tu utilises une colonne Age_P, elle est inutile dans la mesure où l'on trouve l'âge grâce à la date de naissance, qui plus est, cette donnée risque de ne pas être à jour le lendemain de l'anniversaire. Violation de 1FN, l'attribut n'est pas constant dans le temps.
    3-Pourquoi utiliser HTrouve alors que tu utilises HLitRecherchePremier qui renvoie le même résultat.

    Par ailleurs évite les copies écran de ton code utilise un Copier/Coller balisé (Bouton #.)

    A tout hasard peut on avoir le code de ta requête

    Bonsoir
    Et merci pour vos conseils

    J’ai fait quelques modifications sur les codes


    FEN_Dossier_Medical
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FEN_Dossier_Medical
     
    Déclarations globales de FEN_Dossier_Medical
    FichierVersEcran(FEN_Dossier_Medical)
     
    Fin d’initialisation de FEN_Dossier_Medical
    ChangeFenêtreSource(CFI_Dossier_Médical,FI_Consultation)

    Bouton Dossier_Medical
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Bouton Dossier_Medical
    HLitRecherchePremier(Patient,ID_Patient,TABLE_REQ_Recherche_Patient)
     
    SI HTrouve(Patient) = Vrai ALORS
    	Ouvre(FEN_Dossier_Medical)
    SINON
    	Info("Patient non trouvé")
    FIN

    Requête (REQ Recherche patient)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     requête (REQ Recherche patient)
    SELECT 
    	Patient.ID_Patient AS ID_Patient,	
    	Patient.Numero_Dossier AS Numero_Dossier,	
    	Patient.Patient AS Patient_Pa
    FROM 
    	Patient
    WHERE 
    	Patient.Numero_Dossier LIKE %{ParamNumero_Dossier}%
    	OR	Patient.Patient LIKE %{ParamPatient_Pa}%
    	OR	Patient.ID_Patient LIKE %{ParamID_Patient}%
    ORDER BY 
    	Patient_Pa ASC




    Nom : REQ.png
Affichages : 91
Taille : 20,9 Ko

  9. #9
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour,

    Outre les remarques dans les réponses déjà fournies, j'ai 2 choses :
    - As tu mis un point d'arrêt au niveau du Si Htrouve() et regardé sur quel enregistrement est positionné Patient ?
    - Si tu ne trouves pas, tu mets un Info(). Ce qui veut dire que ce n'est pas "grave". Sauf que ce n'est pas normal de ne pas le trouver. Dans ce cas on met soit un Avertissement() soit un Erreur() et on traite le message d'erreur.
    le code semble fonctionner normalement

  10. #10
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Lors des différentes essais et vérification de l’analyse, j’ai remarqué une sorte de BLOCAGE de l’ID patient

    Par Exemple :si je manipule les boutons de la fenêtre dossier médical du patient 01 ( ID = 93 ) , l’enregistrement dans la base de données se fait avec l’ID du patient 03 ( ID = 95 )








    Nom : Ays.png
Affichages : 87
Taille : 38,1 Ko

  11. #11
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 497
    Par défaut
    Citation Envoyé par UBT MSHT Voir le message
    le code semble fonctionner normalement
    Oui, il trouve toujours quelque chose. Mais, tu ne traites pas le cas, où ça ne fonctionne pas. C'est un réflexe à avoir que de traiter les soucis qui peuvent se produire.

    Je ne comprends pas ce code : HLitRecherchePremier(Patient,ID_Patient,TABLE_REQ_Recherche_Patient). Pour moi, la valeur de TABLE_REQ_Recherche_Patient est celle du numéro de ligne de la table sélectionnée, pas celui de l'id du patient.

    Autre conseil : essaye de limiter l'utilisation des LIKE dans tes requêtes. Aujourd'hui, tu as 20 enregistrements. Si ta table (au sens fichier) en compte 1 million, ça va être lent.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 930
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Pour moi, la valeur de TABLE_REQ_Recherche_Patient est celle du numéro de ligne de la table sélectionnée, pas celui de l'id du patient.
    Sauf si la valeur mémorisée est la PK du patient. cf ma "petite remarque" 1 supra, concernant la colonne cachée COL_ID
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  13. #13
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 497
    Par défaut
    Ha, oui, je l'avais loupée celle là

    En tout cas, je n'ai pas eu de réponse quant au contenu de PATIENT, après le HlitRecherchePremier().
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  14. #14
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 091
    Par défaut
    Citation Envoyé par frenchsting Voir le message

    Autre conseil : essaye de limiter l'utilisation des LIKE dans tes requêtes. Aujourd'hui, tu as 20 enregistrements. Si ta table (au sens fichier) en compte 1 million, ça va être lent.
    Cabinet médical en Inde (à Delhi) ?
    Parce que 1 million de patients il va falloir qu'ils le soient.

    Bon, après cette intervention de mauvais aloi je vous souhaite la bonne journée.

    PS :
    @UBT MSHT, frenchsting a raison, bien entendu.

  15. #15
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 196
    Par défaut
    WHERE
    Patient.Numero_Dossier LIKE %{ParamNumero_Dossier}%
    OR Patient.Patient LIKE %{ParamPatient_Pa}%
    OR Patient.ID_Patient LIKE %{ParamID_Patient}%

    Je déteste cette syntaxe avec les OR.
    Peut-être que Windev accepte, et qu'il sait gérer cela. C'est à dire que si on donne seulement le paramètre 'N° dossier' par exemple, Windev transforme la requête, et fait bien le filtre uniquement sur N° dossier, sans prendre en compte les 2 OR qui suivent.
    Peut-être, admettons.
    Et donc, dans l'écran, selon que tu renseignes tel ou tel champ ... il va adapter la requête.
    Mais si par exemple tu donne un nom de patient et un Id_Patient, le programme va faire un OR, il va récupérer les lignes qui ont Soit le bon nom de patient, soit le bon ID. Donc plusieurs lignes. Et comme tu récupères uniquement la 1ère ligne, tu récupères un patient au hasard parmi ceux qui ont le même nom.

    Remplace les OR par des AND. Je pense que ça va marcher. Ca ne va toujours pas me plaire, mais c'est secondaire.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  16. #16
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 930
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par UBT MSHT Voir le message
    Par Exemple :si je manipule les boutons de la fenêtre dossier médical du patient 01 ( ID = 93 ) , l’enregistrement dans la base de données se fait avec l’ID du patient 03 ( ID = 95 )
    Pourrait on avoir le code ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  17. #17
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Ha, oui, je l'avais loupée celle là

    En tout cas, je n'ai pas eu de réponse quant au contenu de PATIENT, après le HlitRecherchePremier().

    Merci pour vos réponses et vos conseils

    j'ai modifier le code plusieurs fois :



    Bouton Dossier_Medical

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HLitRecherchePremier(Patient,Numero_Dossier,TABLE_REQ_Recherche_Patient)
    Ouvre(FEN_Dossier_Medical)

    Requête (REQ Recherche patient) : Jai retirer l'id patient de la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 
    	Patient.Numero_Dossier AS Numero_Dossier,	
    	Patient.Patient AS Patient_Pa
    FROM 
    	Patient
    WHERE 
    	Patient.Numero_Dossier LIKE %{ParamNumero_Dossier}%
    	OR	Patient.Patient LIKE %{ParamPatient_Pa}%
    ORDER BY 
    	Patient_Pa ASC

    mais le problème persiste toujours : la fenêtre (Dossier Médical) reste bloquée avec l'ID du patient 03 (ID= 95) , si je modifie la date de naissance la fenêtre fonctionne bien


    Nom : Ays.png
Affichages : 46
Taille : 38,1 Ko



    je ne comprend pas le problème entre les 2 rubriques (ID patient) et (Naissance) ???

  18. #18
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 497
    Par défaut
    Bonjour,

    Je viens de voir que tu as des fenêtres internes. N'aurais tu pas décoché la case "Contexte HSQL indépendant" (ongle détail de la description de la fenêtre interne en question) ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  19. #19
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    WHERE
    Patient.Numero_Dossier LIKE %{ParamNumero_Dossier}%
    OR Patient.Patient LIKE %{ParamPatient_Pa}%
    OR Patient.ID_Patient LIKE %{ParamID_Patient}%

    Je déteste cette syntaxe avec les OR.
    Peut-être que Windev accepte, et qu'il sait gérer cela. C'est à dire que si on donne seulement le paramètre 'N° dossier' par exemple, Windev transforme la requête, et fait bien le filtre uniquement sur N° dossier, sans prendre en compte les 2 OR qui suivent.
    Peut-être, admettons.
    Et donc, dans l'écran, selon que tu renseignes tel ou tel champ ... il va adapter la requête.
    Mais si par exemple tu donne un nom de patient et un Id_Patient, le programme va faire un OR, il va récupérer les lignes qui ont Soit le bon nom de patient, soit le bon ID. Donc plusieurs lignes. Et comme tu récupères uniquement la 1ère ligne, tu récupères un patient au hasard parmi ceux qui ont le même nom.

    Remplace les OR par des AND. Je pense que ça va marcher. Ca ne va toujours pas me plaire, mais c'est secondaire.

    Bonjour

    j'ai modifié la requête et j'ai retire (l'ID patient)

    mais je doit laisser les autres paramètre (OR) : la recherche s'effectue sur la rubrique (Patient) ou (Numéro dossier) pour faciliter la tache de l'utilisateur

    Nom : Capture d’écran 2025-04-01 143315.png
Affichages : 48
Taille : 19,2 Ko


    ce que je ne comprends pas , c'est le blocage de la fenêtre (Dossier Médical) avec l'ID du patient lorsque les dates de naissance sont identiques

    si je modifie la date de naissance : la fenêtre fonctionne bien sans aucun problème

  20. #20
    Membre habitué
    Homme Profil pro
    THJ
    Inscrit en
    Mars 2025
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : THJ

    Informations forums :
    Inscription : Mars 2025
    Messages : 14
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Pourrait on avoir le code ?
    toutes les manipulations des boutons et les différents champ de la fenêtre (dossier médical) sont bloqués avec l'ID

Discussions similaires

  1. [SQL] Afficher date d'enregistrement
    Par citadelle dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/06/2006, 18h20
  2. [VBA-A]Afficher les derniers enregistrements
    Par Dyopaze dans le forum VBA Access
    Réponses: 6
    Dernier message: 06/06/2006, 08h32
  3. Réponses: 3
    Dernier message: 02/01/2006, 23h17
  4. Afficher tous les enregistrements d'une table
    Par bertrand_declerck dans le forum QuickReport
    Réponses: 2
    Dernier message: 08/07/2005, 08h35
  5. [crytals report] afficher le dernier enregistrement
    Par bobwilson dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 22/02/2005, 12h14

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