|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
У МЕНЯ В ФОРМЕ ЕСТЬ LIST box и GRID Я ИЗ LIST ВЫБЕРАЮ НУЖНУЮ МНЕ ЗАПИСЬ ТИПА НАЗВАНИЕ ТОВАРА ЩЁЛКАЮ ПО НЕЙ ОНА ПЕРЕНОСИТСЯ В GRID ПОСЛЕ Я В ЭТОЙ СТРОКЕ ДОПИСЫВАЮ ФАМИЛИЮ И КОЕ КАКИЕ ДАННЫЕ ОНА СОХРАНЯЕТ ЭТУ ЗАПИСЬ НО ДОПУСТИМ Я НЕ ВВЁЛ ДАННЫЕ ТИПА ФАМИЛИЯ А СТРОКА С НАЗВАНИЕМ ТОВАРА ОСТАЛАСЬ ЧТОБЫ ЕЁ НЕ УДАЛЯТЬ В РУЧНУЮ Я СДЕЛАЛ ТАК: SET DELE ON DELE FOR FAMILIA=" " && если пусто значит удалить В GRID ОНА ПОКАЗЫВАЕТ ЧТО УДАЛИЛА НО НА САМОМ ДЕЛЕ КОГДА ПРОСМАТРИВАЕШЬ В РЕЖИМЕ BROWSE ОНА НЕ УДАЛИЛА А ТОЛЬКО ПОМЕТИЛА НА УДАЛЕНИЕ КАК МНЕ ПРАВИЛЬНО УДАЛИТЬ ПОСОВЕТУЙТЕ ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2003, 15:44 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
В формате DBASE реализовано 2-х тактное удаление записей 1) Сначала записи помечаются как удаленные (командой DELETE) 2) Затем физически удаляются из таблицы (команда PACK) Физическое удаление записей требует специального режима открытия таблиц (EXCLUSIVE), поэтому применяется не сразу после пометки записи на удаление, а при регламентных работах с базой. Например раз в неделю очищается вся база данных от записей помеченных как удаленные. Чтобы записи помеченные как удаленные не путались под ногами, используют специальную настройку SET DELETED ON, которая и "прячет" все такие записи. PS. При проверке строковых данных на пустое значение разумнее использовать функцию EMPTY(), а не сравнение с пустой строкой. В противном случае возможны недоразумения. Т.е. команда удаления должна выглядеть примерно так: DELETE FOR Empty(Familia) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2003, 15:57 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
ДОПОЛНЕНИЕ К ПРЕВЫДУЩЕЙ ЗАПИСИ. КОГДА Я ЩЁЛКАЮ НА LIST И ЗАПИСЬ ПЕРЕНОСИТСЯ ПОЯВЛЯЕТСЯ ЗАПИСЬ В СТРОКЕ СОСТОЯНИЯ < 1 ЗАМЕЩЕНО > А ЧЕРЕЗ 5 СЕКУНД <ЗАПИСЬ НЕ БЛАКИРОВАНА> ЧТО ОЗНАЧАЕТ ЗАПИСЬ < ЗАМЕЩЕНО > ЭТА ЗАПИСЬ ЗАМЕЩЕНО У МЕНЯ РАНЬШЕ НЕБЫЛО ОНА ПОЯВИЛАСЬ ПОСЛЕ ТОГО КАК Я ПЕРЕУСТАНОВИЛ WINDOWS И VISUAL FOXPRO 5.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2003, 15:59 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
В статусной строке отображается информация о состоянии текущей строки в текущей рабочей области ("Запись не блокирована"). Подавить ее нельзя, можно только затереть, но очень это муторно - отлавливать каждый раз момент ее появления. А вот сообщени о вставке/модификации записи подавляется настройкой SET TALK OFF Еще одна настройка, подавляющая кое-какие системные сообщения SET NOTIFY OFF ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2003, 17:25 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
В ОБЩЕМ МНЕ НАДО ЧТОБЫ УДАЛЯЛАСЬ ЗАПИСЬ КОТОРАЯ ПОМЕЧЕНА КАК УДАЛЁННАЯ СРАЗУ ПОТОМУ ЧТО ЭТО ПРОГРАММА СКЛАД И КЛИЕНТ ВЫБИРАЕТ ТОВАРЫ НА СВОЁ УСМОТРЕНИЕ КОГДА ОН ВЫБИРАЕТ КАКОЙ ЛИБО ТОВАР ОН ПЕРЕНОСИТСЯ ИЗ <LIST BOX> В <GRID> ПЕРЕНОСИТСЯ ТАКЖЕ: ЦЕНА ЗА ЕДЕНИЦУ ТОВАРА, КОД ТОВАРА, НАЗВАНИЕ ТОВАРА, ТАМ ЖЕ В ЭТОЙ СТРОКЕ В GRIDE КУДА ПЕРЕНИСЛАСЬ ЗАПИСЬ, В ЯЧЕЙКИ ОПЕРАТОР ЗАПИСЫВАЕТ КОЛИЧЕСТВО ТОВАРА КОТОРОЕ ОН ХОЧЕТ КУПИТЬ. ЭТО КОЛИЧЕСТВО ТОВАРА УМНОЖАЕТСЯ НА ЦЕНУ ЗА ЕДЕНИЦУ ТОВАРА И ВЫХОДИТ ИТОГ В СЛЕДУЖЕЙ ЯЧЕЙКИ ( НА ЭТОЙ ЖЕ СТРОКЕ в GRIDe) А ЕСЛИ ОН НЕ ВВЁЛ СВОЮ ФАМИЛИЮ И НАЗВАНИЕ ФИРМЫ (В ЭТОЙ ЖЕ СТРОКЕ в GRIDe) ТО СТРОКА УДАЛЯЕТСЯ. ОПЕРАТОР КОТОРЫЙ ВВОДИТ ЗАПИСИ СЛИШКОМ ЧАСТО МОЖЕТ ЩЁЛКАТЬ ПО ЗАПИСЯМ В < LISTBOX > ПОТОМУ ЧТО КЛИЕНТ ПРОСИТ ПРОСМОТРЕТЬ СМОЖЕТ ЛИ ОН КУПИТЬ ЭТОТ ТОВАР В ОПРЕДЕЛЁННОМ КОЛИЧЕСТВЕ ТАК КАК ТАМ СРАЗУ ИДЁТ ПОДСЧЁТ КОЛИЧЕСТВА КОТОРОЕ ОН ХОЧЕТ КУПИТЬ ТАБЛИЦА В КОТОРОЙ ЭТИ ЗАПИСИ СОХРАНЯЮТСЯ КАК ПОМЕЧЕНЫЕ ДЛЯ УДАЛЕНИЯ СЛИШКОМ БОЛЬШАЯ СТАНОВИТСЯ, И ЕЩЁ ОНА ДОЛЖНА УЧАСТВОВАТЬ В ДРУГИХ ПРОГРАММАХ И Я НЕ ЗНАЮ КАК ОНА СЕБЯ ПОВЕДЁТ ТАМ. поэтому мне нужно хотя бы когда я покидаю форму ( а не выхожу из этой программы) записи которые были помечены как удалённые удалились. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2003, 13:11 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
>>ПОТОМУ ЧТО КЛИЕНТ ПРОСИТ ПРОСМОТРЕТЬ СМОЖЕТ ЛИ ОН КУПИТЬ ЭТОТ ТОВАР В ОПРЕДЕЛЁННОМ КОЛИЧЕСТВЕ ТАК КАК ТАМ СРАЗУ ИДЁТ ПОДСЧЁТ КОЛИЧЕСТВА КОТОРОЕ ОН ХОЧЕТ КУПИТЬ Рекомендую выводить в ListBox также кол-во (остаток) товара. А вообще-то лучше писать во временную таблицу (которая живет пока открыта форма), а только потом, при подтверждении заказа, записывать в основную таблицу, где Вы ведете (если я правильно понял) статистику заказов клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2003, 13:58 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
У МЕНЯ ТАК И ЕСТЬ КОГДА КЛИЕНТ ЗАНЁС СВОИ ДАННЫЕ И ПОДТВЕРЖДЕНО ТО ИЗ LISTBOX УДАЛЯЕТСЯ КОЛИЧЕСТВО О ТОМ ЧТО <ЭННОЕ> КОЛИЧЕСТВО ДОПУСТИМ ТУФЛЕЙ ИЛИ ЕЩЁ КАКОГО ЛИБО ТОВАРА КУПЛЕНО А ЕСЛИ ЗАПИСЬ УЖЕ ВВЕДЕНА И КЛИЕНТ ОТКАЗАЛСЯ ОТ КАКОГО ЛИБО ТОВАРА ТО ЗАПИСЬ В GRID МОЖНО УДАЛИТЬ И ОНА СНОВА ПРИБАВЛЯЕТСЯ В LISTBOX. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2003, 15:09 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
А ВООБЩЕ КАК УДАЛИТЬ ЭКСКЛЮЗИВНО ЕСЛИ ДРУГИХ НЕТ ВАРИАНТОВ ?????????? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 15:42 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
Это Вы о чем? Что значит удалить эксклюзивно? Для возможности отката внесенных изменений существует буферизация. В этом случае вообще ничего не удаляется, а просто не записывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 16:01 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
А ВООБЩЕ КАК УДАЛИТЬ ЭКСКЛЮЗИВНО Раз в неделю выгоняешь из программы оператора (и всех, кто с ним), а потом USE My_tab1 EXCLUSIVE PACK USE My_tab2 EXCLUSIVE PACK ...... USE My_tabn EXCLUSIVE PACK ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 16:14 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
Поправка: USE My_tab1 EXCLUSIVE 'открыть эксклюзивно (т.е. никто кроме ты) PACK 'физически удалить USE 'закрыть USE My_tab2 EXCLUSIVE 'открыть эксклюзивно (т.е. никто кроме ты) PACK 'физически удалить USE 'закрыть ........... USE My_tabn EXCLUSIVE 'открыть эксклюзивно (т.е. никто кроме ты) PACK 'физически удалить USE 'закрыть ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 16:19 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
Мог бы и не поправлять. И так сойдет. Открытие таблицы в рабочей области где в данный момент открыта другая таблица автоматически приведет к закрытию этой другой таблицы. Т.е. в твоем примере: USE My_tab1 EXCLUSIVE 'открыть эксклюзивно (т.е. никто кроме ты) PACK 'физически удалить USE My_tab2 EXCLUSIVE 'открыть эксклюзивно (т.е. никто кроме ты), предварительно закрыв My_tab1 PACK 'физически удалить ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 19:11 |
|
УДАЛЕНИЕ ЗАПИСЕЙ ИЗ < GRID >
|
|||
---|---|---|---|
#18+
вообще в таких случаях хорошо использовать представления локальные или удалённые (в зависимости от места хранения данных). А базу паковать периодически, либо при выходе из приложения. Хотя проблема паковки только для баз .dbf. Представления позволяют более гибко работать с данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2003, 09:31 |
|
|
start [/forum/topic.php?fid=41&msg=32172000&tid=1598210]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 306ms |
total: | 418ms |
0 / 0 |