|
|
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Помогите, мне, пожалуйста, в решении вот такой задачи. На форме есть 2 Grid поля (соответственно 2 разные БД подключены к ним) и одна кнопка (DELETE – помечает записи на удаление). Мне нужно сделать проверку типа такого: Если выбраны данные из Grid1 то понажат. по кнопке удал. данные из этого поля, а если фокус стоит на Grid2 то по наж. по кноп. данные удал.(помеч.) соответственно из этого поля. Теперь как это все можно реализовать в FoxPro. P.S.: Не ставить же две кнопки.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 18:44 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Если я все правильно понял, то примерно так: if alias()="Первая_таблица" ... && удаление из первой таблицы else ... && удаление из второй таблицы endif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 18:50 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
А если эти таблицы связаны между собой (из Grid1 меняются значения Grid2). То как тогда удалить данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 19:20 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Ну и вопросик, однако... Да откуда же мы знаем как они у тебя там связаны и как должны из-за этих связей удаляться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 19:32 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Poprobuy : LOCAL skod SELECT table1 skod = table1.kkod SELECT table2 LOCATE FOR table2.kkod = skod DELETE while table2.kkod = skod SELECT table3 LOCATE FOR table3.kkod = skod DELETE while table3.kkod = skod SELECT table1 LOCATE FOR table1.kkod = skod DELETE If !Eof() Skip 1 Endif If Eof() and !Bof() Skip - 1 ENDIF =TABLEUPDATE(.T.,.T.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 22:47 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
А не проще-ли вместо вышестоящего кода в каждом селекте применять delete all :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 06:00 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
R00SПомогите, мне, пожалуйста, в решении вот такой задачи. На форме есть 2 Grid поля (соответственно 2 разные БД подключены к ним) и одна кнопка (DELETE – помечает записи на удаление). Мне нужно сделать проверку типа такого: Если выбраны данные из Grid1 то понажат. по кнопке удал. данные из этого поля, а если фокус стоит на Grid2 то по наж. по кноп. данные удал.(помеч.) соответственно из этого поля. Теперь как это все можно реализовать в FoxPro. P.S.: Не ставить же две кнопки.... На самом деле все гораздо проще. Просто в событии Click кнопки впишите одно слово delete и на следующей строке thisform.refresh delete thisform.refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 06:08 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Пардон. Специально проверил, оказывается куда ни ткни будет в таком случае идти удаление из первого грида.Хотя внизу видно к какой таблице обратился, видимо нужно покопаться в свойствах grid, узнать какой активный, а имя таблицы thisform.grid1.RecordSource например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 07:05 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, если я пишу программульку на PHP , а база в фоксе, как мне удалить записи из таблички? SQL-запрос с командой DELETE только помечает записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 08:30 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
ЯнинаПодскажите, пожалуйста, если я пишу программульку на PHP , а база в фоксе, как мне удалить записи из таблички? SQL-запрос с командой DELETE только помечает записи. Всё правильно, записи помечаются на удаление (командой DELETE), но физически не удаляются, для удаления используется коменда PACK, НО она может быть выполнена только в монопольом режиме открытия таблицы, поэтому физическое удаление выносят в административную процедур. Кстати, а зачем Вам физически их удалять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 11:42 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
FoxFoxPoprobuy : LOCAL skod SELECT table1 skod = table1.kkod SELECT table2 LOCATE FOR table2.kkod = skod DELETE while table2.kkod = skod SELECT table3 LOCATE FOR table3.kkod = skod DELETE while table3.kkod = skod SELECT table1 LOCATE FOR table1.kkod = skod DELETE If !Eof() Skip 1 Endif If Eof() and !Bof() Skip - 1 ENDIF А что такое "kkod" =TABLEUPDATE(.T.,.T.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 18:07 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
kkod eto pole table1.A LOAD-e stoit takoy kod. =CURSORSETPROP("Buffering",5,"table1") =CURSORSETPROP("Buffering",5,"table2") =CURSORSETPROP("Buffering",5,"table3") SELECT table3 SET ORDER TO Kkod SELECT table2 SET ORDER TO Kkod SELECT table1 SET RELATION TO Kkod INTO table2; ,Kkod INTO table3 ADDITIVE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 22:46 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
У меня на Form'у два Grid'а (Grid1 имеет связь с Grid2) при выгрузки формы из памяти я все записи помеченные на удаление спомощью Pack удаляю совсем. USE books1.dbf(это Grid1) EXCLUSIVE Pack Удаляет все нормально. USE books2.dbf(это Grid2) EXCLUSIVE Pack Но при удалении из второго Grid'a вылетает ошибка: "Эта таблица use". В чем дело? Как можно удалить из Grid2 данные? (Pack)? Почему из первой таблицы удаляются записи без проблем,а из второй - с ошибкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 22:27 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
IF NOT USED("Books2") USE c:\Table\Books2.dbf IN 0 EXCLUSIVE PACK ENDIF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 22:46 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
FoxFox теперь он ругается что типа первая таблица (Books.dbf) use ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 22:57 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Postav etot kod i dlya 1 tablitsi.A lutshe bila bi ti vinimatelno posmotrel moi kodi.A ved u tebya svyazannie tablitsi? eto dlya cmdDel(knopka) LOCAL skod SELECT table1 skod = table1.kkod SELECT table2 LOCATE FOR table2.kkod = skod DELETE while table2.kkod = skod SELECT table3 LOCATE FOR table3.kkod = skod DELETE while table3.kkod = skod SELECT table1 LOCATE FOR table1.kkod = skod DELETE If !Eof() Skip 1 Endif If Eof() and !Bof() Skip - 1 ENDIF =TABLEUPDATE(.T.,.T.) a eto dlya LOAD(form) CURSORSETPROP("Buffering",5,"table1") =CURSORSETPROP("Buffering",5,"table2") =CURSORSETPROP("Buffering",5,"table3") SELECT table3 SET ORDER TO Kkod SELECT table2 SET ORDER TO Kkod SELECT table1 SET RELATION TO Kkod INTO table2; ,Kkod INTO table3 ADDITIVE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 23:05 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Ошибка теперь не вылетает. Но и записи из второй таблицы не удаляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 23:20 |
|
||
|
DELETE
|
|||
|---|---|---|---|
|
#18+
Все равно данные удаляются только из первой таблицы. Все так же сделал как вы мне шоворили. Вот проект, посмотрите, пожалуйста. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2006, 11:52 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33767433&tid=1591484]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 518ms |

| 0 / 0 |
