Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Resultat requete SQl [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (tapas64)

jeudi 29 juillet 2004 à 10:24:27 | Resultat requete SQl

tapas64


Bonjour,
Je programme un logiciel médical qui fonctionne avec une base de données Access
J'ai réalisé l'étape de connexion à l'aide d'une requete sql, qui parcoure les tables Medecin et Identification pour repérer le nom du médecin et voir si le mot de passe (stocké dans la table identification) est le bon.
Mais la table Médecin contient aussi ServiceM, le service auquel appartient le médecin, que je voudrais récupérer au moment de l'identification et afficher dans une textbox.
Voila comment j'ai fait, mais ca ne fonctionne pas. Est-ce que quelqu'un peut m'aider? Merci d'avance

LeNomDuMedecin = Login.Text
LePasseSaisi = MDP.Text

'Recupérer le mot de passe pour établir la connexion
Set rs = db.OpenRecordset("SELECT * FROM [MEDECIN], [IDENTIFICATION] WHERE [MEDECIN].[NomM] = '" + LeNomDuMedecin + "' AND [IDENTIFICATION].[MotDePasseI] = '" + LePasseSaisi + "';", , dbForwardOnly)
Do While Not rs.EOF
rs.MoveNext
Loop
Nb = rs.RecordCount

'Récupérer le nom du service correspondant à ce médecin
Set rs1 = db.OpenRecordset("SELECT [ServiceM] FROM [MEDECIN] WHERE [MEDECIN].[NomM] = '" + LeNomDuMedecin + "';", , dbForwardOnly)
Do While Not rs1.EOF
Fenetre2.MP_Service.Text = rs1!ServiceM
rs1.MoveNext
Loop

'Traiter les cas d'erreur
If Nb = 0 Then
MsgBox ("L'utilisateur n'est pas déclaré!")
Exit Sub
Else
Fenetre2.Show
Unload Me
End If

tapas64

jeudi 29 juillet 2004 à 10:40:46 | Re : Resultat requete SQl

starfighter

Réponse acceptée !
Bonjour, je pense que la requete "SELECT * FROM [MEDECIN], [IDENTIFICATION] WHERE [MEDECIN].[NomM] = '" + LeNomDuMedecin + "' AND [IDENTIFICATION].[MotDePasseI] = '" + LePasseSaisi + "';" n'est pas correcte car la liaison ente [MEDECIN] et [IDENTIFICATION] n'est pas faites on devrais avoir quelque chose du genre :
"SELECT * FROM [MEDECIN] LEFT JOIN [IDENTIFICATION] ON [MEDECIN].[NomM] = [IDENTIFICATION].[NomM] WHERE [MEDECIN].[NomM] = '" + LeNomDuMedecin + "' AND [IDENTIFICATION].[MotDePasseI] = '" + LePasseSaisi + "';"
si bien sur [NomM] est la clé d'intégrité de tes tables.

de plus le nom du service du medecin est deja renvoye par la premiere requete (SELECT * FROM) donc tu n'a pas besoin de refaire un select.

Tu effectu des boucles pour le parcours de tes select, sa me semble incorrecte, normalement un medecin (Nom + Password) se trouve une seul fois dans tes tables, sinon il y a des doublons.

jeudi 29 juillet 2004 à 10:42:00 | Re : Resultat requete SQl

starfighter

Réponse acceptée !
Petit conseil d'optimisation, remplace les + dans tes requetes par & c'est plus rapide

jeudi 29 juillet 2004 à 12:04:54 | Re : Resultat requete SQl

PhilippeE

Fonctionnellement un médecin sans mot de passe ne devrait pas exister (à vérifier avec le cahier des charges), donc il faut faire une jointure interne et non externe (LEFT JOIN)



Cette discussion est classé dans : rs, identification, rs1, medecin, médecin


Répondre à ce message

Sujets en rapport avec ce message

Requete SQL "SELECT * " [ par tapas64 ] Bonjour.J'ai deux tables access, Medecin et Identification construites comme suit:Medecin(CodeM, NomM, ServiceM...)Identification(CodeM, MotDePasseI)V cloner un recordset [ par lezardjet ] Bonjourje veus recopier l'intégralité d'une table dans une autre table.... sous access 2000je me suis inspiré de ce ke j'ai trouvé sur ces forum.. mai afficher le resultat d'une requette [ par ingstat ] bonjour,je afficher le resultat d'une reqette sql,j'ai essayé de le faire dans une datagrid mais je n'ai pas reussi à le faire.ce code tourne mais je DataGrid [ par ingstat ] Bonjour   Ce code ne tourne pas,on m'affiche l'erreur suivante:Le jeu d'enregistrement ne peut pas prendre en compte les signets.L'instruction en roug Aide pour correction de mon code [ par youmba ] Bonjour Chers tousAccess 2007Language VBACode ci-dessousJe veux ajouter un enregisterement dans mon formulaire mais en validant il signale une faute s Problème pour récupérer un champ avec la méthode ADO [ par marcgiraud ] Bonjour,Je recherche un moyen d'affecter a une variable les valeurs que contienne chaque champs de l'enregistrement selectionné.voici mon code actuel Export Excel --> Access sous VBA [ par rabihm ] Bonjour,Je fais une fonction en vba qui va exporter les données d'une colonne d'une feuille excel dans le cchamp corrspondant en Access:Or dans la bou Equivalence Rs.Bookmark = Rs.LastModified avec MySQL [ par yan35 ] Bonjour,J'aimerais trouver l'équivalence de la propriété   .lastModified après un  AddNew et un Update qui permet à l'aide d'un boomark de pointer l'e affectation des valeurs du sql dans le formulaire [ par missarkia ] Ca fait 3 semaines que je suis dessus j'ai recherchée vraiment partout alors svp j'ai vraiment besoin d'aide la.J'ai un formulaire avec une liste déro


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.