powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удаление текущей записи через grid
17 сообщений из 17, страница 1 из 1
удаление текущей записи через grid
    #34929990
Fillyjonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как удалить ТЕКУЩУЮ запись в гриде, пишу следующий код:
select table1

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO()

DELETE NEXT 1


ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF

THISFORM.GRID1.SetFocus
THISFORM.REFRESH
удаляется всегда первая
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930066
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для текущей записи просто
Код: plaintext
DELETE
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930070
Fillyjonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fox_vikДля текущей записи просто
Код: plaintext
DELETE

Вопрос в том как поставить через грид курсор на текущую запись, просто delete не помогает
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930071
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FillyjonkПодскажите как удалить ТЕКУЩУЮ запись в гриде, пишу следующий код: Куда пишешь?
Fillyjonkselect table1

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO() && это лишнее

DELETE NEXT 1


ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF() && это
SKIP -1 && это
ENDIF && и это грид сам сделает

THISFORM.GRID1.SetFocus
THISFORM.REFRESH
удаляется всегда перваяЭто наверно не весь код. Здесь все правильно.

DELETE и DELETE NEXT 1 означают одно и тоже
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930076
Fillyjonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T FillyjonkПодскажите как удалить ТЕКУЩУЮ запись в гриде, пишу следующий код: Куда пишешь?
Fillyjonkselect table1

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO() && это лишнее

DELETE NEXT 1


ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF() && это
SKIP -1 && это
ENDIF && и это грид сам сделает

THISFORM.GRID1.SetFocus
THISFORM.REFRESH
удаляется всегда перваяЭто наверно не весь код. Здесь все правильно.

DELETE и DELETE NEXT 1 означают одно и тоже
весь, пишу на событие click кнопки
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930082
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fillyjonkвесь, пишу на событие click кнопки Тогда все должно работать.
Грид ставит указатель в курсоре на выбранную запись.
Где-то раньше указатель у тебя уезжает (GO TOP поищи).
Поставь в начало:
Код: plaintext
MessageBox(str(recno('table1')))
И посмотри.
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930086
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fillyjonkудаляется всегда первая
Видимо, указатель записи перед удалением всегда находится на первой записи.
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930103
Fillyjonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T Fillyjonkвесь, пишу на событие click кнопки Тогда все должно работать.
Грид ставит указатель в курсоре на выбранную запись.
Где-то раньше указатель у тебя уезжает (GO TOP поищи).
Поставь в начало:
Код: plaintext
MessageBox(str(recno('table1')))
И посмотри.
Go top нет...
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930113
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fillyjonk fox_vikДля текущей записи просто
Код: plaintext
DELETE

Вопрос в том как поставить через грид курсор на текущую запись, просто delete не помогает
Помню в какой-то из версий FoxPro был глюк: refresh grid'а перемещал указатель на первую запись. Помню, что удавалось обходить делая refresh одно колонки грида.
Если дело не в глюке, то ищите с помощью
Код: plaintext
1.
debug 
suspend
команду в программе, которая перемещает указатель записи.
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930117
О_В_Д
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А попробуйте еще проконтролировать так.
Сделайте на форме служебный текстбокс, значением которого будет n_Rec. У грида поставьте в AfterRowColChange:
Код: plaintext
THISFORM.textbox.REFRESH
Теперь при перемещении по гриду можно отследить, как меняется значение n_Rec. Если оно вообще меняется.
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930253
Fillyjonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О_В_ДА попробуйте еще проконтролировать так.
Сделайте на форме служебный текстбокс, значением которого будет n_Rec. У грида поставьте в AfterRowColChange:
Код: plaintext
THISFORM.textbox.REFRESH
Теперь при перемещении по гриду можно отследить, как меняется значение n_Rec. Если оно вообще меняется.
вообще не меняется...когда кликаешь по разным строкам грида
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930261
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FillyjonkПодскажите как удалить ТЕКУЩУЮ запись в гриде, пишу следующий код:
select table1

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO()

DELETE NEXT 1


ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF

THISFORM.GRID1.SetFocus
THISFORM.REFRESH
удаляется всегда первая
delete in (THISFORM.GRID1.RecordSource)
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930266
Fillyjonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksMed FillyjonkПодскажите как удалить ТЕКУЩУЮ запись в гриде, пишу следующий код:
select table1

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO()

DELETE NEXT 1


ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF

THISFORM.GRID1.SetFocus
THISFORM.REFRESH
удаляется всегда первая
delete in (THISFORM.GRID1.RecordSource)
в гриде исчезает, спасибо огромное=)))
а вот в самой таблице - только помечается на удаление...а как программно удалить её из самой таблицы?
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34930273
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fillyjonkв гриде исчезает, спасибо огромное=)))
а вот в самой таблице - только помечается на удаление...а как программно удалить её из самой таблицы?
Из грида ничего не удаляется, т.к. в гриде ничего не храница, он лишь средство отображения содержимого источника данных.
Физическое удаление записи из таблицы требует эксклюзивного доступа к ней.
Если эксклюзивный доступ не проблема, то см. команду PACK.
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #34932490
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IF MESSAGEBOX ("Удалить запись?", 4 + 32, "Внимание!") = 6
DELETE && NEXT 1 стоит по умолчанию
ENDIF
IF EOF()
GO BOTTOM
ENDIF
*лишний код
*IF EOF() AND !BOF()
*SKIP -1
*ENDIF
THISFORM.GRID1.Refresh
THISFORM.GRID1.Column1.Text1.SetFocus()
*THISFORM.REFRESH
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
удаление текущей записи через grid
    #38981434
proftp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Тут написали как удалить из таблицы через грид данные.
У меня вопрос.
У меня грид берет данные из запроса, которые формируется из нескальких таблиц.
Как в таком случае можно удалить строку из таблицы?
...
Рейтинг: 0 / 0
удаление текущей записи через grid
    #38981712
proftpДобрый день.
Тут написали как удалить из таблицы через грид данные.
У меня вопрос.
У меня грид берет данные из запроса, которые формируется из нескальких таблиц.
Как в таком случае можно удалить строку из таблицы?

У любой строки таблицы должен быть уникальный идентификатор (ключ). Вот по нему и нужно удалять.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удаление текущей записи через grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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