IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

ODBC - Call Failled vers table SQL Server [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut ODBC - Call Failled vers table SQL Server
    Bonjour,

    Je essaye de faire marcher cette requete:
    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
    Set rs = New ADODB.Recordset
    rs.ActiveConnection = CurrentProject.Connection
    Select Case Me.Liste63.ListIndex
        Case -1
            rs.Source = "SELECT * FROM [T_prets_alertes]"
            rs.CursorType = adOpenDynamic
            rs.LockType = adLockOptimistic
            rs.Open
            rs.AddNew
            rs![Pret] = Me.txtPret.Value
            rs![Titre] = Me.txtTitre.Value
            rs![Description] = Me.txtDescription.Value
            rs![D_alerte] = Me.dtDate.Value
        Case Else
            rs.Source = "SELECT * FROM [T_prets_alertes] WHERE Alerte=" & Me.Liste63.Value
            rs.CursorType = adOpenDynamic
            rs.LockType = adLockOptimistic
            rs.Open
            rs![Titre] = Me.txtTitre.Value
            rs![Description] = Me.txtDescription.Value
            rs![D_alerte] = Me.dtDate.Value
    End Select
    rs.Update
    rs.Close
    Mais elle ne marche que dans le cas "Else".
    Le cas "-1" donne "ODBC - Call Failled"

    Est-ce que quelqu'un peut m'aider, svp?
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Je vais supposer que tu es dans une base .mdb et que T_prets_alertes est une table SQL Server, liée par ODBC.
    Ce qui expliquerai le peu de détails du message d'erreur.

    Voici comment essayer d'obtenir plus d'infos sur l'erreur avec DAO.Error :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Dim daoErr As DAO.Error  ' ! Il faut une référénce à DAO
     
    Set rs = New ADODB.Recordset
     
    On Error GoTo ErrH
     
    rs.ActiveConnection = CurrentProject.Connection
    Select Case Me.Liste63.ListIndex
        Case -1
            rs.Source = "SELECT * FROM [T_prets_alertes]"
            rs.CursorType = adOpenDynamic
            rs.LockType = adLockOptimistic
            rs.Open
            rs.AddNew
            rs![Pret] = Me.txtPret.Value
            rs![Titre] = Me.txtTitre.Value
            rs![Description] = Me.txtDescription.Value
            rs![D_alerte] = Me.dtDate.Value
        Case Else
            rs.Source = "SELECT * FROM [T_prets_alertes] WHERE Alerte=" & Me.Liste63.Value
            rs.CursorType = adOpenDynamic
            rs.LockType = adLockOptimistic
            rs.Open
            rs![Titre] = Me.txtTitre.Value
            rs![Description] = Me.txtDescription.Value
            rs![D_alerte] = Me.dtDate.Value
    End Select
    rs.Update
     
    ExitSUB:
    If Not rs Is Nothing Then
       If rs.State <> adStateClosed Then rs.Close
    End If
    Set rs = Nothing
    Exit Sub
     
    ErrH:
    If DBEngine.Errors.Count > 0 Then
       For Each daoErr In DBEngine.Errors
           strErrMsg = strErrMsg & vbCrLf
           strErrMsg = strErrMsg & daoErr.Number & " : " & daoErr.Description
       Next
    Else
       strErrMsg = "Erreur " & Err.Number & " : " & Err.Description
    End If
    If Not rs Is Nothing Then
       If rs.State = adStateOpen Then
          ' Annuler l'opération AddNew ou Edit en cours
          If rs.EditMode <> adEditNone Then rs.CancelUpdate
       End If
    End If
    MsgBox strErrMsg
    Resume ExitSUB
    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Merci pour l'idée LedZeppII,

    Je ne connaissais pas cette méthode pour trouver des erreurs


    En effect, j'ai changé cette table il y a quelques jours, j'ai mis un champ Boolean (Traite), et je l'avais oublié.

    J'ai le mis dans le code
    Et tout marche bien

    PS: J'ai trouvé le problème grace à ta nouvelle message d'erreur "3021 : No current record" et Google!


    Merci beaucoup Led!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008R2] MaJ Données AS400 vers tables SQL Server
    Par Chtulus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/04/2015, 11h04
  2. Insertion de données en paquet vers table SQL Server 2008
    Par zemeilleurofgreg dans le forum VB.NET
    Réponses: 7
    Dernier message: 12/05/2014, 23h10
  3. Réponses: 3
    Dernier message: 20/08/2010, 21h48
  4. Transfert/copie table SQL server 2005 vers 2000
    Par Hepil dans le forum Développement
    Réponses: 3
    Dernier message: 09/12/2009, 11h40
  5. Réponses: 13
    Dernier message: 29/01/2008, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo