Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удаление пустых записей в начале таблицы / 23 сообщений из 23, страница 1 из 1
23.02.2011, 22:51
    #37132730
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Отдал небольшое приложение в библиотеку. Как то умудряются понасоздавать в начале таблицы кучу пустых записей (около нескольких сотен). Как бы мне программно закрепить за кнопочкой удаление всех пустых записей ?
...
Рейтинг: 0 / 0
23.02.2011, 23:24
    #37132759
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангуст,

например, так:

delete all for empty(field1) or field1 = .null.

здесь field1 - имя поля, пустого в записях, требующих удаления, и непустого для тех записей, которых удалять не нужно.

Однако я бы не волновался на эту тему, а сделал так:
1) не показываал пустые записи без необходимости;
2) вместо добавления новых записей использовал пустые, заполняя их новыми данными.
...
Рейтинг: 0 / 0
24.02.2011, 05:54
    #37132921
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
igorbikМангуст,

например, так:

delete all for empty(field1) or field1 = .null.

здесь field1 - имя поля, пустого в записях, требующих удаления, и непустого для тех записей, которых удалять не нужно.

Однако я бы не волновался на эту тему, а сделал так:
1) не показываал пустые записи без необходимости;
2) вместо добавления новых записей использовал пустые, заполняя их новыми данными.
Я говорю не о пустых полях, а о пустых записях.
Есть ли команда для удаления пустой записи ?
Или придется проверять все поля конкретной записи, т.е. команда физически будет длинной через кучу "И" ?
...
Рейтинг: 0 / 0
24.02.2011, 07:17
    #37132940
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
МангустЯ говорю не о пустых полях, а о пустых записях.
Есть ли команда для удаления пустой записи ?
Или придется проверять все поля конкретной записи, т.е. команда физически будет длинной через кучу "И" ?
Есть просто команда удаления.
Функции проверки что запись пустая в фоксе нет, только через кучу "И"
Если в таблице есть первичный ключ или какие-то поля обязательные к заполнению, то можно проверять только их, т.к. пустота в этих полях - нарушение внутренней логики БД.
...
Рейтинг: 0 / 0
24.02.2011, 10:21
    #37133104
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
МангустЯ говорю не о пустых полях, а о пустых записях.?
Пустая запись - это набор пустых полей в одной строке таблицы
МангустЕсть ли команда для удаления пустой записи ?нет
МангустИли придется проверять все поля конкретной записи, т.е. команда физически будет длинной через кучу "И" ? Все поля не надо проверять. Достаточно определиться, какую запись называть пустой, а какую - нет. Как правило, для этого достаточно найти 1-2 поля, гарантированно заполненных в "нужных" записях и гарантированно пустых в "ненужных". А тогда и удалять путем анализа пустых полей по empty() или .null.
...
Рейтинг: 0 / 0
25.02.2011, 06:07
    #37134829
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангуст,
А давайте всё же разберёмся, откуда берутся эти самые "пустые" записи?
У вас нет контроля данных при редактировании? Вы добавляете запись в таблицу ДО заполнения данных пользователем? Или ещё что?
...
Рейтинг: 0 / 0
25.02.2011, 20:11
    #37136830
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
AndreTMМангуст,
А давайте всё же разберёмся, откуда берутся эти самые "пустые" записи?
У вас нет контроля данных при редактировании? Вы добавляете запись в таблицу ДО заполнения данных пользователем? Или ещё что?
Свою поделку сдал в библиотеку. Когда сам эксплуатируешь, то все нормально, а когда тетки из библиотеки извращаются как хотят, то возникает бездна пустых записей (более 200).
...
Рейтинг: 0 / 0
26.02.2011, 10:08
    #37137215
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангусттетки из библиотеки извращаются как хотят Так вот, извращаются тетки не как хотят, а как программа им разрешакет. И пустышек в след. раз будет не 200, а 2000, и даже не пустышки, а заполненные всякой ерундой данные.
Короче, нужно переписать прогу так, чтобы ничего этого тетки делать не смогли, даже попытки к извращению должны пресекаться, пустые записи не должны плодиться, их пока что надо использовать, как выше я писал, но в принципе всегда надо в качестве пользователя подразумевать дурака или извращенца, пытающегося ппросто убить программу.
...
Рейтинг: 0 / 0
26.02.2011, 20:18
    #37137659
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангуста когда тетки из библиотеки извращаются как хотят

пофлудю, но с намеком.

в крупных компаниях - разраб. ПО ,
есть отделы тестирования,
иногда прим-ся автоматы спец-е.

рассказывали про тестера,
у которого первый этап тестировани был - лечь всем телом на клавиатуру.
...
Рейтинг: 0 / 0
02.03.2011, 03:03
    #37143141
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
прошелмиморассказывали про тестера,
у которого первый этап тестировани был - лечь всем телом на клавиатуру.

В применении к "тёткам" - самое то. Грудью 5-то размера можно убить любой ввод...
...
Рейтинг: 0 / 0
02.03.2011, 11:17
    #37143576
Banditos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
AndreTMпрошелмиморассказывали про тестера,
у которого первый этап тестировани был - лечь всем телом на клавиатуру.

В применении к "тёткам" - самое то. Грудью 5-то размера можно убить любой ввод...
Тоже не по теме, но...

Если этот ввод бездарный.

У моего друга на работе Босс принимает задания так.
Зовет секретаршу Леночку, говорит:
- Вот тебе, Леночка, программа, вот тебе документация - работай.
Достаточно 5 минут, чтобы "умытый" программер ушел допиливать ввод информации и прочие, полезные для пользователей фенечки, типа подсказок, помощи, правильного расположения полей и кнопок, адекватных сообщений и прочего...
...
Рейтинг: 0 / 0
02.03.2011, 20:03
    #37145246
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангуст,
Проиндексируй таблицу по (убыванию!) и включи индекс в обстановку формы. Тогда пустые стоки всегда будут болтаться внизу и их не будет видно. И пусть себе болтаются. Одновременно можно установить обработчик, удаляющий пустышки. А перечислять действительно все записы нет смысла, т.к. в любой записи есть не более 2-3 ключевых полей, если они все не заполнены записьнепригодна к дальнейшему использованию и подлежит удалению.
...
Рейтинг: 0 / 0
03.03.2011, 19:12
    #37147625
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
igorbikМангусттетки из библиотеки извращаются как хотят Так вот, извращаются тетки не как хотят, а как программа им разрешакет. И пустышек в след. раз будет не 200, а 2000, и даже не пустышки, а заполненные всякой ерундой данные.
Короче, нужно переписать прогу так, чтобы ничего этого тетки делать не смогли, даже попытки к извращению должны пресекаться, пустые записи не должны плодиться, их пока что надо использовать, как выше я писал, но в принципе всегда надо в качестве пользователя подразумевать дурака или извращенца, пытающегося ппросто убить программу.
Форму создаю мастером. Кнопики навигации возникают автоматически. Чтобы предотвратить запись пустых строк нужно влезть в коды кнопки "сохранить". Как это сделать ? Они для редактирования недоступны.
...
Рейтинг: 0 / 0
03.03.2011, 19:32
    #37147646
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
МангустФорму создаю мастером.Вот она, самая первая и самая главная ошибка. Из которой вытекают все остальные. Кнопики навигации возникают автоматически.Они не возникают и не автоматически. Они просто лежат в классе, на базе которого создается форма. Чтобы предотвратить запись пустых строк нужно влезть в коды кнопки "сохранить". Как это сделать ? Они для редактирования недоступны.Они доступны. хоть и не видимы. Доступность и видимость - несколько разные вещи. Кнопочку View parent code пробовали нажимать?
...
Рейтинг: 0 / 0
03.03.2011, 19:33
    #37147647
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангуст, придется редактировать класс wizstyle.
Делать это не рекомендую.
Не в классе дело, видимо, а в порядке заполнения записей. Проверь сам, какие нужно нажать кнопки, чтобы появились пустышки, и делай выводы, как это предотвратить.
Кнопки, на самом деле, лучше свои писать, чтобы рзбираться в их работе.
...
Рейтинг: 0 / 0
03.03.2011, 20:42
    #37147767
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Sergey Sizov Кнопочку View parent code пробовали нажимать?
Использую Visual FoxPro 6.0
Эта кнопка или речь идет о совсем другой кнопке ?
...
Рейтинг: 0 / 0
03.03.2011, 21:18
    #37147804
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
igorbik Кнопки, на самом деле, лучше свои писать, чтобы разбираться в их работе.
Поискал коды кнопок навигации в нете, не нашел. Водной книге у меня были, но книгу придется искать.
Т.е. надо будет в начале кода кнопки "сохранить" разместить проверку заполненности записи
...
Рейтинг: 0 / 0
03.03.2011, 23:16
    #37147923
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
МангустПоискал коды кнопок навигации в нете, не нашел. Водной книге у меня были, но книгу придется искать.Плохо искал. Например,
http://www.alvechurchdata.co.uk/fox101navig.htm
здесь простейшая навигация. Если поискать,- много чего найти можно.
А также смотри примеры к ФоксПро (папка Samples в домашней директории Фокса). Там и навигация есть, и кнопки удаления/добавления записей:
Data entry -> Create a ... data entry form и прочее оттуда.
...
Рейтинг: 0 / 0
03.03.2011, 23:31
    #37147941
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Вот еще поинтереснее, но и посложнее.
Простая форма с навигацией от Леса Пинтера:
http://vbnet-migrate.info/Sams-Visual.FoxPro.to.Visual.Basic..NET/0672326493/ch02lev1sec1.html#ch02fig01
...
Рейтинг: 0 / 0
04.03.2011, 01:53
    #37148038
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Ага...
И никто не запрещает сначала создать свой контейнер (для тех же кнопочек) на основе визард-класса, а потом уже в нём править нужные методы...
...
Рейтинг: 0 / 0
04.03.2011, 10:13
    #37148310
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
МангустSergey Sizov Кнопочку View parent code пробовали нажимать?
Использую Visual FoxPro 6.0А вот версию надо сообщать вместе с вопросом. Не было в 6-ке такой кнопки.Эта кнопка или речь идет о совсем другой кнопке ?Нет, речь про другую.
...
Рейтинг: 0 / 0
04.03.2011, 10:15
    #37148321
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
Мангустigorbik Кнопки, на самом деле, лучше свои писать, чтобы разбираться в их работе.
Поискал коды кнопок навигации в нете, не нашел. Водной книге у меня были, но книгу придется искать.
Т.е. надо будет в начале кода кнопки "сохранить" разместить проверку заполненности записиДа. По результатм проверки или dodefault() или ничего не делать. И не надо искать какой-то код и его изменять.
...
Рейтинг: 0 / 0
05.03.2011, 22:16
    #37151574
Мангуст
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление пустых записей в начале таблицы
За кнопкой edit закреплен код:

edit
#DEFINE C_NOUPDATE_LOC "You cannot edit because the view(s) selected does not send updates."

LOCAL lNoSendParentUpdates,lNoSendChildUpdates
LOCAL aTablesUsed,nTablesUsed,i

IF EMPTY(ALIAS())
RETURN
ENDIF

** Reverting record
IF THIS.Parent.EditMode

IF THIS.Parent.UseDataEnv
SELECT (THIS.Parent.OldAlias)
IF CURSORGETPROP("Buffering")>1
=TableRevert(.T.)
ENDIF
IF !EMPTY(THIS.Parent.GridAlias)
SELECT (THIS.Parent.GridAlias)
IF CURSORGETPROP("Buffering")>1
=TableRevert(.T.)
ENDIF
ENDIF
ELSE
DIMENSION aTablesUsed[1]
m.nTablesUsed = AUSED(aTablesUsed)
FOR i = 1 TO m.nTablesUsed
IF CURSORGETPROP("Buffering",aTablesUsed[m.i,1])>1
=TableRevert(.T.,aTablesUsed[m.i,1])
ENDIF
ENDFOR
ENDIF

* Go back to original place
SELECT (THIS.Parent.OldAlias)
IF RECCOUNT() < THIS.Parent.OldRec &&added record at EOF()
GO TOP
ELSE
GO THIS.Parent.OldRec
ENDIF
ELSE

* Check to see if view allows updates
IF CURSORGETPROP("SourceType")#3 AND !CURSORGETPROP("offline") AND;
!CURSORGETPROP("SendUpdates")
lNoSendParentUpdates = .T.
ENDIF
IF !EMPTY(THIS.Parent.GridAlias) AND ;
CURSORGETPROP("SourceType",THIS.Parent.GridAlias)#3 AND ;
!CURSORGETPROP("offline",THIS.Parent.GridAlias) AND ;
!CURSORGETPROP("SendUpdates",THIS.Parent.GridAlias)
lNoSendChildUpdates= .T.
ENDIF

IF (m.lNoSendChildUpdates AND m.lNoSendParentUpdates) OR;
(EMPTY(THIS.Parent.GridAlias) AND m.lNoSendParentUpdates)
=MESSAGEBOX(C_NOUPDATE_LOC)
RETURN
ENDIF

THIS.Parent.OldAlias = ALIAS() &&save alias in case reverting
THIS.Parent.OldRec = RECNO() &&save record in case reverting
ENDIF

** Editing record
THIS.Parent.EditMode = !THIS.Parent.EditMode
THIS.Parent.AddMode = .F.
THIS.Parent.ButtonRefresh()
THIS.Parent.NavRefresh()

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


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