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 :

ADO - VBA - Requête INSERT INTO


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut ADO - VBA - Requête INSERT INTO
    Bonjour,

    je viens faire appel à vous car je désespère après quelques heures de recherches...

    J'essaye d'éxécuter une requête d'insertion dans une base Oracle en VBA en utilisant de l'ADO.

    J'arrive à me connecter sur la base sans problèmes, lancer des requêtes SQL et les récupérer dans des recordset.

    En revanche, quand il s'agit d'éxécuter un INSERT INTO, la plupart du temps, cela aboutit sur un gros freeze d'excel et de temps en temps, cela marche mais bizarrement, la valeur que j'ai ajouté est systématiquement placée en tête de la table alors que la clé primaire (qui est un N° d'ID est sensé être le dernier)

    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
     
        Dim Cn As ADODB.Connection
        Dim CP As ADODB.Command
        Dim Rs As ADODB.RecordSet
        Dim connectionString As String
        Dim SQLQuery As String
     
        'Connexion au serveur Oracle
        connectionString = "XXXXXXXXXXXXXXXXXXXXXXXXX"
        Set Cn = New ADODB.Connection
        Set CP = New ADODB.Command
        Set Rs = New ADODB.RecordSet
        With Cn
            .connectionString = connectionString
            .CursorLocation = adUseClient
            .Open
        End With
     
        With CP
            .ActiveConnection = Cn
            SQLQuery = "Insert into FIELDS(ID_FIELD, TYPE_FIELD, NAME_FIELD) VALUES ('221', 'No', 'TEST')"
            .CommandType = adCmdText
            .CommandText = SQLQuery  
            .Execute
        End With
     
        Debug.Print CP.CommandText
        ' Close ADO objects
        Cn.Close
        Set Cn = Nothing
        Set Rs = Nothing
        Set CP = Nothing
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Par défaut
    tu est dans "Delphi/Base de données", ici
    Ton problème semblant un peut spécifique à Excel, je te sugère d'aller là:
    http://www.developpez.net/forums/f66...cel/vba-excel/

    Edit : à bien relire, c'est vrai que ça ne semble pas si spécifique, d'où une question bebete : a tu essayé la même requete sans passer par VBA?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    Oui, oui tout marche...

    J'ai réussi à faire marcher la requête depuis... quand meme =D

    Cependant, je comprends pas pourquoi mon INSERT se retrouve en tête de la table quand je l'add via EXCEL alors que l'ID le caractérisant devrait le propulser à la fin (Ordre croissant)

Discussions similaires

  1. [AC-2007] Problème de requête "insert into" avec du VBA
    Par Maegane dans le forum VBA Access
    Réponses: 8
    Dernier message: 25/07/2013, 14h24
  2. [AC-2003] Requête INSERT INTO sous VBA qui ne marche pas
    Par Shinoda00 dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/03/2011, 09h56
  3. [VBA-A] INSERT INTO en vérifiant les données avant !!
    Par Rumeurs dans le forum VBA Access
    Réponses: 9
    Dernier message: 12/04/2006, 14h07
  4. [VBA-A] INSERT INTO + PBL DE DOUBLONS
    Par forsay1 dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/04/2006, 11h45
  5. Réponses: 3
    Dernier message: 05/03/2006, 23h38

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