Je suis entrain de réaliser un lot DTS qui doit transférer les données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion
Est-il possible de réaliser dans le même Active X
# chaque ligne Excel devient une colonne d'un tableau VBScript ; insertion bloquée au niveau de la destinatio
# quand le fichier Excel est totalement lu, ses lignes sont devenues les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination
En fait, je pense qu'une transformation fonctionne ligne par ligne et non par un aspect globale comme dans ce cas
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il une méthode plus simple
Function Main() Dim app 'As Excel.Application Dim wkb' As Excel.Workbook
Set app = CreateObject("Excel.Application")
Set wkb = app.Workbooks.Open("MonServeur FichierOutmonfichier.XLS")
wkb.Sheets("Feuil2").Delete wkb.Save
app.Quit
Main = DTSTaskExecResult_Success End Function
tu a la possibilité d'utiliser la fonction de collage spéciale de transposition essaie la sur ton tableau cela sera peut être plus rapide que de cycler sur les colonnes
Sebastien
"Christine" a écrit dans le message de news:
Bonjour,
Je suis entrain de réaliser un lot DTS qui doit transférer les
données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion.
Est-il possible de réaliser dans le même Active X : # chaque ligne Excel devient une colonne d'un tableau VBScript ;
insertion bloquée au niveau de la destination
# quand le fichier Excel est totalement lu, ses lignes sont devenues
les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination.
En fait, je pense qu'une transformation fonctionne ligne par
ligne et non par un aspect globale comme dans ce cas.
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il
une méthode plus simple ?
Merci d'avance
Christine
Bonjour
ajoute un script active x dans l'assistant de lot DTS ensuite utilise le
modèle objet de excel pour intervenir sur la feuille
voici un exmple tiré d'un de mes lots pour le modèle objet
Function Main()
Dim app 'As Excel.Application
Dim wkb' As Excel.Workbook
Set app = CreateObject("Excel.Application")
Set wkb = app.Workbooks.Open("\MonServeur FichierOutmonfichier.XLS")
wkb.Sheets("Feuil2").Delete
wkb.Save
app.Quit
Main = DTSTaskExecResult_Success
End Function
tu a la possibilité d'utiliser la fonction de collage spéciale de
transposition essaie la sur ton tableau cela sera peut être plus rapide que
de cycler sur les colonnes
Sebastien
"Christine" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:4296A93A-90B3-4DEC-A4A5-FD1BA509150C@microsoft.com...
Bonjour,
Je suis entrain de réaliser un lot DTS qui doit transférer les
données d'un tableau Excel vers une base de données SQL Server. Je dois
effectuer une inversion des colonnes et lignes du tableau avant d'effectuer
toute insertion.
Est-il possible de réaliser dans le même Active X :
# chaque ligne Excel devient une colonne d'un tableau VBScript ;
insertion bloquée au niveau de la destination
# quand le fichier Excel est totalement lu, ses lignes sont devenues
les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite
inserer chacune de ses lignes dans ma destination.
En fait, je pense qu'une transformation fonctionne ligne par
ligne et non par un aspect globale comme dans ce cas.
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il
Function Main() Dim app 'As Excel.Application Dim wkb' As Excel.Workbook
Set app = CreateObject("Excel.Application")
Set wkb = app.Workbooks.Open("MonServeur FichierOutmonfichier.XLS")
wkb.Sheets("Feuil2").Delete wkb.Save
app.Quit
Main = DTSTaskExecResult_Success End Function
tu a la possibilité d'utiliser la fonction de collage spéciale de transposition essaie la sur ton tableau cela sera peut être plus rapide que de cycler sur les colonnes
Sebastien
"Christine" a écrit dans le message de news:
Bonjour,
Je suis entrain de réaliser un lot DTS qui doit transférer les
données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion.
Est-il possible de réaliser dans le même Active X : # chaque ligne Excel devient une colonne d'un tableau VBScript ;
insertion bloquée au niveau de la destination
# quand le fichier Excel est totalement lu, ses lignes sont devenues
les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination.
En fait, je pense qu'une transformation fonctionne ligne par
ligne et non par un aspect globale comme dans ce cas.
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il
une méthode plus simple ?
Merci d'avance
Christine
Oxiane
Si tu utilises une tâche de transformation de données entre une connection Excel et une connection SQl Server, alors oui, tu va fonctionner ligne à ligne (en gros le script est exécuté autant de fois qu'il y de lignes dans la base source).
Tu peux par contre utiliser une "tâche de script Active X", qui ne va s'exécuter qu'une seule fois, mais là, il faut que tu codes tout, et DTS pert de son intérêt...
Le mieux me paraît de charger la table excel dans une table temporaire de travail sous SQL, et d'alimenter la table réelle avec un lot DTS, ou une proc stock, ou un ordre insert... select, etc
-- Cordialement
Oxiane ---------------------------------------------------------- Omnia vanitas
"Christine" a écrit dans le message de news:
Bonjour,
Je suis entrain de réaliser un lot DTS qui doit transférer les
données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion.
Est-il possible de réaliser dans le même Active X : # chaque ligne Excel devient une colonne d'un tableau VBScript ;
insertion bloquée au niveau de la destination
# quand le fichier Excel est totalement lu, ses lignes sont devenues
les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination.
En fait, je pense qu'une transformation fonctionne ligne par
ligne et non par un aspect globale comme dans ce cas.
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il
une méthode plus simple ?
Merci d'avance
Christine
Si tu utilises une tâche de transformation de données entre une connection
Excel et une connection SQl Server, alors oui, tu va fonctionner ligne à
ligne (en gros le script est exécuté autant de fois qu'il y de lignes dans
la base source).
Tu peux par contre utiliser une "tâche de script Active X", qui ne va
s'exécuter qu'une seule fois, mais là, il faut que tu codes tout, et DTS
pert de son intérêt...
Le mieux me paraît de charger la table excel dans une table temporaire de
travail sous SQL, et d'alimenter la table réelle avec un lot DTS, ou une
proc stock, ou un ordre insert... select, etc
--
Cordialement
Oxiane
----------------------------------------------------------
Omnia vanitas
"Christine" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:4296A93A-90B3-4DEC-A4A5-FD1BA509150C@microsoft.com...
Bonjour,
Je suis entrain de réaliser un lot DTS qui doit transférer les
données d'un tableau Excel vers une base de données SQL Server. Je dois
effectuer une inversion des colonnes et lignes du tableau avant d'effectuer
toute insertion.
Est-il possible de réaliser dans le même Active X :
# chaque ligne Excel devient une colonne d'un tableau VBScript ;
insertion bloquée au niveau de la destination
# quand le fichier Excel est totalement lu, ses lignes sont devenues
les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite
inserer chacune de ses lignes dans ma destination.
En fait, je pense qu'une transformation fonctionne ligne par
ligne et non par un aspect globale comme dans ce cas.
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il
Si tu utilises une tâche de transformation de données entre une connection Excel et une connection SQl Server, alors oui, tu va fonctionner ligne à ligne (en gros le script est exécuté autant de fois qu'il y de lignes dans la base source).
Tu peux par contre utiliser une "tâche de script Active X", qui ne va s'exécuter qu'une seule fois, mais là, il faut que tu codes tout, et DTS pert de son intérêt...
Le mieux me paraît de charger la table excel dans une table temporaire de travail sous SQL, et d'alimenter la table réelle avec un lot DTS, ou une proc stock, ou un ordre insert... select, etc
-- Cordialement
Oxiane ---------------------------------------------------------- Omnia vanitas
"Christine" a écrit dans le message de news:
Bonjour,
Je suis entrain de réaliser un lot DTS qui doit transférer les
données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion.
Est-il possible de réaliser dans le même Active X : # chaque ligne Excel devient une colonne d'un tableau VBScript ;
insertion bloquée au niveau de la destination
# quand le fichier Excel est totalement lu, ses lignes sont devenues
les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination.
En fait, je pense qu'une transformation fonctionne ligne par
ligne et non par un aspect globale comme dans ce cas.
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il
une méthode plus simple ?
Merci d'avance
Christine
sebast22
Christine a écrit le 04/06/2004 à 13h41 :
Bonjour
Je suis entrain de réaliser un lot DTS qui doit transférer les données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion Est-il possible de réaliser dans le même Active X # chaque ligne Excel devient une colonne d'un tableau VBScript ; insertion bloquée au niveau de la destinatio # quand le fichier Excel est totalement lu, ses lignes sont devenues les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination En fait, je pense qu'une transformation fonctionne ligne par ligne et non par un aspect globale comme dans ce cas
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il une méthode plus simple
Merci d'avanc
Christin
Bonjour ,
Oui , il faut ajouter cette partie de code dans tes VBScripts pour les exécuter avec une élévation :
'------------------------------------------------------------------------------------ If WScript.Arguments.length =0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "wscript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Else '------------------------------------------------------------------------------------
'Ajout de ton code ici
End If '------------------------------------------------------------------------------------
Cordialement
Sebast22
Christine a écrit le 04/06/2004 à 13h41 :
Bonjour
Je suis entrain de réaliser un lot DTS qui doit
transférer les données d'un tableau Excel vers une base de
données SQL Server. Je dois effectuer une inversion des colonnes et
lignes du tableau avant d'effectuer toute insertion
Est-il possible de réaliser dans le même Active X
# chaque ligne Excel devient une colonne d'un tableau VBScript ; insertion
bloquée au niveau de la destinatio
# quand le fichier Excel est totalement lu, ses lignes sont devenues les
colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite
inserer chacune de ses lignes dans ma destination
En fait, je pense qu'une transformation fonctionne ligne par ligne et
non par un aspect globale comme dans ce cas
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il une
méthode plus simple
Merci d'avanc
Christin
Bonjour ,
Oui , il faut ajouter cette partie de code dans tes VBScripts pour les exécuter avec une élévation :
'------------------------------------------------------------------------------------
If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'------------------------------------------------------------------------------------
'Ajout de ton code ici
End If
'------------------------------------------------------------------------------------
Je suis entrain de réaliser un lot DTS qui doit transférer les données d'un tableau Excel vers une base de données SQL Server. Je dois effectuer une inversion des colonnes et lignes du tableau avant d'effectuer toute insertion Est-il possible de réaliser dans le même Active X # chaque ligne Excel devient une colonne d'un tableau VBScript ; insertion bloquée au niveau de la destinatio # quand le fichier Excel est totalement lu, ses lignes sont devenues les colonnes de mon tableau VBScript ; à partir de cet instant, je souhaite inserer chacune de ses lignes dans ma destination En fait, je pense qu'une transformation fonctionne ligne par ligne et non par un aspect globale comme dans ce cas
Pourriez-vous m'aider ? Suis-je sur la bonne voie ou existe t'il une méthode plus simple
Merci d'avanc
Christin
Bonjour ,
Oui , il faut ajouter cette partie de code dans tes VBScripts pour les exécuter avec une élévation :
'------------------------------------------------------------------------------------ If WScript.Arguments.length =0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "wscript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Else '------------------------------------------------------------------------------------
'Ajout de ton code ici
End If '------------------------------------------------------------------------------------