powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проблема с удалению записи
11 сообщений из 11, страница 1 из 1
проблема с удалению записи
    #33684906
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На экшн кнопки клик выполняется следующий код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
IF MESSAGEBOX("Вы действительно хотите отчислить студента?", 4 + 32 + 256 ,"Выход")= 6  THEN
DELETE FROM учатся WHERE студент = VAL(ThisForm.listStudents.Value)
	IF MESSAGEBOX("Студент отчислен. Хотите ли Вы его удалить из списка студентов?", 4 + 32 + 256 ,"Выход")= 6  THEN
	DELETE FROM студент WHERE код = VAL(ThisForm.listStudents.Value)
	ENDIF
ENDIF
SET DELETED ON
 
ThisForm.listStudents.RowSource = ""

SELECT студент.фио , студент.код FROM студент WHERE студент.код NOT IN (select учатся.студент from учатся) ORDER BY студент.фио INTO CURSOR &curStud NOFILTER READWRITE
ThisForm.listStudents.RowSourceType=  2 
ThisForm.listStudents.RowSource='&curStud'
ThisForm.listStudents.DisplayValue = EVALUATE(curStud + '.фио')

ThisForm.grMainLook.RecordSource = ""

SELECT студент.фио, специаль.название, группа.номер;
FROM студент , специаль , группа , изучать , учатся ;
WHERE ;
(учатся.студент = студент.код ;
AND группа.код = учатся.группа) ;
AND (изучать.группа = группа.код ;
AND специаль.код = изучать.специально);
ORDER BY студент.фио ;
INTO CURSOR &curLook NOFILTER READWRITE

ThisForm.grMainLook.RecordSourceType=  1 
ThisForm.grMainLook.RecordSource='&curLook'

	
GO BOTTOM IN &curLook
ThisForm.Refresh()

Когда кликаешь первый раз запись удаляется, кликаешь 2 раз уже на другой записи - она не удаляется.
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33685034
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не подскажет?
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33685043
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да... забыл уточнить: Когда убераешь и снова восстанавливаешь фокус на форме, опять удаляется только 1 запись.
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33685138
_Иван_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я чего не понял в 1-13 ночи, но...
в фоксе вообще записи из таблицы не удаляются,
а помечаются на удаление
(Поиск с контекстом "Максимов удаление записи SET DELETED" рулит)

Удаление записи происходит только при PACK
но эта команда требует экклюзивного открытия таблиц

Вообще хорошие парни не делают установки
SET DELETED ON
а делают офф,
и вообще делают один раз в начале работы приложения.
(опять отправляю к Максимову :-) )

Потом вообще почитай про буферизацию
(удивительно, но опять отправляю к Максимову :-) )
и может быть не надо будет селектовать и тд,
может захочешь вьюшку или курсор адаптер замутить
для удаления нерадивых студентов.
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33685762
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я знаю что они помечаются на удаление. Но у меня в form.activate стоит SET DELETED ON поэтому все помеченные записи не должны отображаться. Весь прикол в том, что при первом нажатии кнопки удаления запись помечается, потом же сколько не щёлкай - результат один. Один выход - это убрать фокус с формы и снова перевести фокус на форму, опять помечается только запись при первом клике....
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33685767
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может порекомендуете какой-нибудь другой код или способ?
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33686134
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил. Просто по другому код переписал, всё получилось.

Другой вопрос возник

Код: plaintext
1.
UPDATE учатся SET учатся.группа = VAL(ThisForm.comGroupe.Value) WHERE учатся.студент = (SELECT студент.код FROM студент WHERE студент.фио = ThisForm.listStudents.DisplayValue)

пишет ошибку Alias COMGROUPE not found , хотя в дебагере показывает нормальное значение ThisForm.comGroupe.Value
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33686150
_Иван_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UPDATE учатся SET учатся.группа = VAL(ThisForm.comGroupe.Value) WHERE учатся.студент = (SELECT студент.код FROM студент WHERE студент.фио = ThisForm.listStudents.DisplayValue)

замени на
local lnGroup, lcStudentsFIO
lnGroup= VAL(ThisForm.comGroupe.Value)
lcStudentsFIO=ThisForm.listStudents.DisplayValue

UPDATE учатся SET учатся.группа = lnGroup WHERE учатся.студент = (SELECT студент.код FROM студент WHERE студент.фио = lcStudentsFIO

|и все у тебя получиться
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33686173
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Иван_ спасибо =) действительно всё получилось =)
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33687138
schemax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё вопрос:
Код: plaintext
groupeCode = SELECT группа.код FROM группа WHERE группа.номер = gVal
Выдаёт ошибку syntax error, если
Код: plaintext
1.
SELECT группа.код FROM группа WHERE группа.номер = gVal
BROWSE
Всё работает...
...
Рейтинг: 0 / 0
проблема с удалению записи
    #33687160
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schemaxЕщё вопрос:
Код: plaintext
groupeCode = SELECT группа.код FROM группа WHERE группа.номер = gVal
Выдаёт ошибку syntax error, если
Код: plaintext
1.
SELECT группа.код FROM группа WHERE группа.номер = gVal
BROWSE
Всё работает...
Попробуйте так и почитайте HELP VFP по команде SELECT - SQL.
Код: plaintext
1.
2.
3.
SELECT группа.код FROM группа INTO ARRAY groupeCode
WHERE группа.номер = gVal
? groupeCode[ 1 ]
С уважением, Алексей.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проблема с удалению записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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