|
|
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Леди и джентльмены! Посоветуйте, пожалуйста. У меня третий год запущен проект, я его периодически правлю по мелочам, косметику накладываю. А тут возникла проблем с ним. В таблице Clients были поля cserpas и cnompas (серия и номер паспорта клиента). Эти поля были обязательными, на форме я проставила защиту, которая не допускала бы их пустых значений. Был проставлен Candidate-индекс (cserpas+cnompas). Теперь начальница приехала с совещания и привезла новость: наличие сведений о паспорте желательно, но необязательно. Получается, Candidate-индекс я должна поменять на Regular из-за повторяющихся пустых значений этих полей? И проверку на совпадение паспортов в таблице производить в форме через SEEK? Как лучше поступить? Благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 08:41 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Разрешить этим полям содержать Null и его и вставлять при отсутствии данных. Все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 09:12 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Вообще-то, я не уверен, что значение серии+номера паспорта - это уникальная характеристика. С нашим родным государством в этом ну никак нельзя быть уверенным. Вполне могут оказаться одинаковые значения у разных людей. Поэтому контроль уникальности значения - это "для справки". Желательно, но не обязательно. Просто ставишь пользователя в известность, что такие номера уже есть, а исправлять их или оставить "как есть" - по желанию. Да и необходимости в индексе по этим полям я не вижу. В случае контроля уникальности - понятно. Но если уникальность не обязательна, то зачем вообще индекс? Я бы просто удалил индекс по этим полям. Даже проверку в форме делать не обязательно. Разумеется, если с уникальностью этих полей не связан еще какой-либо функционал приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 11:24 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
ВладимирМДа и необходимости в индексе по этим полям я не вижу. В случае контроля уникальности - понятно. Но если уникальность не обязательна, то зачем вообще индекс?У меня в другой форме грид имеет возможность по желанию пользователя сортироваться по удостоверению личности. Можно грид и через выборку выводить, но хлопотни-то больше в коде. Sergey Sizov.Разрешить этим полям содержать Null и его и вставлять при отсутствии данных. Все.Я проставила в редакторе таблице у этих полей значение Null. Индекс оставила Candidate. Но это ничего не дало мне. Сообщение о совпадющих значениях паспортов выдается при попытке сохранить запись на втором же пустом значении. Что делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 11:52 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
ЛисонькаЯ проставила в редакторе таблице у этих полей значение 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 11:59 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
PaulWistNULL значение хоть и не определены, но для кандидат-индекса два NULL-а недопустимо, повторяющиеся значения Так я про то и говорю, что совет Sergey Sizov не подходит в моем случае. Так значит использовать SEEK? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 12:17 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Надо: - отказаться от кандидата - разрешить NULL - создать два индекса regular для (cserpas,cnompas) - нализировать/контролировать совпадение только по полям с введенными значениями (cserpas,cnompas), поскольку при отсутствии инфы по какому-то полю обязательно найдётся уже документ с не введенным реквизитом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 12:30 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
PaulWistНадо: - отказаться от кандидата - разрешить NULL - создать два индекса regular для (cserpas,cnompas) - нализировать/контролировать совпадение только по полям с введенными значениями (cserpas,cnompas), поскольку при отсутствии инфы по какому-то полю обязательно найдётся уже документ с не введенным реквизитом.Все. Вы развеяли мои сомнения. И проверка обязательно по обоим полям - номера у паспартов за последние года полтора пошли по второму кругу, все различие в серии, это я знаю точно. Благодарю всем, всем, всем! Елизавета Скрунскайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 12:39 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Ну, в смысле: благодарю всех, всех, всех! )) Е.С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 12:40 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Можно избежать сообщение о повторяющихся пустых полях, если завести индекс с условием FOR NOT(EMPTY). Seek по этому индексу тоже можно использовать, а вот Rushmore - нет. Для Rushmore потребуется еще один индекс, без фильтра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:15 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
Конечно же Index on cserpas + cnompas For Not Empty(cserpas) and not Empty(cnompas) tag CHECK Candidate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:20 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
karlyКонечно же Index on cserpas + cnompas For Not Empty(cserpas) and not Empty(cnompas) tag CHECK Candidate Это чё CHECK Candidate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:24 |
|
||
|
Как поступить с Candidate-индексом?
|
|||
|---|---|---|---|
|
#18+
CHECK - это имя тега ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:26 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34878369&tid=1588636]: |
0ms |
get settings: |
14ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 368ms |

| 0 / 0 |
