konto usunięte

Temat: wywołanie procedury składowanej SQL w EXCEl

Witam grupowiczów,

potrzebuję pomocy w rozwiązaniu pewnego problemu. Przygotowałem na MS SQL Serwer 2005 procedurę składowaną.
Potrzebuję aby użytkownik mógł w Excelu jednym przyciskiem uruchomić wywołanie tej procedury (odświeża ona kilka tabel na serwerze) a dopiero po jej wykonaniu odświeżone zostały tabele przestawne w EXCELU.

Z góry dziękuję za pomoc - Michał

konto usunięte

Temat: wywołanie procedury składowanej SQL w EXCEl

http://www.google.pl/search?q=run+stored+procedure+fro... ?
Wojciech Nowak

Wojciech Nowak Konsultant Systemów
Bankowych | Analityk
Systemowy

Temat: wywołanie procedury składowanej SQL w EXCEl

witam,
najprościej poprzez skrypt VBA w Excelu dopięty do przycisku oraz połączenie ADODB z mssql

samo uruchomienie procedury z mssql może wyglądać tak:

Set Cmd1 = New ADODB.Command
Cmd1.CommandText = "sp_NazwaProcedury"
Cmd1.CommandType = adCmdStoredProc
Set Rs1 = Cmd1.Execute()

gdzie Rs1 to ADODB.Recordset. Z rs1 możesz już pobrać dane do komórek xls

ps. poczytaj o ADODB
Sławomir Wojciechowski

Sławomir Wojciechowski Główny Specjalista
ds. Rozwoju
Aplikacji, T-Mobile
Polska...

Temat: wywołanie procedury składowanej SQL w EXCEl

Kiedys chcialem wykonac cos odwrotnego. Tzn majac baze sql server chcialbym wykonac kod vba bedacy na ms access, ktory jest zlinkowany. Niestety nie znalazlem jakiegos rozsadnego rozwiazania (po za uruchamianiam tego accessa przez xp_cmdshell, gzie w accessie domyslnie statuje forma wykonujaca dany kod) - moze macie jakies propozycje.
Wojciech Nowak

Wojciech Nowak Konsultant Systemów
Bankowych | Analityk
Systemowy

Temat: wywołanie procedury składowanej SQL w EXCEl

witaj,
możesz ewentualnie stworzyć skrypt VBS, który w parametrze będzie miał nazwę funkcji, którą ma wywołać z ms access a następnie poprzez xp_cmdshell wywołanie skryptu - rozwiązanie podobne ale może bardziej eleganckie.

pzdr
Sławomir Wojciechowski

Sławomir Wojciechowski Główny Specjalista
ds. Rozwoju
Aplikacji, T-Mobile
Polska...

Temat: wywołanie procedury składowanej SQL w EXCEl

Mozesz pokazac taki przyklad jak wywolac ze skryptu vbs funkcje w accessie?
Marcin O.

Marcin O. Planning and
Manufacturing
Systems Specialist

Temat: wywołanie procedury składowanej SQL w EXCEl

Sławomir Wojciechowski:
Kiedys chcialem wykonac cos odwrotnego. Tzn majac baze sql server chcialbym wykonac kod vba bedacy na ms access, ktory jest zlinkowany. Niestety nie znalazlem jakiegos rozsadnego rozwiazania (po za uruchamianiam tego accessa przez xp_cmdshell, gzie w accessie domyslnie statuje forma wykonujaca dany kod) - moze macie jakies propozycje.


a sprawdz czy w ten sposob zadziala

BEGIN
declare @hr int,@object int
EXEC @hr = sp_OACreate 'Access.Application', @object OUTPUT
IF @hr <> 0
BEGIN
PRINT 'a1'
RETURN
END

exec @hr = sp_OAMethod @object,'OpenCurrentDatabase("C:\test.mdb")'

IF @hr <> 0
BEGIN
PRINT 'a2'
RETURN
END

EXEC @hr = sp_OAMethod @object ,'Application.Run',null,'NazwaProceduryVBA_DoWykonania'
if @hr <> 0
begin
PRINT 'a3'
end
EXEC @hr = sp_OAMethod @object, 'CloseCurrentDatabase'
IF @hr <> 0
BEGIN
PRINT 'a4'
RETURN
END

ENDMarcin Ochoński edytował(a) ten post dnia 29.07.08 o godzinie 14:50
Wojciech Nowak

Wojciech Nowak Konsultant Systemów
Bankowych | Analityk
Systemowy

Temat: wywołanie procedury składowanej SQL w EXCEl

witam

moje rozwiązanie opierało się na podobnej zasadzie, tylko zamiast sp_OACreate wykorzystywałem zwykły skrypt VBS, który otwierał instancję poprzez CreateObject.

pzdr,
wn

Następna dyskusja:

proste podzapytanie SQL (Ex...




Wyślij zaproszenie do