|
|
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
Мне снова нужна Ваша помощь :)) Мне необходимо сделать перекрестный запрос из двух таблиц. В первой (исходной) в поле ФИО запись имеет вид ПЕТРОВ ПЕТР ПЕТРОВИЧ, а в другой Петров П.П. С регистром я разобралась, а как вот стравнивать остальное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 13:55 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
Нужно ключевое поле - уникальный идентификатор каждой записи в таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 13:59 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
У меня есть поля: № полиса, Фио в обеих таблицах. Нужно проверить: 1. Есть ли человек в базе. Это проверяется при помощи уникальной записи - полис. 2. Действительно ли этому полису соответсвует имя. Вот тут начинается сложность. Т.е. должны совпадать два поля: Фио и № полиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 14:39 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
>Вот тут начинается сложность Сложности начились гораздо раньше - на этапе проектирования таблиц. Лучше сделай таблицу Клиенты, а код клиента из этой талицы используй в таблицах ВыданыСтраховки (ну и в других). НИ КАКИХ ФАМИЛИЙ там быть не должно! При опредленном везении - можно быстро исправить существующую бд - хотя и займет больше времени, чем извраты с ПЕТРОВ ПЕТР ПЕТРОВИЧ, а в другой Петров П.П ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 14:45 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
Базу проектировала не я :)). И доступа к исходным таблицам у меня нет. И они под Oracl, а я в Access (это впрочем не важно). Вторая таблица - это приходящие отчеты, можно заставить их присылать в определенном виде, но сами знаете... В общем, реально что-нибудь с этим сделать или я туплю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 15:13 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
ПЕТРОВ ПЕТР ПЕТРОВИЧ Петров П.П Надо написать функцию, которая будет дробить UCase от каждого стринга по пробелам (и точкам) и сравнивать компоненты попарно. Должно выдаваться True, если для каждой пары верно следующее: либо обе компоненты совпадают, либо одна из них имеет длину 1 и является началом другой. И все это все равно очень ненадежно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 15:17 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
Если и будет написана такая функция, то код ее будет как І том "Война и Мир", учтите еще с какой скоростью она будет работать :) ведь надо циклом перебрать каждое поле :( а если еще чайники наделают ошибок при вводе фамилий скажем ПЕТРОВ ПЕТРПЕТРОВИЧ или того хуже ПЕТРОВ ПЕ ТР ПЕТ РОВИЧ нет, так дело не пойдет у меня на такое всегда три поля ФИО1 ФИО2 ФИО3 а потом уж клей что хочешь [ФИО1]&chr(32)&Left([ФИО2],1)&'.'&chr(32)&Left([ФИО3],1)&'.' вот и будет ПЕТРОВ П. П. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 01:48 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
2СириусБи >а потом уж клей что хочешь А что будет с твоим "клей что хочешь", если в одном из полей Null? Можешь не отвечать - то же Null Надо по такому принципу "aaa" & (" ." + Null ) & (" ." + "S") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 09:06 |
|
||
|
Перекрестный запрос
|
|||
|---|---|---|---|
|
#18+
Какой-то сильно перекрестный запрос получается :). А функция, которая из ПЕТРОВ ПЕТР ПЕТРОВИЧ возвращает Петров П.П занимает явно меньше первой станицы романа "Войны и мир", и вариант Саныча отловит за одно все ошибки типа ПЕТРОВ ПЕ ТР ПЕТ РОВИЧ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 09:20 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1717&tid=1678091]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 359ms |

| 0 / 0 |
