Connexion avec vb6 et oracle 9i et exécution d'un fichier batch

Description

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.

Codes Sources

A voir également

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.