Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удаление пробелов [D6, Access]


pashaz ©   (2003-12-25 10:40:00) 

Привет.

Есть база, в ней поле типа text. Содержимое примерно следующее:
А 000 876 434

Как правильно удалить все пробелы во всех записях в этом поле?


sniknik   (2003-12-25 11:10:00) [1]

передние нули нужны?
запросом cStr(CLng("000 876 434"))
UPDATE Table SET Filed = cStr(CLng(Filed))

количество пробелов в поле постоянное? тоже можно запросом
или в несколько проходов (это первый пробел)
UPDATE Table SET Filed = Left(Filed, InStr(Filed, " ")-1)+Right(Filed, Len(Filed)-InStr(Filed, " "))

если в дельфях это проще, вся мощь языка в твоем распоряжении, 1 -ин способ StringReplace(St, " ", "", [rfReplaceAll]);

> Как правильно удалить
а вот это вопрос вопросов. правду считаеш что есть какой нибудь правильный способ? если работает и устраивает то считай он и есть.


Floppy   (2003-12-25 11:08:00) [2]

S это в качестве примера, можно сразу с FieldByName().
Можно так:
Table.Open;
While Not Table.Eof do
begin
...
...
Table.Next;
end;
Table.Close;


Term   (2003-12-25 11:04:00) [3]

а как ты обычно делаеш перебор, так и делай


pashaz   (2003-12-25 11:01:00) [4]

А как лучше сделать перебор по базе?


Floppy   (2003-12-25 10:57:00) [5]

Repeat
S:= Copy(S, 1, Pos(" ", S) - 1) +
Copy(S, Pos(" ", S) + 1, Length(S) - Pos(" ", S) +1);
Until Pos(" ", S) = 0;

В том случае, если первый символ не прбел, а если пробел, додумай дальше


Наверх

Титульная страница Поиск, карта сайта Написать письмо