Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Запрос на разделение поля.  [new]
torchXVI
Member

Откуда:
Сообщений: 119
Поле состоит из неравных частей, разделенных пробелом, допустим поле IO
состоит из имени и отчества типа:
|Иван Васильевич|
|Семен Петрович| и т.д.
Создаем новые поля ИМЯ и ОТЧЕСТВО
Как корректно составить запрос, чтобы первая часть первоначального объединенного поля ИО (до пробела) попадала в поле ИМЯ, а вторая часть - в поле ОТЧЕСТВО?
30 авг 05, 19:06    [1830416]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на разделение поля.  [new]
werwerwerwrwerwer
Guest
torchXVI
попадала в поле ИМЯ, а вторая часть - в поле ОТЧЕСТВО?


искать в стринге первый пробел и брать в поле ФАМИЛИЯ столько знаков слева, сколько знакомест в стринге до позиции первого пробела оставшиеся, за вычетом пробела, брать справа и вставлять в поле ИМЯ_ОТЧЕСТВО
30 авг 05, 19:16    [1830446]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на разделение поля.  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
left(XXX,instr(XXX," ")-1)
mid(XXX,instr(XXX," ")+1)
30 авг 05, 19:16    [1830448]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на разделение поля.  [new]
torchXVI
Member

Откуда:
Сообщений: 119
Владимир Саныч
left(XXX,instr(XXX," ")-1)
mid(XXX,instr(XXX," ")+1)


А как создать запрос?
Объединенное поле допустим IO

UPDATE MYTABLE SET MYTABLE.ФАМИЛИЯ =
UPDATE MYTABLE SET MYTABLE.ОТЧЕСТВО =
31 авг 05, 14:11    [1832694]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на разделение поля.  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
... = то, что я написал выше. Вместо XXX надо подставить название поля, в котором находится имя с отчеством вместе.
31 авг 05, 14:25    [1832766]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на разделение поля.  [new]
Пользователь2
Guest
UPDATE MYTABLE SET MYTABLE.ФАМИЛИЯ = Left([IO],InStr([IO]," ")-1), 
MYTABLE.ОТЧЕСТВО = Mid([IO],InStr([IO]," ")+1);
31 авг 05, 14:28    [1832787]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на разделение поля.  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
UPDATE MYTABLE SET MYTABLE.ИМЯ = Left([IO],InStr([IO]," ")-1), 
MYTABLE.ОТЧЕСТВО = Mid([IO],InStr([IO]," ")+1);
31 авг 05, 14:47    [1832901]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить