|
|
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Есть ленточная форма основанная на ХП: например Товар Кол Т1 5 Т2 10 Т3 20 в примечании формы поле которое содержит =SUM(Кол) в этом поле после открытия формы имеем 35 :) после применения фильтра (Товар = Т1) в строчной части имеем 1 запись Т1 5 и в поле с суммой один хрен 35!!! :) Помогите разобраться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 02:34:24 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
:) Ну ё ... Мало того если после применения фильтра сделать Requery то в поле с суумой вообще имеем "Ошибка!" !!! что за ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 02:37:29 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Привет. Разбираться здесь не в чем, это подарок большого Била. Я на прошлой неделе с этим боролся. Короче, сумма подбивается по набору, возвращенному сервером. Т.е. либо применяйте серверный фильтр, либо берите пример с меня: я имитировал итог с помощью списка, а в выражение источника строк к нему добавлял/убирал строку фильтра. Плюс побеждал такие грабли как разница синтаксиса между SQL выражением Аккеса и сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 09:38:38 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Могу только посочувствовать. Поэкспериментировав и почитав help, сделал вывод, что Access`овский Sum хорошо работает только с DAO.Recordset. Ищи выход вроде этого: В проекте pubs создал SP, возвращающую записи из таблицы tites, ленточную форму, отображающую возвращаемые SP записи. В заголовке - список "ПолеСоСписком22", в котором пользователь может указать параметры фильтра (по полю pub_id), в примечании - свободное поле tbSumm, в которое будет выводиться сумма поля price. На событие AfterUpdate списка написал процедуру: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Комментарий по приведенному обработчику события. IMHO у объекта MSACCESS.Form проблемы с использованием наборов записей, возвращаемых ADO. В частности, многие методы ADODB.Recordset не прокатывают с Form.RecordsetClone, поэтому эти методы приходится запускать через ссылку (переменная rs). Например, при <Form>.RecordsetClone.MoveNext этому клону хоть бы хны, а через ссылку - "шевелится", зараза. Собственно, поэтому Sum наверное и не работает так как надо. Собственно, проблема-то с Access, sql.ru-то здесь при чем? Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 10:26:33 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
а притом что Микрософт заявляет что нету лучше средства для исполнения клиента под SQLServer чем АКСЕКС :) но ..... в общем как обычно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 10:53:56 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Брешут гады......я тоже по воли шефа делаю Access'ового клиента - ну ничего выкручиваюсь,правда никаих там ленточных форм и прочей лабуды:)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 11:06:09 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Братцы! Не буду перечислять грабли расставленные в проекте Access, на которые натыкаешься при попытках поднять уровень разрабатываемого приложения до настоящего профессионального - поверьте, столько шишек на лбу, что и не сосчитать. Проект MSACCESS - отличная вещь, не спорю, но в ограниченных применениях, типа "показать боссу, как все легко и кульно делается" (кстати боссы, как выясняется из предыдущих постингов, после таких демонстраций просто навязывают ACCESS в качестве среды разработки). P.S. Кстати, об одной заморочке хотелось бы спросить. Форма ACCESS, выводящая результат хранимой процедуры в табличном или ленточном виде, отлично работает, если сессия открыта dbo. Если проект открывается пользователем-"не-dbo", она работать прекращает. А отчеты принципиально не желают работать с хранимыми процедурами, в какой бы сессии пользователь не работал. В чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 09:47:18 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
кстати.... MSACCESS конектится к SQL serv через DATASHAPE... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 09:58:17 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Про какие то страшные грабли вы рассказываете (Guest2), у меня несколько проектов на Access +MsSql и проблем с отчетами, либо данными получеными не dbo у меня небыло. Причем проекты как на DAO (через запросы к серверу), так и на ADO реализованы. Хотя я согласен - крупные проекты на нем фигово делать,просто когда кол-во объектов (форм, запросов и т.д ) переваливает за 1000, уходит много времени на осмысление структуры -)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 11:50:36 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
2 Denisco Может быть вы подскажете как побороть поле суммы. Может я чего-то не заметил. Может есть там какая-нибудь хитрая кнопочка :) ВсеПоляСуммы.Работать ацВечно ..... Кстати в хелпе написано что к форме на ХП вообще не применим серверный фильтр ... А как фильтровать то тогда ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 12:51:27 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
У меня абсолютно вся логика на сервере... И подсчет суммы и фильтры.. Мне потом не приходится менять ничего при создании, например веб-интерфейса. На клиенте у меня только выполняется запуск ХП и передача из неё значеий либо элементам управления либо форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 13:51:41 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Господа, ну что вы так орячитесь по пустякам, ну надо юзеру иметь сумму по поднабору данных, так можно и калькуляториком подсчитать. Ну не срабатывает событие ApplyFilter для подчиненной форме при команде меню удалить фильтр, так это ж я для вас... А представте все работает, так приложения начнет ляпать любой дурак. А так и я экономлю на оплате своих программистов и вам рейтинг поднимаю. Кстати, а где вы приобрели Access? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 14:04:23 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Приколист блин -)) Тут люди над серьезной проблемой бъются -)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 14:21:35 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Проблема на самом деле ПРОБЛЕМА :) тока она отчасти с самим биЛЛОМ Denisco, речь о том что в аксесе мона было де угодно ткнуть и применить фильтр, а потом еще и еще и еще и Учитывая аддитивный эффект, возможность легко сбросить фильтр и простоту, выбрать нужное из большого объема информации становится гораздо легче. Причем без никаких объяснений (прозрачный пользовательский ифейс). Неким аналогом может служить процедура с числом параметров приближающимся к числу столбцов ..... Но это как то не очень красиво :) Должен же быть нормальный способ ... Но я все ближе к пониманию того что его нет :) Остановите меня !!!! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 14:57:37 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Действительно, много параметров получается.. Но лучше один раз помучится и получить уневерсальный инструмент, чем потом каждый раз клиента переделывать.. А так, что в Делфях, что в asp и т.д. вызываешь хп и не беспокоешься... А фильтры в аккес действительно удобная штука, но я от них отказался в клиент-серверных приложениях.. Они ориентированы у меня на веб-интерфейс и данных передается очень мало ... Т.е фильтр по большому счету не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 15:28:53 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
если вы так въелись в этот фильтр, что же вам мешает заложить дополнительные условия в ХП, которая является источником формы? обновляйте источник формы (т.е. заново запускаете ХП) после изменения условий фильтра. вот и записи нужные и суммы персчитываются. или я что-то недопонимаю? ругаете приложение на чем свет стоит, а оно спокойно выполняет те действия, которые в нем заложены. не ищите аналогий между adp и mdb. да, есть глючки в adp, связанные с рекодсетом, но и их можно обойти, используя ХП. и тема эта, конечно, не для данного форума, а для Аксесса. работает adp пока и хаить его не собираюсь. извините, если кого обидел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 15:43:26 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
А я (Denisco), про то и написал.. Что всю логику надо на sql перенести. Это по меньшей мере просто удобно.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 15:51:52 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Насчет Оффтопика позвольте усомнится. Форумы вроде делятся по СУБД, а проект аксесс не субд а оболочка для СУБД которой посвящен именно этот форум. В общем вопрос спорный ... Автор: Неким аналогом может служить процедура с числом параметров приближающимся к числу столбцов ..... Это и понятно . 2ДиД не ищите аналогий между adp и mdb Да я и не ищу просто фильтр применить то можно. Только вот результат то обманывает. Хорошо еще что я это вообще заметил :). А вопрос то остался. Я так и не понял это я что то не так делаю или так оно и должно быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 16:02:28 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Вам же сказали, что фильтр на форме применяется к набору записей, пришедших с сервера. Сумма, которая Вам требуется, тоже считается к набору записей, прибывших с сервера. Тот фильтр, который Вы пытаетесь применить, работает на клиенте. я понятно объяснил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 16:21:00 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
:) Вполне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 16:23:21 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
А что по поводу оффтопика ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 16:24:04 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
г-н ДиД, мы как-то с вами встречались на Аккесс-форуме как раз по этому же поводу. Я, а теперь и г-н Автор, понимаем, что сумма подбивается по набору, пришедшему с сервера. Но мне, например, это кажется не логичным, уж коли сменился набор на экране клиента, то автоматически должна и пересчитаться сумма . В моем случае было слишком накладно переполучать набор с сервера ради пересчета суммы (геморная и медленная проца). Я это дело победил (в кратце см. мой постер выше), но то,что это фича от Билла я не сомневаюсь. А если г-н Автор удовлетворен результатами обсуждения, давайте на том и завершим топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 17:03:34 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Нелогично. А если Вы увеличиваете набор записей, Вы как будете получать сумму? Вам все равно придется отправлять запрос к серверу. Мое предложение работает во всех вариантах фильтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 17:10:40 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
*Автор кивнул :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 17:14:51 |
|
||
|
Проект Access и SQL2k
|
|||
|---|---|---|---|
|
#18+
Увеличить набор клиентским фильтром невозможно, думаю и клиент об этом догадывается. Фильтр для того и служит, чтобы получать поднаборы (т.е. уменьшать набор)... Например, я получил все накладные со склада N, очень интересно узнать, а сколько этот склад отпустил в цех М. Вы предлагаете вновь спросить об этом сервер, я считаю логичнее сервер не тревожить (к тому же если это не дешево стоит), а получить сумму по поднабру здесь же на клиенте уж коли весь набор в вашем распоряжении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2002, 17:23:56 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32047208&tid=1820710]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 330ms |

| 0 / 0 |
