powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с хранимой процедурой в проекте ADP
10 сообщений из 10, страница 1 из 1
Помогите с хранимой процедурой в проекте ADP
    #32568403
Omar_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть проект ADP. Существует форма с 2 мя комбо и одной кнопкой и текстбоксом.
пользователь выбирает из 2 комбо по одному целочисленному значению/
как сделать так чтобы после нажатия на кнопку запускалась хранимая процедура на сервере c параметрами выбраннами в 2 комбо и результат (там может быть только одно значение) отображался в текстбоксе.
Процедура Sp_myproc(int, int) выдает 1 значение.
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568423
Hummer from home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотрим хелп по adodb.command - писать сейчас лень, там всё прозрачно написано.
Через коллекцию parameters - получаем значение выходного параметра из хранимой. А можно не выходной параметр а Return Value получать - но это по желанию.
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568427
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем топики плодишь, а?
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568428
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Omar_K в другом топике писалЕсть процедура ostatok(int, int) выходное значение- real
Входные значения задаются из 2-х комбо выход должен отображаться в текстбоксе, после нажатия кнопки
Пожайлуйста подправте код

Private Sub Command6_Click()
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim param1 As Parameter, param2 As Parameter, param3 As Parameter
Dim provStr As String

cn.Provider = "sqloledb"

provStr = "Server=omar;Database=usilos_db;Trusted_Connection=yes"
cn.Open provStr
Set cmd.ActiveConnection = cn
cmd.CommandText = "ostatok"
cmd.CommandType = adCmdStoredProc

Set param3 = cmd.CreateParameter("Return", adReal, adParamReturnValue)
cmd.Parameters.Append param3

Set param1 = cmd.CreateParameter("Input", adInteger, adParamInput)
cmd.Parameters.Append param1
param1.Value = Me!Combo2

Set param2 = cmd.CreateParameter("Input", adInteger, adParamInput)
cmd.Parameters.Append param2
param2.Value = Me!Combo0

Set rs = cmd.Execute

rs.Open
Me!Text4 = rs.Fields(0)


rs.Close
cn.Close


End Sub
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568429
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первая по жизне процедура+ADO - сильно не пинайте

Код: plaintext
1.
2.
3.
4.
5.
create procedure Foxstrot
@MyId int
As 
SELECT  *  from TComp  Where Comp_Id < @MyId
GO

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim MyBat As ADODB.Command
Dim PrStr As String
Dim MyRst As ADODB.Recordset
Dim MyConn As ADODB.Connection
PrStr = "Provider=SQLOLEDB;Data Source=172.27.48.1;Initial Catalog=INGA;Trusted_Connection=Yes;"
Set MyConn = New ADODB.Connection
MyConn.Open PrStr
Set MyBat = New ADODB.Command
MyBat.ActiveConnection = MyConn
MyBat.CommandText = "Foxstrot " & Me![P_1]
Set MyRst = New ADODB.Recordset
MyRst.Open MyBat
Do Until MyRst.EOF
Debug.Print MyRst( 0 ); MyRst( 2 ); MyRst( 3 )
MyRst.MoveNext
Loop
MyRst.Close
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568440
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shuhard

попробуй так:

Set MyRst = MyConn.Foxtrot(Me!P1)

долно работать

ЗЫ
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568475
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha2 Shuhard

попробуй так:

Set MyRst = MyConn.Foxtrot(Me!P1)

долно работать

ЗЫ

я пока с mdb разминаюсь + пишу код подлиннее со всеми семействами
пытаюсь сменить моторные навыки от DAO
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568492
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вырожденный случай
Код: plaintext
1.
Set MyRst = CurrentProject.Connection.Execute("Foxstrot(" & Me![P_1] & ")")
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32568957
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два ИМХО

1.
Если уж не используешь параметры (Parametrs), а пытаетесь их в текст запроса вставить, то наверное и текст надо с EXEC писать?

MyBat.CommandText = "Exec dbo.Foxstrot " & Me![P_1]

2.
В таких случаях (мне кажется) надо не ХП писать, а UDF - проблем будет меньше.
...
Рейтинг: 0 / 0
Помогите с хранимой процедурой в проекте ADP
    #32569336
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю поменьше кода
Для начинающего это важно

1)Я полагаю что присоединенный столбец в комбо виден
т.е. значение контрола и будет выбранным параметром

2) Делаем в ХП параметры с таким же названием что и комбо но с @ в начале
в SELECT ХП-ки первым вставляем холостой столбец =1

3) делаем третий комбо =1 с источником ХП и невидимым первым столбцом

4)На Кнопку пишем ТретийКомбо.requery

Если уж очень надо отображать в текст то просто вешаем на кнопку

Текст=CurrentProject.Connection.Execute("МояХП @Парам1=" & cbo1 & ",@Парам2=" & cbo2 ).Fields(0).Value

Подразумевается что ХП возвращает через SELECT
при этом если SELECT не единственный в ХП не забудь
поставить SET NOCOUNT ON
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с хранимой процедурой в проекте ADP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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