powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / DELETE
20 сообщений из 20, страница 1 из 1
DELETE
    #33759081
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, мне, пожалуйста, в решении вот такой задачи.
На форме есть 2 Grid поля (соответственно 2 разные БД подключены к ним) и одна кнопка (DELETE – помечает записи на удаление). Мне нужно сделать проверку типа такого: Если выбраны данные из Grid1 то понажат. по кнопке удал. данные из этого поля, а если фокус стоит на Grid2 то по наж. по кноп. данные удал.(помеч.) соответственно из этого поля.
Теперь как это все можно реализовать в FoxPro.

P.S.: Не ставить же две кнопки....
...
Рейтинг: 0 / 0
DELETE
    #33759095
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я все правильно понял, то примерно так:

if alias()="Первая_таблица"
... && удаление из первой таблицы
else
... && удаление из второй таблицы
endif
...
Рейтинг: 0 / 0
DELETE
    #33759158
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если эти таблицы связаны между собой (из Grid1 меняются значения Grid2). То как тогда удалить данные.
...
Рейтинг: 0 / 0
DELETE
    #33759175
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и вопросик, однако... Да откуда же мы знаем как они у тебя там связаны и как должны из-за этих связей удаляться?
...
Рейтинг: 0 / 0
DELETE
    #33759335
FoxFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.)
...
Рейтинг: 0 / 0
DELETE
    #33759452
rashidnuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не проще-ли вместо вышестоящего кода в каждом селекте применять delete all :)
...
Рейтинг: 0 / 0
DELETE
    #33759457
rashidnuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
R00SПомогите, мне, пожалуйста, в решении вот такой задачи.
На форме есть 2 Grid поля (соответственно 2 разные БД подключены к ним) и одна кнопка (DELETE – помечает записи на удаление). Мне нужно сделать проверку типа такого: Если выбраны данные из Grid1 то понажат. по кнопке удал. данные из этого поля, а если фокус стоит на Grid2 то по наж. по кноп. данные удал.(помеч.) соответственно из этого поля.
Теперь как это все можно реализовать в FoxPro.

P.S.: Не ставить же две кнопки....
На самом деле все гораздо проще. Просто в событии Click кнопки впишите одно слово delete и на следующей строке thisform.refresh
delete
thisform.refresh
...
Рейтинг: 0 / 0
DELETE
    #33759480
rashidnuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон. Специально проверил, оказывается куда ни ткни будет в таком случае идти удаление из первого грида.Хотя внизу видно к какой таблице обратился, видимо нужно покопаться в свойствах grid, узнать какой активный, а имя таблицы thisform.grid1.RecordSource например.
...
Рейтинг: 0 / 0
DELETE
    #33759536
Янина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, если я пишу программульку на PHP , а база в фоксе, как мне удалить записи из таблички?
SQL-запрос с командой DELETE только помечает записи.
...
Рейтинг: 0 / 0
DELETE
    #33760050
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЯнинаПодскажите, пожалуйста, если я пишу программульку на PHP , а база в фоксе, как мне удалить записи из таблички?
SQL-запрос с командой DELETE только помечает записи.

Всё правильно, записи помечаются на удаление (командой DELETE), но физически не удаляются, для удаления используется коменда PACK, НО она может быть выполнена только в монопольом режиме открытия таблицы, поэтому физическое удаление выносят в административную процедур.

Кстати, а зачем Вам физически их удалять.
...
Рейтинг: 0 / 0
DELETE
    #33761451
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.)
...
Рейтинг: 0 / 0
DELETE
    #33761940
FoxFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
DELETE
    #33767424
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня на Form'у два Grid'а (Grid1 имеет связь с Grid2) при выгрузки формы из памяти я все записи помеченные на удаление спомощью Pack удаляю совсем.
USE books1.dbf(это Grid1) EXCLUSIVE
Pack
Удаляет все нормально.

USE books2.dbf(это Grid2) EXCLUSIVE
Pack
Но при удалении из второго Grid'a вылетает ошибка: "Эта таблица use". В чем дело? Как можно удалить из Grid2 данные? (Pack)? Почему из первой таблицы удаляются записи без проблем,а из второй - с ошибкой?
...
Рейтинг: 0 / 0
DELETE
    #33767433
FoxFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IF NOT USED("Books2")
USE c:\Table\Books2.dbf IN 0 EXCLUSIVE
PACK
ENDIF
...
Рейтинг: 0 / 0
DELETE
    #33767448
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FoxFox теперь он ругается что типа первая таблица (Books.dbf) use
...
Рейтинг: 0 / 0
DELETE
    #33767457
FoxFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
DELETE
    #33767471
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка теперь не вылетает. Но и записи из второй таблицы не удаляет
...
Рейтинг: 0 / 0
DELETE
    #33767477
FoxFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Thisform.Refresh ne zabil?
...
Рейтинг: 0 / 0
DELETE
    #33771878
R00S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все равно данные удаляются только из первой таблицы. Все так же сделал как вы мне шоворили. Вот проект, посмотрите, пожалуйста. Заранее благодарен.
...
Рейтинг: 0 / 0
DELETE
    #33773545
Foxfox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Posmotri.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / DELETE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]