|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Отдал небольшое приложение в библиотеку. Как то умудряются понасоздавать в начале таблицы кучу пустых записей (около нескольких сотен). Как бы мне программно закрепить за кнопочкой удаление всех пустых записей ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2011, 22:51 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангуст, например, так: delete all for empty(field1) or field1 = .null. здесь field1 - имя поля, пустого в записях, требующих удаления, и непустого для тех записей, которых удалять не нужно. Однако я бы не волновался на эту тему, а сделал так: 1) не показываал пустые записи без необходимости; 2) вместо добавления новых записей использовал пустые, заполняя их новыми данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2011, 23:24 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
igorbikМангуст, например, так: delete all for empty(field1) or field1 = .null. здесь field1 - имя поля, пустого в записях, требующих удаления, и непустого для тех записей, которых удалять не нужно. Однако я бы не волновался на эту тему, а сделал так: 1) не показываал пустые записи без необходимости; 2) вместо добавления новых записей использовал пустые, заполняя их новыми данными. Я говорю не о пустых полях, а о пустых записях. Есть ли команда для удаления пустой записи ? Или придется проверять все поля конкретной записи, т.е. команда физически будет длинной через кучу "И" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2011, 05:54 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
МангустЯ говорю не о пустых полях, а о пустых записях. Есть ли команда для удаления пустой записи ? Или придется проверять все поля конкретной записи, т.е. команда физически будет длинной через кучу "И" ? Есть просто команда удаления. Функции проверки что запись пустая в фоксе нет, только через кучу "И" Если в таблице есть первичный ключ или какие-то поля обязательные к заполнению, то можно проверять только их, т.к. пустота в этих полях - нарушение внутренней логики БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2011, 07:17 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
МангустЯ говорю не о пустых полях, а о пустых записях.? Пустая запись - это набор пустых полей в одной строке таблицы МангустЕсть ли команда для удаления пустой записи ?нет МангустИли придется проверять все поля конкретной записи, т.е. команда физически будет длинной через кучу "И" ? Все поля не надо проверять. Достаточно определиться, какую запись называть пустой, а какую - нет. Как правило, для этого достаточно найти 1-2 поля, гарантированно заполненных в "нужных" записях и гарантированно пустых в "ненужных". А тогда и удалять путем анализа пустых полей по empty() или .null. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2011, 10:21 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангуст, А давайте всё же разберёмся, откуда берутся эти самые "пустые" записи? У вас нет контроля данных при редактировании? Вы добавляете запись в таблицу ДО заполнения данных пользователем? Или ещё что? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2011, 06:07 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
AndreTMМангуст, А давайте всё же разберёмся, откуда берутся эти самые "пустые" записи? У вас нет контроля данных при редактировании? Вы добавляете запись в таблицу ДО заполнения данных пользователем? Или ещё что? Свою поделку сдал в библиотеку. Когда сам эксплуатируешь, то все нормально, а когда тетки из библиотеки извращаются как хотят, то возникает бездна пустых записей (более 200). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2011, 20:11 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангусттетки из библиотеки извращаются как хотят Так вот, извращаются тетки не как хотят, а как программа им разрешакет. И пустышек в след. раз будет не 200, а 2000, и даже не пустышки, а заполненные всякой ерундой данные. Короче, нужно переписать прогу так, чтобы ничего этого тетки делать не смогли, даже попытки к извращению должны пресекаться, пустые записи не должны плодиться, их пока что надо использовать, как выше я писал, но в принципе всегда надо в качестве пользователя подразумевать дурака или извращенца, пытающегося ппросто убить программу. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2011, 10:08 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангуста когда тетки из библиотеки извращаются как хотят пофлудю, но с намеком. в крупных компаниях - разраб. ПО , есть отделы тестирования, иногда прим-ся автоматы спец-е. рассказывали про тестера, у которого первый этап тестировани был - лечь всем телом на клавиатуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2011, 20:18 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
прошелмиморассказывали про тестера, у которого первый этап тестировани был - лечь всем телом на клавиатуру. В применении к "тёткам" - самое то. Грудью 5-то размера можно убить любой ввод... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 03:03 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
AndreTMпрошелмиморассказывали про тестера, у которого первый этап тестировани был - лечь всем телом на клавиатуру. В применении к "тёткам" - самое то. Грудью 5-то размера можно убить любой ввод... Тоже не по теме, но... Если этот ввод бездарный. У моего друга на работе Босс принимает задания так. Зовет секретаршу Леночку, говорит: - Вот тебе, Леночка, программа, вот тебе документация - работай. Достаточно 5 минут, чтобы "умытый" программер ушел допиливать ввод информации и прочие, полезные для пользователей фенечки, типа подсказок, помощи, правильного расположения полей и кнопок, адекватных сообщений и прочего... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 11:17 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангуст, Проиндексируй таблицу по (убыванию!) и включи индекс в обстановку формы. Тогда пустые стоки всегда будут болтаться внизу и их не будет видно. И пусть себе болтаются. Одновременно можно установить обработчик, удаляющий пустышки. А перечислять действительно все записы нет смысла, т.к. в любой записи есть не более 2-3 ключевых полей, если они все не заполнены записьнепригодна к дальнейшему использованию и подлежит удалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 20:03 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
igorbikМангусттетки из библиотеки извращаются как хотят Так вот, извращаются тетки не как хотят, а как программа им разрешакет. И пустышек в след. раз будет не 200, а 2000, и даже не пустышки, а заполненные всякой ерундой данные. Короче, нужно переписать прогу так, чтобы ничего этого тетки делать не смогли, даже попытки к извращению должны пресекаться, пустые записи не должны плодиться, их пока что надо использовать, как выше я писал, но в принципе всегда надо в качестве пользователя подразумевать дурака или извращенца, пытающегося ппросто убить программу. Форму создаю мастером. Кнопики навигации возникают автоматически. Чтобы предотвратить запись пустых строк нужно влезть в коды кнопки "сохранить". Как это сделать ? Они для редактирования недоступны. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 19:12 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
МангустФорму создаю мастером.Вот она, самая первая и самая главная ошибка. Из которой вытекают все остальные. Кнопики навигации возникают автоматически.Они не возникают и не автоматически. Они просто лежат в классе, на базе которого создается форма. Чтобы предотвратить запись пустых строк нужно влезть в коды кнопки "сохранить". Как это сделать ? Они для редактирования недоступны.Они доступны. хоть и не видимы. Доступность и видимость - несколько разные вещи. Кнопочку View parent code пробовали нажимать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 19:32 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангуст, придется редактировать класс wizstyle. Делать это не рекомендую. Не в классе дело, видимо, а в порядке заполнения записей. Проверь сам, какие нужно нажать кнопки, чтобы появились пустышки, и делай выводы, как это предотвратить. Кнопки, на самом деле, лучше свои писать, чтобы рзбираться в их работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 19:33 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Sergey Sizov Кнопочку View parent code пробовали нажимать? Использую Visual FoxPro 6.0 Эта кнопка или речь идет о совсем другой кнопке ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 20:42 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
igorbik Кнопки, на самом деле, лучше свои писать, чтобы разбираться в их работе. Поискал коды кнопок навигации в нете, не нашел. Водной книге у меня были, но книгу придется искать. Т.е. надо будет в начале кода кнопки "сохранить" разместить проверку заполненности записи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 21:18 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
МангустПоискал коды кнопок навигации в нете, не нашел. Водной книге у меня были, но книгу придется искать.Плохо искал. Например, http://www.alvechurchdata.co.uk/fox101navig.htm здесь простейшая навигация. Если поискать,- много чего найти можно. А также смотри примеры к ФоксПро (папка Samples в домашней директории Фокса). Там и навигация есть, и кнопки удаления/добавления записей: Data entry -> Create a ... data entry form и прочее оттуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 23:16 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Вот еще поинтереснее, но и посложнее. Простая форма с навигацией от Леса Пинтера: http://vbnet-migrate.info/Sams-Visual.FoxPro.to.Visual.Basic..NET/0672326493/ch02lev1sec1.html#ch02fig01 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 23:31 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Ага... И никто не запрещает сначала создать свой контейнер (для тех же кнопочек) на основе визард-класса, а потом уже в нём править нужные методы... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 01:53 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
МангустSergey Sizov Кнопочку View parent code пробовали нажимать? Использую Visual FoxPro 6.0А вот версию надо сообщать вместе с вопросом. Не было в 6-ке такой кнопки.Эта кнопка или речь идет о совсем другой кнопке ?Нет, речь про другую. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 10:13 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
Мангустigorbik Кнопки, на самом деле, лучше свои писать, чтобы разбираться в их работе. Поискал коды кнопок навигации в нете, не нашел. Водной книге у меня были, но книгу придется искать. Т.е. надо будет в начале кода кнопки "сохранить" разместить проверку заполненности записиДа. По результатм проверки или dodefault() или ничего не делать. И не надо искать какой-то код и его изменять. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 10:15 |
|
удаление пустых записей в начале таблицы
|
|||
---|---|---|---|
#18+
За кнопкой 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 входят сюда ? Отдельно не удается увидеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 22:16 |
|
|
start [/forum/topic.php?fid=41&msg=37137215&tid=1584508]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 307ms |
total: | 451ms |
0 / 0 |