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

drougal63 Messages postés 2 Date d'inscription lundi 14 avril 2008 Statut Membre Dernière intervention 16 avril 2008 - 14 avril 2008 à 22:06
drougal63 Messages postés 2 Date d'inscription lundi 14 avril 2008 Statut Membre Dernière intervention 16 avril 2008 - 16 avril 2008 à 19:22
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

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 avril 2008 à 08:28
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
0
drougal63 Messages postés 2 Date d'inscription lundi 14 avril 2008 Statut Membre Dernière intervention 16 avril 2008
16 avril 2008 à 19:22
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
0
Rejoignez-nous