Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1530 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Execution SQL sous VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Execution SQL sous VBA

n°1552545
DarkKnife
Posté le 02-05-2007 à 18:45:41  profilanswer
 

Salut ! voila ça fait 5 heures que je bosse sur un petit projet pour mon BAC.
 
j'ai crée un formulaire login + mot de passe, je possède une base utilisateur avec 3champs ( Num, login, password)
le problème se pose dans le code.
 
 
 
Private Sub btn_connexion_Click()
 Dim db As DAO.Database
 Dim rst As DAO.Recordset
 Dim fld As DAO.Field
 Dim sSQL As String
 Dim login As String
 Dim pass As String
 
    'attribution valeurs
     
    login = [txt_login]
    pass = [txt_password]
     
    ' Ouverture de la base de données
    Set db = DBEngine.OpenDatabase("C:\Documents and Settings\DarkKnife\Bureau\appFormation.mdb" )
    Set rst = CurrentDb.OpenRecordSet("utilisateur" )
     sSQL = "Select num from utilisateur where login='" & Me.txt_login & "' And password='" & Me.txt_password & "'"
     
    ' Ouverture du recordset
    Set rst = db.OpenRecordSet(sSQL, dbOpenForwardOnly, dbReadOnly)
     
    'Conditionnel
     
    If sSQL <> "'" Then
    MsgBox ("Accés Autorisé '" & sSQL & "'" )
    End If
     
        If sSQL = "" Then
    MsgBox ("Accès Refusé" )
    End If
 
    ' Fermeture du Recordset
    rst.Close
End Sub
 
 
 
2 choses : - je me doute que les conditionnelles sont mauvaises !
               - le résultat de sSQL est : "Select num from utilisateur where login='" & Me.txt_login & "' And password='" & Me.txt_password & "'"
     
 ce qui veut dire qui n'a pas exécuter la requête !
 
J'espère que vous arriverez a m'aider et que j'ai était assez clair.

mood
Publicité
Posté le 02-05-2007 à 18:45:41  profilanswer
 

n°1552632
olivthill
Posté le 02-05-2007 à 21:41:50  profilanswer
 

Le résultat se trouve dans rst, pas dans sSQL, qui ne contient que la requête.
Donc, après le OpenRecordSet, on récupère le contenu du champ par :

If (rst.EOF) Then
  MsgBox("Enregistremnet non trouvé" )
Else
   MsgBox("Le numero est :" & Cstr(rst!num) & "." )
End-If

N.B. J'ai supposé que le numéro était un nombre, et je l'ai converti en chaine par CStr() pour l'affichage uniquement.

n°1555089
DarkKnife
Posté le 03-05-2007 à 22:10:39  profilanswer
 

ok ! merci ça tiens la route !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Execution SQL sous VBA

 

Sujets relatifs
[SQL] ImbricationAjax // Ordre d'execution // Gros soucis
[java] "petit" problème à l'exécutionAfficher l'execution d'un script bash sur page php
import gros fichier SQL dans Mysql[Résolu] Exécution de Visual Studio lors de crash des applis ?!
Programmes VBAVBA - Détecter commande "Imprimer" dans Excel
Prob : Type de données VB6 et SQL Server[Résolu] Désactiver la notification d'exécution de requête SQL
Plus de sujets relatifs à : Execution SQL sous VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR