Цитата: Имеется вопрос: есть БД, в которой более 40 000 записей. Нужно поле "Фамилия, имя, отчество" разделить на три - "фамилия", "имя", "отчество". В рукопашную делать муторно и очень долго. Есть ли способ автоматизировать этот процесс? Если есть - то КАК? Подскажите пожалуйста! Версия Cronosa - 3.02.24.
Я использую следущую формулу:
ФЗ02:=FIELD(ФЗ01, " ",1);
ФЗ03:=FIELD(ФЗ01, " ",2);
ФЗ04:=FIELD(ФЗ01, " ",3);
@AA:=LEN(ФЗ01);
@II:=LEN(ФЗ02);
@GG:=LEN(ФЗ03);
@UU:=LEN(ФЗ04);
Естественно подставляешь свои данные.
Теперь по порядку. У тебя есть некое поле ФИО ФЗ01. Создаешь дополнительные поля, например Фамилия ФЗ02, Имя ФЗ03, отчество ФЗ04
ФЗ02:=FIELD(ФЗ01, " ",1); - полю №02 присвоено первое отделяемое пробелом значение поля №01, соответствующее Фамилии
ФЗ03:=FIELD(ФЗ01, " ",2); - полю №03 присвоено второе отделяемое пробелом значение поля №01, соответствующее Имени
ФЗ04:=FIELD(ФЗ01, " ",3); - полю №04 присвоено третье отделяемое пробелом значение поля №01, соответствующее Отчеству
@AA:=LEN(ФЗ01); - подсчитать длину значения поля №01
@II:=LEN(ФЗ02); - подсчитать длину значения поля №02
@GG:=LEN(ФЗ03); - подсчитать длину значения поля №03
@UU:=LEN(ФЗ04); - подсчитать длину значения поля №04
Все, заносишь формулу, массовая коррекция с просчетом формул и готово. Только бэкап на всякий случай сделай.
Проверяешь если все ОК, поле ФИО ФЗ01 можешь удалять.