Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбиение текстового поля на несколько составляющих
 
 автор: Аноним   (17.10.2006 в 19:54)
 
 

Прошу помощи знающих людей.
У меня возникла необходимость откорректировать таблицу прайс-листа, а имеено, разбить содержимое одного поля на 3 части. Например, в таблице Table1, запись1, поле NAME содержит "Subaru Outlander (1995г.в.)(черный)". Я создал новую таблицу Table2, в которой уже 3 поля: NAME, DATA, COLOR. Помогите написать программку под Acces97, которая могла бы автоматически разбить поле NAME из Table1и вставить в Table2 NAME="Subaru Outlander", DATA="1995г.в.", COLOR="черный".
Я бы сделал это вручную, но у меня более 20тыс.записей...

Заранее благодарю!

С уважением, Александр.

  Ответить  
 
 автор: Аноним   (30.10.2006 в 11:46)
 
 

Попробуйте использовать функцию поиска в строке подстроки Strings.InStr. Если поискать "(" или ")", можно определить номер первого и последнего символа фрагмента строки для нового поля, а потом вырезать нужную часть функцией Strings.mid.

  Ответить  
 
 автор: osmor   (30.10.2006 в 12:40)   личное сообщение
 
 

ему уже ответили. это дубль. А настоящий, с ответом, я случайно убил

  Ответить  
 
 автор: Чайник   (06.01.2007 в 16:47)   личное сообщение
 
 

Очень жаль. Мне это тоже нужно. Если можно поподробнее как это сделать.

  Ответить  
 
 автор: час   (07.01.2007 в 20:54)   личное сообщение
 
 

в запросе на создание таблицы
name: Mid([поле name];1;InStr(1;[поле name];"(";1)-1)
datA: Mid([поле name];InStr(1;[поле name];"(";1)+1;6)
COLOR: Mid([поле name];InStr(1;[поле name];")(";1)+2;InStr(1;[поле name];")(";1)-(Len([NAME])+Len([DATA]))+2)

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList