Ce projet m'a permis de connecter mon formulaire avec une table d'une base de données Oracle 9i et d'exécuter un ficher batch.
Source / Exemple :
Dim cn As New ADODB.Connection
Dim uti As New ADODB.Recordset
Dim sql As String
Dim zsauv
Sub connexion()
'Connexion avec la base Altbank
Set cn = New ADODB.Connection
cn.Open "Provider=MSDAORA.1;Password=bankafbcd30061979;User ID=altbank;Data Source=Altbank;Persist Security Info=True"
End Sub
Sub verif_CboNomUt()
'Vérification du contenu du combo
If CboNomUt.Text = "" Then
MsgBox "Choisir un nom d'utilisateur dans la liste avant de continuer svp!", vbInformation, "Déconnexion Altbank"
CboNomUt.SetFocus
Else
TxtPswd.Text = ""
TxtPswd.SetFocus
End If
End Sub
Sub valid_MotPasse()
If TxtPswd.Text = "" Then
If CboNomUt.Text = "" Then
MsgBox "Choisir d'abord le nom d'utilisateur svp.", vbInformation, "Déconnexion Altbank"
CboNomUt.SetFocus
Else
MsgBox "Le mot de passe doit être renseigné!", vbInformation, "Déconnexion Altbank"
TxtPswd.SetFocus
End If
Else
CmdValider.SetFocus
End If
End Sub
Private Sub CboNomUt_GotFocus()
'Désactivation de certains contrôles
LblUt.Caption = ""
Frame2.Enabled = False
TxtPswd.Text = ""
End Sub
Private Sub CboNomUt_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call verif_CboNomUt
End If
End Sub
Private Sub CboNomUt_Validate(Cancel As Boolean)
Call verif_CboNomUt
End Sub
Private Sub CmdAnnuler_Click()
Dim rep1
Dim rep2
rep1 = MsgBox("Etes-vous sûr de vouloir abandonner?", vbCritical + vbYesNo, "Déconnexion Altbank")
If rep1 = vbYes Then
MsgBox "A la prochaine!!!", vbExclamation, "Déconnexion Altbank"
End
Else
If rep1 = vbNo Then
rep2 = MsgBox("Continuer avec le même utilisateur?", vbYesNo, "Déconnexion Altbank")
Select Case rep2
Case Is = vbYes
CmdValider.SetFocus
Exit Sub
Case Is = vbNo
CboNomUt = ""
TxtPswd = ""
CboNomUt.SetFocus
Exit Sub
End Select
End If
End If
End Sub
Private Sub CmdNon_Click()
MsgBox "Aucun utilisateur n'a été déconnecté!", vbInformation, "A la prochaine!"
End
End Sub
Private Sub CmdOui_Click()
Dim EtatCon As String
Dim rep
'Déconnexion proprement dite
rep = MsgBox("Etes-vous sûr de vouloir déconnecter cet utilisateur?", vbExclamation + vbYesNo, "Déconnexion Altbank")
If rep = vbYes Then
Set uti = Nothing
sql = "select * from utilisateur where coduti='" & CboNomUt & "'"
uti.CursorType = adOpenKeyset
uti.CursorLocation = adUseClient
uti.LockType = adLockOptimistic
uti.Open sql, cn, , , adCmdText
On Error Resume Next
Select Case uti!connecter
Case Is = "O"
uti!connecter = "N"
uti.Update
EtatCon = "ok"
Case Is = "N"
MsgBox "Cet utilisateur n'a pas besoin d'être déconnecté et peut donc travailler avec Altbank.", vbInformation, "Déconnexion Altbank"
End
End Select
uti.Close
'Vérification de l'effectivité de la déconnexion
If EtatCon = "ok" Then
MsgBox "L'utilisateur a été déconnecté avec succcès. Il peut continuer à travailler dans Altbank!!!", _
vbInformation, "Déconnexion Altbank"
End
End If
End If
If rep = vbNo Then
MsgBox "L'utilisateur n'a pas été déconnecté!", vbInformation, "Déconnexion Altbank"
End
End If
End Sub
Private Sub CmdValider_Click()
'Arrêt du processus altbank
Dim FinProcessus As Integer
FinProcessus = Shell("C:\DeconAlt\ArretAltbank.bat", vbHide)
Set uti = Nothing
sql = "select * from utilisateur where coduti='" & CboNomUt & "'"
uti.CursorType = adOpenKeyset
uti.CursorLocation = adUseClient
uti.LockType = adLockReadOnly
uti.Open sql, cn, , , adCmdText
On Error Resume Next
While Not uti.EOF
If CboNomUt.Text = "" Or TxtPswd.Text = "" Then
MsgBox "Le nom d'utilisateur et le mot de passe doivent être renseignés pour valider.", vbInformation, "Déconnexion Altbank"
CboNomUt.Text = ""
TxtPswd.Text = ""
CboNomUt.SetFocus
Exit Sub
Else
If CboNomUt.Text = uti!coduti And TxtPswd.Text = "altbank" Then
GoTo Valider
Else
GoTo NonValider
End If
End If
Wend
'Activation du frame2 et affichage du nom de l'utilisateur à déconnecter
Valider:
Frame2.Enabled = True
LblUt.Caption = uti!nom
CmdOui.SetFocus
Exit Sub
'Mot de passe non valide
NonValider:
zsauv = zsauv + 1
MsgBox "Ce mot de passe ne vous donne pas le pouvoir de déconnecter un utilisateur!!!", vbCritical, "Déconnexion Altbank"
If zsauv = 3 Then
MsgBox "Vous n'êtes pas habilité à utiliser ce logiciel. Contactez l'Administrateur svp!!!", vbExclamation, "Attention"
End
Else
CboNomUt.Text = ""
TxtPswd.Text = ""
CboNomUt.SetFocus
End If
Exit Sub
End Sub
Private Sub Form_Load()
'Désactivation de certains contrôles
Frame2.Enabled = False
'Ouverture de la connexion
Call connexion
'Initialisation du jeu d'enregistrements des codes utilisateurs
Set uti = Nothing
sql = "select coduti from utilisateur where coduti not in ('long','wata','deja','AUTO','adm')"
uti.CursorType = adOpenStatic
uti.CursorLocation = adUseClient
uti.LockType = adLockOptimistic
uti.Open sql, cn, , , adCmdText
'Chargement des codes utilisateurs dans le combo
While uti.EOF = False
CboNomUt.AddItem uti!coduti
uti.MoveNext
Wend
End Sub
Private Sub TxtPswd_GotFocus()
'Désactivation de certains contrôles
LblUt.Caption = ""
Frame2.Enabled = False
TxtPswd.Text = ""
End Sub
Private Sub TxtPswd_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call valid_MotPasse
End If
End Sub
Private Sub TxtPswd_LostFocus()
Call valid_MotPasse
End Sub
Private Sub TxtPswd_Validate(Cancel As Boolean)
Call valid_MotPasse
End Sub
Conclusion :
Je crois que cela pourrait aider d'autres personnes et bon encodage chers amis.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.