Ecrire à partir d'une macro sous excel une valeur dans une base sql server

Signaler
Messages postés
2
Date d'inscription
lundi 14 avril 2008
Statut
Membre
Dernière intervention
16 avril 2008
-
Messages postés
2
Date d'inscription
lundi 14 avril 2008
Statut
Membre
Dernière intervention
16 avril 2008
-
Bonjour,

Je voudrais à l'aide d'une macro sous excel aller ecrire une valeur dans une base de données SQL SERVER.
Pour aller lire pas de pb j'utilise une liaison odbc.

J'ai donc une table sous SQL server qui comporte 2 champs, un champ 'Postes' et un champ 'MAJ'

du style

Poste      Maj
9000         0
9500         0
9810         0

je voudrais aller ecrire en face de 9500 dans le champ MAJ  1 par exemple
et c'est la que ca coince.

Ci dessous l'enregistrement automatique de la macro de connection en lecture de la table qui me renvoie les données sous excel

With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _

        "ODBC;DRIVER=SQL
Server;SERVER=10.132.17.200;UID=tde;PWD=tde;APP=Microsoft Office
XP;WSID=GHDt;DATABASE=TRACA_TDE;Network=DBMS" _

 
      ), Array("SOCN")), Destination:=Range("N28"))

   
    .CommandText = Array( _

        "SELECT
AUTOGEN.Atelier_Poste, AUTOGEN.MAJ" & Chr(13) & "" & Chr(10) &
"FROM TRACA_TDE.tde.AUTOGEN AUTOGEN" _

        )

        .Name = "Lancer la requête à partir de tde_1"

        .FieldNames = True

       
.RowNumbers = False

        .FillAdjacentFormulas =
False

        .PreserveFormatting = True

        .RefreshOnFileOpen = False

   
    .BackgroundQuery = True

        .RefreshStyle =
xlInsertDeleteCells

        .SavePassword = True

        .SaveData = True

       
.AdjustColumnWidth = True

        .RefreshPeriod =
0

        .PreserveColumnInfo = True

        .Refresh BackgroundQuery:=False

    End
With

merci d'avance

2 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Esaeis peu être (sans grande conviction) "UPDATE TRACA_TDE.tde.AUTOGEN SET MAJ 1 WHERE  Poste 9500"

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2
Date d'inscription
lundi 14 avril 2008
Statut
Membre
Dernière intervention
16 avril 2008

oui je pense que c'est peut etre bon au niveau de la syntaxe mais je n'ai pas reussi a mettre ca dans du code vb

il doit falloir qq chose comme ca au debut du code pour se connecter au sql

ODBC;DRIVER=SQL
Server;SERVER=10.132.17.200;UID=tde;PWD=tde;APP=Microsoft Office
XP;WSID=GHDt;DATABASE=TRACA_TDE;Network=DBMS" _
, Array("SOCN"))

cette partie la renvoi les données dans excel je pense (dans ce que j'avais mis dans le premier message)

Destination:=Range("N28"))

        .CommandText = Array( _

 
      "SELECT AUTOGEN.Atelier_Poste, AUTOGEN.MAJ" & Chr(13) &
"" & Chr(10) & "FROM TRACA_TDE.tde.AUTOGEN AUTOGEN" _

        )

et c'est la que je ne sais pas quoi mettre je ne veut rien ramener dans excel  juste aller ecrire dans la table sql ...

merci qq meme