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

Откуда:
Сообщений: 3694
UPDATE Product_List SET ProdNameRus = Trim(Replace(ProdNameRus,Mid(ProdNameRus,InStrRev(ProdNameRus," ")+1)," ")); 

замена крайнего слова справа....

кто-нибудь может объяснить, есть столбец с различными данными (обычное поле с различными текстовыми символами), все бы хорошо, но стоит проверит на таких строках, где есть повторяющиеся символы... (например, попробуйте заменить "мама мама" или "ла ла")


и есче...

возможно ли реализовать в одной таблице:

UPDATE ALPHABETICAL_OUTPUT, PRODUCT_LIST SET ALPHABETICAL_OUTPUT.FirmNameEng = [PRODUCT_LIST].[ProdNameRus] WHERE ALPHABETICAL_OUTPUT.Stand = [PRODUCT_LIST].[SortLine];

(реализация в двух таблицах)

тоже самое, только в одной:

UPDATE ALPHABETICAL_OUTPUT SET ALPHABETICAL_OUTPUT.FirmNameEng = [ALPHABETICAL_OUTPUT].[ProdNameRus] WHERE ALPHABETICAL_OUTPUT.Stand = [ALPHABETICAL_OUTPUT].[SortLine];

или по-русски, по равенству двух столбцов в одной таблице "не заполнять" третий где они равны в буквальном смысле, а заполнить где одно из значений поля совпадает с другим (проверка по всему полю)

Сообщение было отредактировано: 30 янв 07, 21:31
30 янв 07, 21:28    [3716160]     Ответить | Цитировать Сообщить модератору
 Re: Приколы аксес (замена крайнего слова справа)  [new]
Karfaqen
Member

Откуда:
Сообщений: 7010
То что у вас написано
Ммихалыч
Trim(Replace(ProdNameRus,Mid(ProdNameRus,InStrRev(ProdNameRus," ")+1)," ")
это не совсем то, как вы его назвали:
Ммихалыч
замена крайнего слова справа
Это выражение 1) ищет крайнее правое слово (до первого пробела справа), потом 2) заменяет во всей исходной строке это слово на пробел, и по концовке трет "висячие" пробелы.

Поэтому, если вся строка состоит из N-ного количества этих "правых" слов (повторяющихся как в ваше примере "ла ла ла ла ла"), Replace их все и заменит на пробелы, которые будут в итоге стерты.

Так что никаких приколов аксеса. Все вполне серьезно.
30 янв 07, 22:13    [3716268]     Ответить | Цитировать Сообщить модератору
 Re: Приколы аксес (замена крайнего слова справа)  [new]
BULK INSERT
Member

Откуда: Ленинград
Сообщений: 4615
Karfaqen
Так что никаких приколов аксеса. Все вполне серьезно.


5
30 янв 07, 22:45    [3716315]     Ответить | Цитировать Сообщить модератору
 Re: Приколы аксес (замена крайнего слова справа)  [new]
Ммихалыч
Member

Откуда:
Сообщений: 3694
Karfaqen
То что у вас написано
Ммихалыч
Trim(Replace(ProdNameRus,Mid(ProdNameRus,InStrRev(ProdNameRus," ")+1)," ")
это не совсем то, как вы его назвали:
Ммихалыч
замена крайнего слова справа
Это выражение 1) ищет крайнее правое слово (до первого пробела справа), потом 2) заменяет во всей исходной строке это слово на пробел, и по концовке трет "висячие" пробелы.

Поэтому, если вся строка состоит из N-ного количества этих "правых" слов (повторяющихся как в ваше примере "ла ла ла ла ла"), Replace их все и заменит на пробелы, которые будут в итоге стерты.

Так что никаких приколов аксеса. Все вполне серьезно.


Ничего не понял, а куда деваются слова слева или в середине, как тогда быть (таблица то не маленькая все такие ляпы не отловишь) ???

получается что что строка в поле "мама пробел папа" - папа нормальный изменится
а в строке "папа пробел папа" - папа не традиционной ориентации....


ну а по-поводу 2 вопроса, так понял что с со скулем будет напряг заморочится ?! (а жаль в вб с этим в разы справится)
31 янв 07, 21:11    [3722257]     Ответить | Цитировать Сообщить модератору
 Re: Приколы аксес (замена крайнего слова справа)  [new]
Karfaqen
Member

Откуда:
Сообщений: 7010
Ммихалыч
а куда деваются слова слева или в середине
Karfaqen
Replace их все заменит на пробелы, которые будут в итоге стерты

Ммихалыч
ну а по-поводу 2 вопроса
Я даже не пытался на него ответить, поскольку читая вашу фразу:
или по-русски, по равенству двух столбцов в одной таблице "не заполнять" третий где они равны в буквальном смысле, а заполнить где одно из значений поля совпадает с другим (проверка по всему полю)
не мог избавиться от чувства, что я нерусский.
31 янв 07, 21:30    [3722301]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить