Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отделить текст от числа / 12 сообщений из 12, страница 1 из 1
25.05.2016, 09:28
    #39242869
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Всем Доброго дня.
При импорте данных в Access столкнулся с проблемкой.
Объём и единица измерения в одном поле. Например 1 кг. или 0,5 л.
Подскажите, как текстовое поле разбить на два: числовое - 1 (0,5) и текстовое - кг. (л.)?
Цифры и буквы естественно могут иметь непредсказуемые варианты.
...
Рейтинг: 0 / 0
25.05.2016, 09:39
    #39242877
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Шаблон всегда такой - сначала число, потом единица измерения? пробел - всегда есть?

В общем случае можно типа:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function divide(value as string) as mytype
const digits as string = "0123456789,."
dim temp as string
do while instr(digits, left(value,1)) > 0
    temp = temp & left(value,1)
    value = mid(value,2)
loop
mytype.value = val(replace(temp, ",", "."))
mytype.unit = trim(value)
end function
...
Рейтинг: 0 / 0
25.05.2016, 11:05
    #39242987
Отделить текст от числа
Если речь идет о числе и единице измерения, и первый пробел разделяет эти части, то можно так:
Код: vbnet
1.
2.
3.
4.
?Split("0.5 кв. м."," ")(0)
0.5
?Split("0.5 кв. м."," ",2)(1)
кв. м.
...
Рейтинг: 0 / 0
25.05.2016, 11:28
    #39243017
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Уточнение. Данные уже загружены в таблицу. Теперь обрабатываю через запрос данные для дальнейшего использования.
Если есть пробел, всё получается норм. Проблема при отсутствии разделения. Пример прилагается.
Есть ли возможность "разрезать" основное строку. т.е. отделить цифру от текста?
...
Рейтинг: 0 / 0
25.05.2016, 11:59
    #39243047
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Шаман,

я представляю твои проблемы... прошел через это... при массовом распространении продукта победить всех идиотов (которые в тексте пишут разделители то точка, то запятая через раз и где попало) получилось примерно так (точно сейчас уже не скажу, но направление дам):
Перебираю символы в строке по одному и:
1. Если это (0-9) то бросаю друг за другом в строку1 по накоплению...
2. Попавшаяся первая точка или запятая идет туда-же (разделитель), но как запятая
3. Если это не (0-9) и следующие точки и запятые то бросаю друг за другом в строку2 по накоплению...

Вуаля - в строке1 Величина, в строке2 мишура, CDbl(Строка1) будет искомое число при желании...

Ну и присказка клиентам в придачу - мажьте как хотите и где хотите, но число я выбираю именно так, а остальное мне по барабану (людей не переделать)
И я иногда залажу в дебри....
...
Рейтинг: 0 / 0
25.05.2016, 12:14
    #39243064
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
[quote Шаман]Есть ли возможность "разрезать" основное строку. т.е. отделить цифру от текста?
Код я тебе дал. Доведи его до рабочего и используй в запросе.
...
Рейтинг: 0 / 0
25.05.2016, 12:20
    #39243080
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Всем СПАСИБО!!! Буду дерзать.
...
Рейтинг: 0 / 0
25.05.2016, 12:41
    #39243127
Отделить текст от числа
Код: sql
1.
2.
SELECT  Replace(Таблица1.Поле2,',','.') As Текст, Val(Текст) As Число, Trim(Mid(Текст, Len(Число)+1)) As ЕдИзм
FROM Таблица1;
...
Рейтинг: 0 / 0
25.05.2016, 12:47
    #39243136
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Анатолий ( Киев ) , а вумный оператор налепит перед числом пробелов...
...
Рейтинг: 0 / 0
25.05.2016, 13:35
    #39243195
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
В общем получилось.
Может что и коряво, но работает.
Еще раз всем спасибо за предложения.
Очень помогли.
...
Рейтинг: 0 / 0
25.05.2016, 14:39
    #39243251
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
авторВуаля - в строке1 Величина, в строке2 мишура, CDbl(Строка1) будет искомое число при желании...
Отдельная благодарность Vmag за указанное направление :)
...
Рейтинг: 0 / 0
25.05.2016, 14:41
    #39243253
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отделить текст от числа
Шаман,

ШаманОтдельная благодарность Vmag за указанное направление :)

для Строки2 в конце Trim не помешает...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отделить текст от числа / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]