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 je suis malade, je ne trouve pas le problème! [ par refaat ] Bonjour à tous.voici mon code:Dim Cnx As New ADODB.Connection    Dim rs As New ADODB.Recordset    Cnx.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driv la requette ne marche pas [ par ingstat ] bonjour tt le monde, j'ai une table ACCESS2003,contenant plusieur champs y compris un champs nomé Date Execution de type date.la connection es Exporter vers word le résultat d' une requete. [ par LIBRE_MAX ] Salut, Voilà ce qui marche: Depuis vb6, j' insère des données dans une feuille Excelavec la méthode CopyFromRecordset.Exemple:'------------------- Compteur [ par spamito ] Salut,Je veux réaliser un compteur des enregistrements mais j'ai un problème avec, voici mon code :conn = New ConnectionWith conn   .Provider = "Micro


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,265 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é.