Копирование последней буквы
-
- Завсегдатай
- Сообщения: 431
- Зарегистрирован: 06 ноя 2009, 13:18
- Репутация: 10
- Откуда: Екатеринбург
Копирование последней буквы
Господа, владеющие VBA!
Необходимо из одного поля (поле SOIL) перебосить в другое поле (поле GRANULE) последнюю букву.
Делать это вручную сложно.
Подскажите формулу с использованием калькулятора поля.
Необходимо из одного поля (поле SOIL) перебосить в другое поле (поле GRANULE) последнюю букву.
Делать это вручную сложно.
Подскажите формулу с использованием калькулятора поля.
- Вложения
-
- Таблица атрибутов.JPG (78.04 КБ) 7326 просмотров
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Копирование последней буквы
Обновите колонку данным выражением:
Разумеется сначала необходимо кликнуть на нужной колонке правой кнопкой и выбрать "калькулятор поля"
Код: Выделить всё
Right ( [SOIL], 1 )
-
- Завсегдатай
- Сообщения: 431
- Зарегистрирован: 06 ноя 2009, 13:18
- Репутация: 10
- Откуда: Екатеринбург
Re: Копирование последней буквы
Slinger'у.
Огромное спасибо!
Все получилось. Вы мне сэкономили, минимум, неделю работы.
Могу ли я попросить и об обратной задаче.
Удалить последнюю букву в поле SOIL с пробелом, если он есть; и если пробела нет, то только последнюю букву.
Вся соль в том, что иногда пробел не ставится, а как в дальнейшем скажется наличие пробела в конце значения, не могу представить.
Огромное спасибо!
Все получилось. Вы мне сэкономили, минимум, неделю работы.
Могу ли я попросить и об обратной задаче.
Удалить последнюю букву в поле SOIL с пробелом, если он есть; и если пробела нет, то только последнюю букву.
Вся соль в том, что иногда пробел не ставится, а как в дальнейшем скажется наличие пробела в конце значения, не могу представить.
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Копирование последней буквы
Хм, я к сожалению не знаю хотя бы приблизительных забитых значений в после SOIL. Если там всегда стоит 4 символа (2 буквы, затем пробел, затем ещё одна буква), то подойдёт
Функция вернёт Вам два первых символа строки. В ином случае придётся либо частично воспользоваться функциями Mid() , либо Replace()
Код: Выделить всё
Left ([SOIL], 2)
-
- Завсегдатай
- Сообщения: 431
- Зарегистрирован: 06 ноя 2009, 13:18
- Репутация: 10
- Откуда: Екатеринбург
Re: Копирование последней буквы
Slinger'у.
Поле SOIL имеет текстовой формат, 8 знаков.
Если я Вас правильно понял, то использую Left ([SOIL], 7) ?
Честно говоря, очень напоминает Exell.
Поле SOIL имеет текстовой формат, 8 знаков.
Если я Вас правильно понял, то использую Left ([SOIL], 7) ?
Честно говоря, очень напоминает Exell.
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Копирование последней буквы
Да нет, тип поля не имеет значения. Я спрашиваю, что вообще за семантика забита в поле SOIL. Судя по Вашему примеру, я вижу строчку "Дк в", следующие - "Дк т". И те и другие занимают 4 символа (2 буквы, пробел и ещё одна буква). Вот поэтому и говорю. Если везде стоит 4 подобных символа, то имеет смысл обновить колонку SOIL выражением
Она возьмёт первые два символа (в нашем случае "Дк") и отрежет всё остальное. Если символов больше, например, "Дкр п", то опять же, останется только "Дк", а не "Дкр". Собственно, это меня и интересовало
Код: Выделить всё
Left ([SOIL], 2)
-
- Завсегдатай
- Сообщения: 431
- Зарегистрирован: 06 ноя 2009, 13:18
- Репутация: 10
- Откуда: Екатеринбург
Re: Копирование последней буквы
Slinger'у.
Вся соль, что количество текстовых знаков разное, может встречаться и такое - ОРБн гт.
Вся соль, что количество текстовых знаков разное, может встречаться и такое - ОРБн гт.
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Копирование последней буквы
Ммм, в этом случае Вы противоречите себе. То есть несколькими сообщениями выше Вы говорили о том, что последняя буква только одна (а перед ней соответственно пробел). В данном случае ( "ОРБн гт" ) этих букв две... Поэтому тут явно не получится применить сразу ко всем значениям. Вернее, разумеется, получится, но в некоторых строчках, подобно этой, ожидаемый результат мы не получим
что-то я сам код забыл написать =)
Для того, чтобы получить ту же самую строку без последней буквы, необходимо обновить колонку SOIL выражением:
После чего на конце каждой строки останется только пробел, который можно убрать, обновив ту же самую колонку выражением:
что-то я сам код забыл написать =)
Для того, чтобы получить ту же самую строку без последней буквы, необходимо обновить колонку SOIL выражением:
Код: Выделить всё
Left ([SOIL], Len ( [SOIL] ) - 1 )
Код: Выделить всё
RTrim ( [SOIL] )
-
- Завсегдатай
- Сообщения: 431
- Зарегистрирован: 06 ноя 2009, 13:18
- Репутация: 10
- Откуда: Екатеринбург
Re: Копирование последней буквы
Slinger'у.
Огромное спасибо!
Все получается, пусть и не за один проход, это уже не суть важно.
Огромное спасибо!
Все получается, пусть и не за один проход, это уже не суть важно.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя