powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как поступить с Candidate-индексом?
14 сообщений из 14, страница 1 из 1
Как поступить с Candidate-индексом?
    #34876889
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леди и джентльмены!
Посоветуйте, пожалуйста.
У меня третий год запущен проект, я его периодически правлю по мелочам, косметику накладываю. А тут возникла проблем с ним.
В таблице Clients были поля cserpas и cnompas (серия и номер паспорта клиента). Эти поля были обязательными, на форме я проставила защиту, которая не допускала бы их пустых значений. Был проставлен Candidate-индекс (cserpas+cnompas).
Теперь начальница приехала с совещания и привезла новость: наличие сведений о паспорте желательно, но необязательно. Получается, Candidate-индекс я должна поменять на Regular из-за повторяющихся пустых значений этих полей? И проверку на совпадение паспортов в таблице производить в форме через SEEK?
Как лучше поступить?

Благодарю.
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34876916
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разрешить этим полям содержать Null и его и вставлять при отсутствии данных. Все.
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877280
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, я не уверен, что значение серии+номера паспорта - это уникальная характеристика. С нашим родным государством в этом ну никак нельзя быть уверенным. Вполне могут оказаться одинаковые значения у разных людей.

Поэтому контроль уникальности значения - это "для справки". Желательно, но не обязательно. Просто ставишь пользователя в известность, что такие номера уже есть, а исправлять их или оставить "как есть" - по желанию.

Да и необходимости в индексе по этим полям я не вижу. В случае контроля уникальности - понятно. Но если уникальность не обязательна, то зачем вообще индекс?

Я бы просто удалил индекс по этим полям. Даже проверку в форме делать не обязательно. Разумеется, если с уникальностью этих полей не связан еще какой-либо функционал приложения.
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877364
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМДа и необходимости в индексе по этим полям я не вижу. В случае контроля уникальности - понятно. Но если уникальность не обязательна, то зачем вообще индекс?У меня в другой форме грид имеет возможность по желанию пользователя сортироваться по удостоверению личности. Можно грид и через выборку выводить, но хлопотни-то больше в коде.
Sergey Sizov.Разрешить этим полям содержать Null и его и вставлять при отсутствии данных. Все.Я проставила в редакторе таблице у этих полей значение Null. Индекс оставила Candidate. Но это ничего не дало мне. Сообщение о совпадющих значениях паспортов выдается при попытке сохранить запись на втором же пустом значении.
Что делаю не так?
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877394
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛисонькаЯ проставила в редакторе таблице у этих полей значение Null. Индекс оставила Candidate. Но это ничего не дало мне. Сообщение о совпадющих значениях паспортов выдается при попытке сохранить запись на втором же пустом значении.
Что делаю не так?

NULL значение хоть и не определены, но для кандидат-индекса два NULL-а недопустимо, повторяющиеся значения

авторCandidate indexes do not permit duplicate values in fields. If you create a candidate index for one or more fields that contain duplicate values, Visual FoxPro generates an error.
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877474
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistNULL значение хоть и не определены, но для кандидат-индекса два NULL-а недопустимо, повторяющиеся значения Так я про то и говорю, что совет Sergey Sizov не подходит в моем случае.
Так значит использовать SEEK?
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877532
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо:
- отказаться от кандидата
- разрешить NULL
- создать два индекса regular для (cserpas,cnompas)
- нализировать/контролировать совпадение только по полям с введенными значениями (cserpas,cnompas), поскольку при отсутствии инфы по какому-то полю обязательно найдётся уже документ с не введенным реквизитом.
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877580
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistНадо:
- отказаться от кандидата
- разрешить NULL
- создать два индекса regular для (cserpas,cnompas)
- нализировать/контролировать совпадение только по полям с введенными значениями (cserpas,cnompas), поскольку при отсутствии инфы по какому-то полю обязательно найдётся уже документ с не введенным реквизитом.Все. Вы развеяли мои сомнения. И проверка обязательно по обоим полям - номера у паспартов за последние года полтора пошли по второму кругу, все различие в серии, это я знаю точно.
Благодарю всем, всем, всем!

Елизавета Скрунскайте
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34877583
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, в смысле: благодарю всех, всех, всех! ))

Е.С.
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34878315
karly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно избежать сообщение о повторяющихся пустых полях, если завести индекс с условием FOR NOT(EMPTY).

Seek по этому индексу тоже можно использовать, а вот Rushmore - нет. Для Rushmore потребуется еще один индекс, без фильтра
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34878339
karly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно же
Index on cserpas + cnompas For Not Empty(cserpas) and not Empty(cnompas) tag CHECK Candidate
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34878353
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karlyКонечно же
Index on cserpas + cnompas For Not Empty(cserpas) and not Empty(cnompas) tag CHECK Candidate

Это чё CHECK Candidate
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34878360
karly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CHECK - это имя тега
...
Рейтинг: 0 / 0
Как поступить с Candidate-индексом?
    #34878369
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то не кузяво использовать зарезервированные слова.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как поступить с Candidate-индексом?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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