|
|
|
новичок
      
участник
Last Login: 22.03.2006 5:07
Сообщ.: 8,
Visits: 89
|
|
Есть обьект Grid и есть кнопка Delete. Нужно с помощью етой кнопки удалить выделенную в Grid запись. Пытался получить данные из Grid с помощью следующей строки: S=ThisForm.grid1.column1.Text1.Text. и удалить с помощью следующей строки: DELETE FROM maintable;
WHERE Client_name=S AND Client_Surname=S2 AND Client_Addr=S3.
Ниже полный код:
PARAMETERS S, S2, S3
S=ThisForm.grid1.column1.Text1.Text
S2=ThisForm.grid1.column2.Text1.Text
S3=ThisForm.grid1.column3.Text1.Text
DELETE FROM maintable;
WHERE Client_name=S AND Client_Surname=S2 AND Client_Addr=S3
Не срабатывает, одно поле с однй записи, другое с другой и т.д.
И еще вопрос, как получить доступ с одной формы к компонентам другой?
Заранее спасибо
|
|
|
|
|
Supreme Being
      
участник
Last Login: 19.09.2008 13:31
Сообщ.: 106,
Visits: 979
|
|
Если источник данных для грида таблица с данными, а не курсор, то достаточно просто выполнить команду delete.
Если таблица связана релейшинами с другими таблицами, то предварительно сделай select maintable так, на всякий случай
Александр
|
|
|
|
|
Supreme Being
      
участник
Last Login: 19.09.2008 13:31
Сообщ.: 106,
Visits: 979
|
|
| Да, чуть не забыл, потом сделай grid.refresh()
|
|
|
|
|
новичок
      
участник
Last Login: 04.05.2006 17:41
Сообщ.: 1,
Visits: 16
|
|
Здравтсвуйте...
мне нужно из активной строки брать значение первой ячейки.
делаю так: в обработчике события Click кнопки пишу
SELECT contracts
num=thisform.grid1.column1.text1.value
SET FILTER TO numcont=num
browse
Сработывает, только когда щелкнешь по нулевой нулевой колонке в нужной строке(самый левый край грида)...А мне надо, чтоб срабатывало, при щелчке по любой ячейке. Как я понял при выделении произвольной ячейки строка не становится активной....а при щелчке в левый край становится...
|
|
|
|
|
Supreme Being
      
участник
Last Login: 19.09.2008 13:31
Сообщ.: 106,
Visits: 979
|
|
Draft (02.05.2006) Сработывает, только когда щелкнешь по нулевой нулевой колонке в нужной строке(самый левый край грида)...А мне надо, чтоб срабатывало, при щелчке по любой ячейке. Как я понял при выделении произвольной ячейки строка не становится активной....а при щелчке в левый край становится...Привет. Ты пойми одно. Фоксовый грид - это не датасет, который связан с данными через всякие там механизмы. Фокс - имеет свой движок для работы с данными. Поэтому грид - это очень крутой компонент. Нас в даном случае интересует один момент. Кликнув мышью на любой строчке, ты моментально становишься на данной записи. Не нужны никакие команды перемещения. И уже можешь работать с текущей!!!!! записью не через SQL, а средствами самого фокса. Хочешь, REPLACE, DELETE. Поэтому можно сразу делать: m.num = numcont. Единственный момент. Эта переменная должна быть глобальной, если таблица остаётся открытой после закрытия формы и фильтр остаётся включеным. Александр
|
|
|
|