VB6 + SQL - VB/VBA/VBS - Programmation
Marsh Posté le 08-02-2005 à 13:17:53
Mais tout à fait tu peux utiliser les droits d'accès du serveur SQL et c'est par ailleurs la meilleure solution je pense.....il te faut simplement écrire la requete d'accès à ta base de données qui hébergent les droits de chaque utilisateurs..
Marsh Posté le 08-02-2005 à 13:33:44
Voici un parti de mon code qui fonctionne :
Private Sub LoginCmd1_Click()
Dim Rs As ADODB.Recordset
Dim Connexion As ADODB.Connection
Dim StrSQL As String
Set Connexion = New ADODB.Connection
Connexion.ConnectionString = "Provider=SqlOleDB;SERVER=Ghost\ESSSE1;Database=Mdp;" & _
"User ID=sa;Password=corentin"
Connexion.Open
Set Rs = New ADODB.Recordset
StrSQL = ("SELECT Login,Password FROM Login WHERE Login = '" & LoginText1 & "' AND password = '" & LoginText2 & "'" )
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open StrSQL, Connexion, adOpenStatic, adLockReadOnly
If Rs.RecordCount <> 1 Then
MsgBox "Mauvais login ou mot de passe !!"
Else
Unload Login
Accueil.Show
End If
End Sub
Comme tu peux le voir, dans mon connectionstring, je lui indique le driver SQL, l'instance SQL, le user ID et le pass. Je met également le nom d'une table. Pour le moment, je lui dit d'aller sur la base Mdp que j'ai crée avec un utilisateur, mais ce que je veux c'est de passer par les utilisateurs SQL. Et ce que je ne comprend pas c'est comment lui dire d'aller prendre les comptes SQL. Car si j'enlève le paramètre Database et que j'éxécute le prog, il me dit : le serveur SQL n'éxiste pas ou son accès est refusé.
Un noowb
Marsh Posté le 08-02-2005 à 13:44:50
tiens un autre exemple:
Public Function essai_connexion(ByRef message As String, ByRef nom_fonction As String) As Boolean
Dim mycon As SqlConnection
Try
mycon = New SqlConnection("Data Source=ADINE-SQL;initial catalog=ADINE_NAV;User ID=xxxx;Password=xxxxxx" )
mycon.Open()
Catch erreur As SqlException
messagebox(erreur.message)
Finally
mycon.Close()
mycon = Nothing
End Try
Return True
End Function
ne pas oublier de mettre Imports System.Data.SqlClient en tete de module..
'ADINE-SQL est le nom du serveur SQL
'ADINE_NAV est le nom de la base de donnée
'il faut bien sur préparer préalablement (sur le serveur) la liste des utilisateurs qui ont acces à cette base
Marsh Posté le 08-02-2005 à 14:47:48
C'est bon j'y suis arrivé... en fait je mettais embrouillé la tête. et voilà ce que j'obtiens à la fin :
Private Sub LoginCmd1_Click()
Dim Rs As ADODB.Recordset
Dim Connexion As ADODB.Connection
Dim StrSQL As String
On Error GoTo ErreurIden
Set Connexion = New ADODB.Connection
Connexion.ConnectionString = "Provider=SqlOleDB;SERVER=Ghost\ESSSE1;Database=" & "Promo 2002-2005" & ";User ID=" & LoginText1 & ";Password=" & LoginText2 & ""
Connexion.Open
Unload Login
Accueil.Show
Exit Sub
ErreurIden:
MsgBox "Mauvais login ou mot de passe !!"
End Sub
Mais par contre j'aimerais te poser une toute dernière question et après je te laisserais
Dans ce même prog, il y a une combobox où je veux mettre les différentes tables sur lesquelles les utilisateurs travailleront, comment faire STP... ? Merci...
Marsh Posté le 08-02-2005 à 11:40:39
Salut à tous,
Je suis actuellement en stage et je dois réaliser une appli qui gére le personnelle de l'entreprise. Au démarrage de l'appli, l'utilisateur devra saisir un log et pass. Et j'aimerais savoir si je peux utiliser les comptes référencés sur le serveur SQL ou si je dois créé une table qui recueilleras tous les comptes.
Si je peux utiliser les comptes de SQL server, pourrait on me dire la marche à suivre.
Pour le moment, je bosse sur une table Mdp où sont regroupés les comptes des utilisateurs. Mais je pense que plus loin je serai bloqué.
Merci d'avance.