Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запуск через DAO хранимой процедуры / 13 сообщений из 13, страница 1 из 1
17.09.2004, 14:05:37
    #32699906
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
Переделал бывший запрос на изменение в хранимую процедуру:
Код: plaintext
1.
2.
3.
CREATE PROCEDURE qSbros AS 
UPDATE dbo.tblSalon_Sel SET dbo.tblSalon_Sel.Sel =  0 ;

GO
на сервере работает, а как ее запустить из Аксесса97?
...
Рейтинг: 0 / 0
17.09.2004, 14:20:29
    #32699940
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
1 прямой запрос к серверу через ODBC + querydef + execute
2 Workspace через ODBCDirect
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim  Conn_Str As String   
Dim MyODBC As Workspace
  Dim MyConn As Connection
  Set MyODBC = CreateWorkspace("", "admin", "", dbUseODBC)
  Conn_Str= "ODBC;DATABASE=tel;UID=sa;PWD=xxxx;DSN=tango"
  Set MyConn = MyODBC.OpenConnection("", , , Conn_Str)
  MyConn.execute "SP"  ' <-----хранимка 

...
Рейтинг: 0 / 0
17.09.2004, 14:33:03
    #32699962
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
По п.1 не совсем понял: в смысле создать на стороне Аксесса querydef на изменение(т.е. ничего не менять, оставив запрос в Аксессе) или на стороне сервера создать запрос, который запустит ХП(а это как?)?
...
Рейтинг: 0 / 0
17.09.2004, 15:04:48
    #32700016
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
написать в аксесе такой код, и подставить туда свои значения.
...
Рейтинг: 0 / 0
17.09.2004, 15:21:32
    #32700053
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
Совсем зеленыйПо п.1 не совсем понял: в смысле создать на стороне Аксесса querydef на изменение(т.е. ничего не менять, оставив запрос в Аксессе) или на стороне сервера создать запрос, который запустит ХП(а это как?)?

почему запрос обязательно на изменение,тебе нужен к серверу
содержимое "SP par1,par2" в свойствах ODBC
...
Рейтинг: 0 / 0
17.09.2004, 15:57:27
    #32700137
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
авторсодержимое "SP par1,par2" в свойствах ODBCтак это про пункт2(там, где Shuhard код привел), тут я разобрался, спасибо, а я про автор1 прямой запрос к серверу через ODBC + querydef + execute
...
Рейтинг: 0 / 0
17.09.2004, 16:21:27
    #32700197
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
хранимка
Код: plaintext
1.
2.
3.
4.
drop proc inna
go
create proc  inna as
update Categories set description= 'blabla'  
grin - odbc
запрос НЕ возвращает данных
вызывается currentb,querydefs(Q1).execute
...
Рейтинг: 0 / 0
17.09.2004, 18:00:38
    #32700405
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
А это из какого Аксесса рисунок приведен? В А97, в св-вах запроса совсем другие позиции.
...
Рейтинг: 0 / 0
17.09.2004, 18:03:58
    #32700410
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
И при попытке ввести в бланк что-то "свое"(на рисунке видно, что бланк содержит имя ХП) вываливается ошибка.
...
Рейтинг: 0 / 0
17.09.2004, 18:15:52
    #32700434
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
ибо сказано - ЗАПРОС К СЕРВЕРУ
...
Рейтинг: 0 / 0
17.09.2004, 18:37:09
    #32700473
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
Тьфу(в смысле - спасибо! ) слова "к серверу" я и проглядел!
Да, такой способ удобнее, если параметры у запроса неизменные - код короче.
А иначе придется вторым способом пользоваться.
Что разумнее: объявить переменные MyODBC и MyConn как глобальные, присвоить им значения при открытии базы и потом только ссылаться или каждый раз объявлять и присваивать?
...
Рейтинг: 0 / 0
17.09.2004, 19:03:20
    #32700512
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
Совсем зеленыйТьфу(в смысле - спасибо! ) слова "к серверу" я и проглядел!
Да, такой способ удобнее, если параметры у запроса неизменные - код короче.
А иначе придется вторым способом пользоваться.
Что разумнее: объявить переменные MyODBC и MyConn как глобальные, присвоить им значения при открытии базы и потом только ссылаться или каждый раз объявлять и присваивать?
2 глобальные часто сбрасываются при ошибках - поэтому на этапе дебага удобнее "моргать" MyODBC и MyConn почаще
1 для запроса нет проблем(если mdb локальная) менять строку sql посредством querydef и свойства SQL
в плюс - отчёты на SP
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Sub XRstRepReq(sqlstr As String, paramstr As String, rptName As String)
Dim zapName As String
Dim MyZap As DAO.QueryDef
Dim MyDb As DAO.Database
DoCmd.OpenReport rptName, acViewDesign, , , acHidden
zapName = Reports(rptName).RecordSource
DoCmd.Close acReport, rptName, acSaveNo
Set MyDb = CurrentDb
On Error Resume Next
MyDb.QueryDefs.Delete zapName
Set MyZap = MyDb.CreateQueryDef(zapName)
MyZap.Connect = "ODBC;DSN=rumba;DATABASE=tel;Trusted_Connection=Yes"
MyZap.SQL = sqlstr & " " & paramstr
MyZap.Close
Set MyZap = Nothing
DoCmd.OpenReport rptName, acViewPreview
DoCmd.RunCommand acCmdZoom75
End Sub

...
Рейтинг: 0 / 0
18.09.2004, 11:29:49
    #32700772
Совсем зеленый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск через DAO хранимой процедуры
Строка:
Код: plaintext
DoCmd.OpenReport rptName, acViewDesign, , , acHidden
в Аксессе97 у команды OpenReport нет, к сожалению, аргумента "скрытый", а последних версиях есть?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запуск через DAO хранимой процедуры / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]