|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.02.2007, 11:19 | #1 |
Регистрация: 12.02.2007
Сообщений: 6
|
разложить поле MEMО в БД по формату
Всем привет! Подскажите!!!
Есть поле MEMO в БД Paradox с таким содержимым: $100000, 3-комнатная, 69,2(48,8)11, кирп., тел.сам., с/у разд., 2 балкона застекл., Улица1 - уг.Улицы 2, без ремонта, продаю. тел1, тел2 Мне нужно его перезаписать в другую таблицу разбив по отдельным полям: цена - 100000$. квартиря - 3х-комнатная квадратура - ..... и т.д. и самое страшное для меня это то, что эти записи в МЕМО не всегда одинаковые. Т.е. цена может находится не на первом месте. заранее спасибо! Если не сможете помочь, то помогите убить моего начальника (шутка) |
12.02.2007, 11:41 | #2 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
кто так поизвращался ?
если бы сразу сделали по уму.. так теперь, скорее всего уйдет больше времени на парсер и сам процесс перегонки. к качестве разделителя нужно использовать сочетание ', ' [в диалоговом режиме] разделять каждую строку на значения в 11 Edit-ах, и спрашивать <OK>, <Cancel> ++ сделать переброску значений м/у Edit-ами ..
Берегите друг друга!
|
12.02.2007, 14:56 | #3 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Ерунда, ничего тут сложного нет.
Каждую запись (строку), используя существующий разделитель (запятая плюс пробел), разбиваем на N-ное количество подстрок и (совершенно справедливо) разносим по эдитам, но... Кто мешает при разноске применить чуть-чуть интеллектуальности в программе? То есть: - цена практически однозначно определяется по наличию в подстроке денежного символа; - количество комнат - по вхождению подстроки "комнат"; - тип дома - по вхождению одной из подстрок "кирп", "панел", "блоч"; Ну, и так далее. Что тут сложного? В результате получим почти 100% правильное распределение данных по соответствующим эдитам. Естественно, подтверждение желательно, и при большом объеме базы это займет некоторое время. Но иногда нужно и ручками поработать, не все ж компьютер за нас пахать будет... |
12.02.2007, 17:55 | #4 |
Регистрация: 12.02.2007
Сообщений: 6
|
ни я уж точно...прога была написана на каком-то старом языке (почти на монускриптах) . Все данные она выдает только в ТХТ-ых файлах.
от меня требуют что бы эти данные работали в современных прогах. теперь по существу вопроса: спасибо за советы, НО... потверждения Ок не пройдет там столько записей мне до пенсии хватит Ок нажимать. второе ... разнос по едитам тоже как-то не то. Понимаете там характиристики квартир могут быть разными где-то есть квадратура, где-то нет. Гто-то добавляются еще что-нибудь. Вот такие пироги. Может кто-то сталкивался с такой проблемой...поделитесь очень надо. |
12.02.2007, 19:57 | #5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
мда, т.е. в МЕМО почти не известно что, и это надо систематизировать? Это уже сложно...
|
12.02.2007, 21:51 | #6 |
Регистрация: 12.02.2007
Сообщений: 6
|
да!
поэтому обратился! |
13.02.2007, 01:03 | #7 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Тогда делаем сначала небольшой анализ с целью выяснения максимального числа показателей, задаем порядок их следования, создаем таблицы для новой базы и по предложенной методе перегоняем данные в новую базу на полном автомате. Где-то поля будут пустыми (вообще-то это нехорошо, лучше, если будет записано что-то вроде "данных нет").
Сомнительные записи можно выдавать на экран для подтверждения или собирать в отдельной таблице. Не думаю, что их будет много. Их-то придется обработать ручками... Цитата:
Последний раз редактировалось mihali4; 13.02.2007 в 01:06. |
|
13.02.2007, 18:06 | #8 |
Регистрация: 12.02.2007
Сообщений: 6
|
А если использовать SQL-запрос. Там есть функция которая ищет слова по совпадению последовательности букв и символов? Например: С/у_р - это санузел раздельный. Определили и записали в таблицу. Что скажете?
|
13.02.2007, 18:23 | #9 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
13.02.2007, 23:19 | #10 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
Боюсь на написание проги уйдет больше времени чем на перенесение ручками.
Можно попробовать написать прогу, которая будет построчно считывать мемо и спрашивать пользователя в какую колонку его записать...
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разложить на сумму наминалов | Иллидан | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.05.2008 15:37 |
Поле в таблице | s.mag | БД в Delphi | 7 | 15.05.2008 18:23 |
Поле | Luciferium | БД в Delphi | 3 | 26.07.2007 14:23 |
Добавить поле | yulia | БД в Delphi | 2 | 12.05.2007 14:12 |