J'ai le message suivant : "Etat E_FAIL a été renvoyé par le fournisseur de données ou par un autre service" dans mon programme à l'événement form_load.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form_Load()      
Set rstSyscoa = New ADODB.Recordset
    rstSyscoa.Open sqlSyscoa, con, adOpenStatic, adLockOptimistic, adCmdText
    If rstSyscoa.RecordCount > 0 Then
        rstSyscoa.MoveFirst
        ' remplissage du formulaire via la fonction remplirForm
        Call remplirForm
    Else
        inf_userConnecte = strInfoConnecte
        inf_compte = "0 compte(s)"
    End If
End Sub
Au debogage, c'est la ligne rouge qui serait responsable.
Pour information, la requête sql (sqlSyscoa) est la suivante : "Select s.* from t_compte s". Cette requête renvoie 1200 lignes
La fonction permettant d'ouvrir la connexion (con) est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Public con As ADODB.Connection
 
Function OuvrirConnexionMySql() As Object
Dim bCnOk As Boolean
 
On Error GoTo ErrH01
' On suppose par défaut que la connexion est établie
bCnOk = True
' Vérifier si la connexion est active
bCnOk = (con.State = adStateOpen)
' Si elle n'est pas active, libérer l'objet
If (Not bCnOk) Then Set con = Nothing
 
On Error GoTo ErrH
' Etablir la connexion si besoin
If (Not bCnOk) Then
    ' Créer l'objet
    Set con = New ADODB.Connection
    ' Etablir la connexion
    con.CursorLocation = adUseClient
    con.Open "Provider=MSDASQL;" & _
    "Driver={MySQL ODBC 5.3.2 Driver};" & _
    "Server=adresse_ip_du_serveur;" & _
    "Data Source=nom_liaison_odbc;" & _
    "Port=3306;" & _
    "Database=nom_base_de_donnee;" & _
    "User=user;" & _
    "Password=password;" & _
    "Option=16426 "
End If
 
ExitFn:
    ' Retourner l'objet con
    Set OuvrirConnexionMySql = con
    Exit Function
 
ErrH01:
    bCnOk = False
    Resume Next
ErrH:
    Set con = Nothing
    MsgBox "Erreur No." & Err.Number & " : " & Err.description, vbCritical
    Resume ExitFn
End Function
Sur toute l'application j'utilise la même démarche et c'est seulement avec cette requete (ou table) que j'ai ce problème.
Merci de votre aide