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

Macros et VBA Excel Discussion :

Macro connection ODBC vers As400 requete SQL insert


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Par défaut Macro connection ODBC vers As400 requete SQL insert
    Bonjour à tous,

    vous n'etes pas mon dernier espoir mais pas loin :d

    J'ai une erreur dont je n'arrive pas à trouver un historique sur le net :

    Erreur d'execution '-2147467259(80004005)'
    [IBM][PILOTE ODBC System i Access][DB2 for i5/OS]SQL7967 - PREPARE de l'instruction executee
    voici le code ou j'ai l'erreur :

    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
    Dim Conn As String
    Dim UID As String
    Dim PWD As String
    Dim SqlB As String
    Dim cnn As New ADODB.Connection
    Dim objcmd As New ADODB.Command
     
    ...
     
    cnn.Open "DRIVER={Client Access ODBC Driver (32-bit)};UID=" & UID & ";PWD=" & PWD & ";SYSTEM=As400server;DBQ=QGPL ;DFTPKGLIB=QGPL;LANGUAGEID=ENU;PKG=QGPL/DEFAULT(IBM),2,0,1,0,512;TRANSLATE=1;SIGNON=1;"
     
    SqlB = "insert into ....."
     
    objcmd.ActiveConnection = cnn
    objcmd.CommandText = SqlB
    objcmd.Prepared = False
    objcmd.CommandType = adCmdText
     
    objcmd.Execute , adExecuteNoRecords
     
    cnn.Close
    Set cnn = Nothing
    Set objcmd = Nothing
    l'erreur se produit sur la methode execute. et le plus bizarre c'est que lorsque j'ai la fenetre d'erreur si je clique sur Debogage il passe a l'instruction suivante et fait correctement le INsert.

    j'espere avoir ete assez claire et que vous pourrez m'aider...

    cordialement,

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    J'utlise régulièrement le SQL pour manipuler des tables AS400 mais je n'utilise pas d'objet Command pour cela

    Essai sans l'object command en utilisant directement la méthode execute de la connection

    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
    Dim Conn As String
    Dim UID As String
    Dim PWD As String
    Dim SqlB As String
    Dim cnn As New ADODB.Connection
    'Dim objcmd As New ADODB.Command
     
    ...
     
    cnn.Open "DRIVER={Client Access ODBC Driver (32-bit)};UID=" & UID & ";PWD=" & PWD & ";SYSTEM=As400server;DBQ=QGPL ;DFTPKGLIB=QGPL;LANGUAGEID=ENU;PKG=QGPL/DEFAULT(IBM),2,0,1,0,512;TRANSLATE=1;SIGNON=1;"
     
    SqlB = "insert into ....."
     
    cnn.Execute SqlB
     
    'objcmd.ActiveConnection = cnn
    'objcmd.CommandText = SqlB
    'objcmd.Prepared = False
    'objcmd.CommandType = adCmdText
     
    'objcmd.Execute , adExecuteNoRecords
     
    cnn.Close
    Set cnn = Nothing
    'Set objcmd = Nothing

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Par défaut
    Merci beaucoup...

    j'ai exactement la meme erreur :
    Erreur d'execution '-2147467259(80004005)'
    [IBM][PILOTE ODBC System i Access][DB2 for i5/OS]SQL7967 - PREPARE de l'instruction executee
    je clic sur debogage et il fait qd meme l'insert...

    n'y a t il pas moyen de le forcer?

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Désolé, mais je n'ai jamais eu ce problème.

    As tu essayé en créant l'ODBC "AS400' manuellement dans les outils d'administration

    puis en utilisant la connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cnn.Open "DSN=AS400;UID=" & UID & ";PWD=" & PWD

Discussions similaires

  1. [ACCESS] Bouton Requete SQL INSERT INTO
    Par harry le ravi dans le forum VBA Access
    Réponses: 8
    Dernier message: 28/06/2008, 22h33
  2. Erreur de connection ODBC vers Informix
    Par chris81 dans le forum Informix
    Réponses: 1
    Dernier message: 15/02/2008, 17h04
  3. requete sql insert en asp avec variables de session
    Par b_steph_2 dans le forum ASP
    Réponses: 14
    Dernier message: 29/03/2007, 15h28
  4. Syntaxe requete SQL insert into dans VBA
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 12/12/2006, 22h03
  5. [C#] Requete SQL Insert
    Par diaboloche dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/02/2006, 11h01

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