Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
Вопрос такой можно ли в один отчет впихнуть данные с одной бд но приэтом была возможность их фильтровать те выбрал специальность "рабочий" и в отчоте появились только рабочие (я новичек, а лис именя 8) заранеи сенкую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 07:31 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
Варианты выбирайте на вкус: наложение фильтра на таблицу, создайте нужный курсор командами Select-Sql и его используйте как источник данных для отчета. Попробуйте параметризованное представление... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 07:41 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
Еще варианты: REPORT FORM MyReport.frx FOR ... Вот в условии FOR и задаешь фильтр, наложенный на главную таблицу отчета, например: select MyTab REPORT FORM MyReport.frx FOR MyTab.Spec = "рабочий" Хотя, конечно, самый лучший и универсальный способ - это создание временных таблиц для печати. Остальные способы имеют разные ограничения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 09:06 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
сенкую гаспада ысчо один вопрос интимный есть таблица юзер заходет удаляет запись создает новую запись его прося растегнуть ширинку и сделать хорактерные движения потомушто часть полей с ключем примори или кондидат и ён попытался ввести похожее поле а теперь внимание вопрос так можно Помечаем Delete запись отключаем бд сжимаем бд подключаем бд если можно то как отключить и подключить БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 09:45 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
А оно тебе надо? Ссылочная целостность организуется не для того, чтобы ее нарушать. Т.е. "отключить" триггера в принципе можно (ALTER TABLE). Но ты уверен, что после такого "взлома" не полетит вообще вся база данных. Не в смысле "данные пропадут", а в смысле "данные не соответствуют друг другу". Если стоит задача удалить вообще все записи таблицы, то есть команда ZAP, при выполнении которой триггеры не выполняются. И еще. Ключевые поля (PK и FK) пользователь ни в коем случае не должен вводить сам. Это должна быть "внутренняя механика" программы, никак не видимая пользователем. Пользователь не должен даже подозревать, что есть что-то еще кроме того, что он видит на форме. Себе дороже выйдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 10:19 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
ВладимирМА оно тебе надо? Ссылочная целостность организуется не для того, чтобы ее нарушать. Т.е. "отключить" триггера в принципе можно (ALTER TABLE). Но ты уверен, что после такого "взлома" не полетит вообще вся база данных. Не в смысле "данные пропадут", а в смысле "данные не соответствуют друг другу". Если стоит задача удалить вообще все записи таблицы, то есть команда ZAP, при выполнении которой триггеры не выполняются. И еще. Ключевые поля (PK и FK) пользователь ни в коем случае не должен вводить сам. Это должна быть "внутренняя механика" программы, никак не видимая пользователем. Пользователь не должен даже подозревать, что есть что-то еще кроме того, что он видит на форме. Себе дороже выйдет. Дело втом что пользователь и не правит правит назначенный человек но другой не я а мне нуна чтобы он мог удалить рабочего вместе с его ригалиями из бд полностью (не пометил, а удалил) причем не выходя из програмки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 10:44 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
У тебя не совсем правильное понимание того, что есть "удаление". Под термином "Удаление" в FoxPro обычно понимают именно установку метки. Т.е. запись помечается как удаленная, но физически по прежнему остается в таблице. Вот именно этот процесс и регулируется триггерами. Для физического удаления записей ранее помеченных как удаленные используется специальная команда PACK Эта команда требует эксклюзивного (единоличного) доступа к таблицам. Как правило, выносится в отдельную служебную процедуру. Более подробно об удалении читай во вложенном файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 11:46 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
автора мне нуна чтобы он мог удалить рабочего вместе с его ригалиями из бд полностью (не пометил, а удалил) причем не выходя из програмки? 1. Для того что бы удалить запись необходимо открыть таблицу в монопольном режиме (сам понимаешь др пользователи не смогут с ней работать), поэтому можно только пометить на удаление саму запись и все связанные таблицы 2. Для всех регалий наобходимо написать троггер или процедуру удаления 3. Если пометил на удаление с кодом 10 и хочешь опять этот код занести, но для другой записи, тогда надо использовать фильтрованный PK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 11:50 |
|
||
|
Отчеты
|
|||
|---|---|---|---|
|
#18+
Hi RiW! Для твоих Candidae индексов добавь условие FOR !DELETED() - тогда он может хоть 100 раз ввести/удалить/ввести одного и того-же ФИО или что там у тебя уникально должно быть... Однако для первичного ключа это ОЧЕНЬ редко когда нужно - ибо в более-менее серьёзной системе первичный ключ присваивается автоматом, и пользователь его и не видит, и исправить не может - а вот "кандидаты" - сколько угодно :) P.S. Естественно что такой индекс не участвует в оптимизации, потому если это критично, надо сделать ещё один тег (уже без условия), но вида Regular - т.е. не контролирующего уникальность. P.P.S. Также есть такая стратегия - повторное использование удалённых записей - т.е. при "добавлении" ты сначала ищешь некоторую "подходящую" запись среди удалённых, восстанавливаешь её, заменяешь нужные поля. К сожалению это требует написания довольно объёмного кода, и довольно сложно реализуется если есть НЕСКОЛЬКО Candidate индексов/уникальных полей - думаю понятно почему. А PACK использовать в ходе "нормального использования" программы и для основных таблиц (не временных) - крайне нехорошо :( Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 22:04 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32905660&tid=1594906]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 435ms |

| 0 / 0 |
