Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Представление / 7 сообщений из 7, страница 1 из 1
01.07.2003, 09:43
    #32195683
Dmit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
Проект adp Sql2000
Можно ли как-нибудь в представление передать условия из кода?
например как в хранимой процедуре
select * from t where a=@number
а значение @number присваиваесться в коде.
Что нибудь подобное можно сделать с представлением?
...
Рейтинг: 0 / 0
01.07.2003, 09:49
    #32195694
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
А разве для этого не используются хранимые процедуры и функции?
...
Рейтинг: 0 / 0
01.07.2003, 09:54
    #32195702
Dmit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
Я знаю, что используются.
Только когда я пробывал в источнике данных указать Хранимую процедуру, он выборку делает все нормально, но я не могу потом редактировать те данные которые отображаются в форме. А мне нужна возможность редактирования
...
Рейтинг: 0 / 0
01.07.2003, 10:00
    #32195706
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
Наверняка что-то забыл (ключ. поле или УникальнуюТаблицу) поставить
...
Рейтинг: 0 / 0
01.07.2003, 10:03
    #32195709
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
1. Сделать разбор VIEW по ключевым словам - Where, Having и т.п. и в нужное место прописывать Where из кода.
2. Сделать VIEW без группировки, сортировки и условий, т.е. без всех операторов, а в коде писать:

Код: plaintext
strsql= "select distinct * from {имя_VIEW} "  & myWhere


Где myWhere - это условие на отбор во View, может быть уже с Order By, главное соблюдать последовательность операторов.
Иного способа передачи именно во View я не знаю.

Другой способ:
3. Создаётся хранимая процедура, куда передаётся myWhere, в этой процедуре уже прописан Select след. образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE [dbo].[sp_myprocedure] @myWherevarchar( 8000 )
AS
declare @Str varchar( 8000 )
    set @Str = 
        'SELECT t.f1 as [Field1], 
                    t.f2 as [Field2], 
                    t.f3 as [Field3], 
         FROM dbo.myTable t 
         WHERE  t.f1 = 1 ' 
                + @myWhere+ ' order by t.f2 '

Exec(@Str)


Таким обарзом, мы во View со всеми операторами передаём строку Where для отбора.
...
Рейтинг: 0 / 0
01.07.2003, 10:47
    #32195783
Dmit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
Сделалт так
str="where id=3"
Me.RecordSource = "select distinct* from {имя предствавления} " & str
и не работает ошибку не выдает но когда открывается форма там все поля пустые
...
Рейтинг: 0 / 0
01.07.2003, 10:54
    #32195794
Dmit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Представление
Сори, моя невнимательность
2 вариант работает
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Представление / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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