Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Приветствую уважаемые!

Есть проект - база данных переговоров внутри компании... статистика с АТС выплевывается в виде xls. Подгрузить ее - нет проблемм. Есть проблемы с запросами в ADE. Версия Access - 2003. Коннекчусь к SQL серверу по OLE DB. Сдалать какой-либо запрос не составляет проблем, проблему составляет примерно следующее. Допустим, нам необходимо запросить с SQL данные по определенному человеку за определенный период времяни... я, если бы это было не ADP, сделал бы формачку и в запросе дал бы ссылку на определенные поля, а в ADP указать с каких полей брать данные нет возможности, т.к. SQL не понимает ссылки на поля формы Access. В связи с чем вопрос - как мне в проекте ADP сделать запрос, чтобы он считывал данные с формы и выплевывал мне результат, согласно указанным на форме ограничениям? Заранее большое спасибо...:)
6 июн 05, 08:01    [1598328]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Извиняюсь я говорил о ADE проекте :)
6 июн 05, 08:03    [1598332]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Deim™
Извиняюсь я говорил о ADE проекте :)


Это проблему никак не решает!!! Откликнитесь, светлые умы!!! Может как - нить обойти это можно? вот только проблема...я не знаю как :(
6 июн 05, 10:55    [1598727]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
nibbles
Member

Откуда: Moscow
Сообщений: 2378
Deim™
Приветствую уважаемые!

Есть проект - база данных переговоров внутри компании... статистика с АТС выплевывается в виде xls. Подгрузить ее - нет проблемм. Есть проблемы с запросами в ADE. Версия Access - 2003. Коннекчусь к SQL серверу по OLE DB. Сдалать какой-либо запрос не составляет проблем, проблему составляет примерно следующее. Допустим, нам необходимо запросить с SQL данные по определенному человеку за определенный период времяни... я, если бы это было не ADP, сделал бы формачку и в запросе дал бы ссылку на определенные поля, а в ADP указать с каких полей брать данные нет возможности, т.к. SQL не понимает ссылки на поля формы Access. В связи с чем вопрос - как мне в проекте ADP сделать запрос, чтобы он считывал данные с формы и выплевывал мне результат, согласно указанным на форме ограничениям? Заранее большое спасибо...:)

Формировать запрос динамически при изменении входных условий и передавать этот запрос, в котором имена элементов формы заменены на конкретные значения, в свойство RecordSource формы. В качестве запроса может быть и хранимая процедура, принимающая значения в качестве аргументов и возвращающая НЗ.
6 июн 05, 11:15    [1598808]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
А можно поподробнее плиз!!! Тема очень для меня важная... желательно на примерах, а то я сегодня чета не способен адекватно воспринимать... :) Допустим есть у нас три поля на форме... два - ДатаВремя (дата с которой надо отобрать записи и дата по которую надо отобрать записи) есть так же третье (ФИО - поле со списком - тут выбираем чела которого нада найти за конкретный промежуток времяни). Допустим все данные хнанятся в таблице t1... чтобы просто их все выбрать делаем так select * from t1, а как на счет условий (ФИО, ДатаС, ДатаК)?? по хорошему дальше надо делать примерно так - where [forms]![ляляля]![ФИО] = t1.[ФИО]... и т.д., но так не получится...правильно ли я понимаю, что на форме надо определить датасурс ФИО ну допустим "fio", а потом сдетать так select * from t1 where t1.ФИО = fio ??? И то же самое проделать и с датами?
6 июн 05, 11:25    [1598856]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Если да, то как это сделать...если можно то в картинках плиз )
6 июн 05, 12:03    [1599039]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Люди добрые!
Подскажите плиз!!! Ну никак не получается, а скоро сдавать отчет нада в институте... будет печально, если прийдется связь через ОDBC переделывать :(( т.е. в проекте ADP я не понимаю как делать... есть вообще тут кто-нить, кто знает как сделать этот отчет?
6 июн 05, 13:24    [1599417]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
nibbles
Member

Откуда: Moscow
Сообщений: 2378
Например, вот так:
Private Sub cboMonthList_AfterUpdate()
Dim strSQL As String

    strSQL = "SELECT туры.str, туры." & Me.cboMonthList.Value & " as MonthName, туры.sh " _
            & "FROM туры " _
            & "WHERE (((туры." & Me.cboMonthList.Value & ")=(select max (туры." _
            & Me.cboMonthList.Value & ") from туры)))"
    ' Подчиненная форма
    With Me.sfrmQuery05
        .Form.RecordSource = strSQL
        .Requery
    End With

End Sub
6 июн 05, 13:26    [1599434]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
я в VBS не силен.... куда это сувать ? :) и что здесь что значит? Объясните пожалуйста один раз, чтобы я понял и больше с глупыми вопросами не обращался...:( А другими способами никак не сделать?
6 июн 05, 13:30    [1599451]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
nibbles
Member

Откуда: Moscow
Сообщений: 2378
Deim™
я в VBS не силен.... куда это сувать ? :) и что здесь что значит? Объясните пожалуйста один раз, чтобы я понял и больше с глупыми вопросами не обращался...:( А другими способами никак не сделать?

1. Это VBA. VBS - это немного другая среда программирования
2. Этот код копируется в событие "Изменение" (или "После обновления") элемента управления, значение в котором должно влиять на итоговую выборку (двойной щелчок на элементе управления в реж. конструктора, вкладка "События", строка "После изменения").
3. Форма, от которой взят этот пример (студентка одна делала), состоит из элемента управления типа "Выпадающий список" (имя на форме - cboMonthList), который влияет на результаты выборки, и подчиненной формы sfrmQuery05, в которой отображаются результаты выборки
4. Другими способами можно, но, лично для меня, этот - самый подходящий.

Вот комментирование:
' Код события "После обновления" выпадающего списка "Список месяцев"
Private Sub cboMonthList_AfterUpdate()
Dim strSQL As String    ' Объявление текстовой переменной 

    ' Сформировать SQL-запрос
    strSQL = "SELECT туры.str, туры." & Me.cboMonthList.Value & " as MonthName, туры.sh " _
            & "FROM туры " _
            & "WHERE (((туры." & Me.cboMonthList.Value & ")=(select max (туры." _
            & Me.cboMonthList.Value & ") from туры)))"
    ' Подчиненная форма
    With Me.sfrmQuery05
        ' Установить источник данных для подчиненной 
        ' формы равным сформированному SQL-запросу
        .Form.RecordSource = strSQL
        '  Обновить подчиненную форму
        .Requery
    End With

End Sub

P.S. Вы, наверно, тоже курсовой защищаете? Или экзамены сдаете?
6 июн 05, 14:17    [1599603]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Спасибо, буду разбераться.... а какие еще способы есть? Если не секрет ;) А можно сформировать отчет Access на основании этих данны... если можно, то тоже с примерчиком? :)
6 июн 05, 14:31    [1599661]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Private Sub Поле0_AfterUpdate()
Dim strSQL As String
strSQL = "SELECT * " _
& "FROM sprLocalPhoneATC " _
& "WHERE (((sprLocalPhoneATC.name)=(select (sprLocalPhoneATC." _
& Me.Поле0.Value & ") from sprLocalPhoneATC)))"
With Me.Внедренный2
.Form.RecordSource = strSQL
.Requery
End With

End Sub

Написал Это ругается
на строчку .Form.RecordSource = strSQL
говорит что выражение содержит ссылку на объект который закрыт или не существует
... как быть?
6 июн 05, 14:57    [1599788]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
soljen
Member

Откуда: матрица...
Сообщений: 127
Deim™
Private Sub Поле0_AfterUpdate()
Dim strSQL As String
strSQL = "SELECT * " _
& "FROM sprLocalPhoneATC " _
& "WHERE (((sprLocalPhoneATC.name)=(select (sprLocalPhoneATC." _
& Me.Поле0.Value & ") from sprLocalPhoneATC)))"
With Me.Внедренный2
.Form.RecordSource = strSQL
.Requery
End With

End Sub

Написал Это ругается
на строчку .Form.RecordSource = strSQL
говорит что выражение содержит ссылку на объект который закрыт или не существует
... как быть?


Та же фигня!
Есть реальное решение?
8 июн 05, 18:32    [1607526]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
>если бы это было не ADP, сделал бы формачку и в запросе дал бы ссылку на определенные поля
Точно так же
Делаешь запрос с параметрами вместо ссылок
оформляешь его как ХП

ALTER  PROCEDURE dbo.MYSP
(
@P1 int,
@P2 varchar(10),
@P654 smallint
)
AS
SELECT блаблабла FROM MyTable WHERE ppp=@P1 AND uuu=@P2 OR fff=@P654

Источником данных формы назначаешь свою ХП
а свойство формы "Входные параметры" (InputParameters)
Заполняеш сопоставлением параметров и ссылок на объекты VBA
заначения которых необходимо использовать в запросе

@P1 int = Forms!Myfrm!lng_ppp,@P2 = Forms!Myfrm!txt_uuu,@654 int =Forms!Myfrm!int_fff

Имена и типы параметров можно не указывать
тогда значения ссылок будут переданы в порядке их объявления в ХП
а приведение типа выполнено автоматически
(правда тут могут быть сюрпризы например дату преобразует в строку а потом обратно но не всегда удачно :)
8 июн 05, 19:02    [1607587]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Спасибо... протестим на выходных...
10 июн 05, 13:45    [1613429]     Ответить | Цитировать Сообщить модератору
 Re: ADE и SQL - запросы с использованием форм  [new]
Deim™
Member

Откуда:
Сообщений: 15
Все получилось Только пришлось маленько почитать по этому поводу в справке, т.к. я думал сначала, что входящие параметры необходимо определять в форме, а оказалось, что в отчете...:)) Теперь буду знать точно как это делается....
14 июн 05, 06:37    [1617774]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить