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
END
Marcin Ochoński edytował(a) ten post dnia 29.07.08 o godzinie 14:50