Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Доброе утро! Можно ли подключить к форме проекта обновляемый рекодсет на хранимой процедуре?
 
 автор: helena   (15.01.2013 в 09:41)   личное сообщение
 
 

Можно ли подключить к форме проекта обновляемый рекодсет на хранимой процедуре?

  Ответить  
 
 автор: snipe   (15.01.2013 в 10:09)   личное сообщение
 
 

Как я понимаю процедура захочет параметры
или просто представление
в аксе есть запрос к серверу
там нужно будет прописать строку соединения
и все - используйте язык SQL сервера

  Ответить  
 
 автор: helena   (15.01.2013 в 12:11)   личное сообщение
 
 

Мне хотелось бы разобраться в проекте access
Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim prm As ADODB.Parameter
Dim rst As ADODB.Recordset

Set cnn = New ADODB.Connection
Set cmd = New ADODB.Command
Set rst = New ADODB.Recordset

cnn.Open "provider=sqloledb;data source=(local);database=Организации;integrated security=sspi"
Set cmd.ActiveConnection = cnn
cmd.CommandText = "ХранимаяСПараметром"
cmd.CommandType = adCmdStoredProc
Set prm = cmd.CreateParameter("код_", adInteger, adParamInput, , 7777)
cmd.Parameters.Append prm
rst.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc
Me.Recordset = rst- присвоить так не дает

  Ответить  
 
 автор: snipe   (15.01.2013 в 12:20)   личное сообщение
 
 

тогда сразу вопрос
а в чем хранится сама бд
(в файле mdb, на sQL сервере или еще где)

  Ответить  
 
 автор: helena   (15.01.2013 в 12:38)   личное сообщение
 
 

база на учебной sql (он же тоже на моем комп)

вот вид хранимой процедуры
CREATE PROCEDURE ХранимаяСПараметром
@код_ int
AS
begin
SELECT * FROM Организации
WHERE код=@код_ ;
return
end
GO

  Ответить  
 
 автор: snipe   (15.01.2013 в 13:02)   личное сообщение
 
 

форме рекордсет не подсунешь

выход

вариант 1
сохранить рекордсет в табле и форму подключить к этой же таблице

Вариант 2
создать запрос к серверу
текст SQL примерно такой
execute ХранимаяСПараметром @код_=3
и подключить к этому запросу форму

вот только придется постоянно текст sql запроса переписывать при смене параметра
например так
CurrentDb.QueryDefs("Имя запроса к серверу").SQL = "execute ХранимаяСПараметром @код_=" & forms![имя формы]![имя поля]

вариант 3
написать запрос к серверу на языке сервера (т.е. я например использую язык MS SQL при написании таких запросов), вытащить всю таблу (представление) в Акс
и дополнительным запросом АКса дофильтровать до нужного вида - соответственно форма будет подключена к доп.запросу
минус - по сети будет гулять большой объем инфы

Запросы к серверу предназначены только для просмотра инфы

  Ответить  
 
 автор: helena   (15.01.2013 в 16:09)   личное сообщение
 
 

у меня база в adp
1 вариант -можно попробовать. Но только у меня в главной форме есть и подчиненная форма. Так надо сохранитять 2рекордсета в 2-х табл и подключать форму главную и подчиненную отдельно? А как с блокировкой будет вопрос?

2 вариант это вариат для только для mdb?

3 вариант мне важно быстродействие

есть вариант из хр.проц. заполнить рекордсет в несвязанную форму. Но здесь каждое действие нужно писать(сохранение, удаление, перемежение) Но не понятно, как осуществить блокировку

  Ответить  
 
 автор: snipe   (15.01.2013 в 17:47)   личное сообщение
 
 


А как с блокировкой будет вопрос?



пока юзер смотрит данные - ни как
а когда что-то изменит - придется запускать запрос и изменять данные в бд
время выполнения запроса (на изменение - дополнение) будет маленькое

  Ответить  
 
 автор: helena   (16.01.2013 в 09:39)   личное сообщение
 
 

спасибо за идею

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList