Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проблема с удалению записи / 11 сообщений из 11, страница 1 из 1
23.04.2006, 15:10
    #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
23.04.2006, 20:10
    #33685034
schemax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
Никто не подскажет?
...
Рейтинг: 0 / 0
23.04.2006, 20:37
    #33685043
schemax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
Да... забыл уточнить: Когда убераешь и снова восстанавливаешь фокус на форме, опять удаляется только 1 запись.
...
Рейтинг: 0 / 0
24.04.2006, 01:19
    #33685138
_Иван_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
Может я чего не понял в 1-13 ночи, но...
в фоксе вообще записи из таблицы не удаляются,
а помечаются на удаление
(Поиск с контекстом "Максимов удаление записи SET DELETED" рулит)

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

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

Потом вообще почитай про буферизацию
(удивительно, но опять отправляю к Максимову :-) )
и может быть не надо будет селектовать и тд,
может захочешь вьюшку или курсор адаптер замутить
для удаления нерадивых студентов.
...
Рейтинг: 0 / 0
24.04.2006, 11:55
    #33685762
schemax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
Да я знаю что они помечаются на удаление. Но у меня в form.activate стоит SET DELETED ON поэтому все помеченные записи не должны отображаться. Весь прикол в том, что при первом нажатии кнопки удаления запись помечается, потом же сколько не щёлкай - результат один. Один выход - это убрать фокус с формы и снова перевести фокус на форму, опять помечается только запись при первом клике....
...
Рейтинг: 0 / 0
24.04.2006, 11:57
    #33685767
schemax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
Может порекомендуете какой-нибудь другой код или способ?
...
Рейтинг: 0 / 0
24.04.2006, 13:49
    #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
24.04.2006, 13:55
    #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
24.04.2006, 14:01
    #33686173
schemax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
_Иван_ спасибо =) действительно всё получилось =)
...
Рейтинг: 0 / 0
24.04.2006, 18:39
    #33687138
schemax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с удалению записи
Ещё вопрос:
Код: plaintext
groupeCode = SELECT группа.код FROM группа WHERE группа.номер = gVal
Выдаёт ошибку syntax error, если
Код: plaintext
1.
SELECT группа.код FROM группа WHERE группа.номер = gVal
BROWSE
Всё работает...
...
Рейтинг: 0 / 0
24.04.2006, 19:00
    #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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проблема с удалению записи / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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