Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Access преобразование - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Access преобразование (Преобразваоние дроби в число)
Access преобразование
Yelena321 Дата: Четверг, 04.02.2021, 15:17 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Здравствуйте! Как в access 7/20 преобразовать в число 0,35


Елена
 
Ответить
СообщениеЗдравствуйте! Как в access 7/20 преобразовать в число 0,35

Автор - Yelena321
Дата добавления - 04.02.2021 в 15:17
anvg Дата: Пятница, 05.02.2021, 08:47 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 580
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Где изменить: в запросе, в столбце таблицы, и т. д.?
 
Ответить
СообщениеДоброе время суток.
Где изменить: в запросе, в столбце таблицы, и т. д.?

Автор - anvg
Дата добавления - 05.02.2021 в 08:47
Yelena321 Дата: Воскресенье, 07.02.2021, 00:24 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
anvg, Необходимо было в запросе.
Ничего проще не придумала.

Left([Поле1];(InStr([Поле1];"/")-1)))))/CLng(IIf([Поле1]="1";"1";Right([Поле1;Len([Поле1])-InStrRev([Поле1];"/";-1)))


Елена
 
Ответить
Сообщениеanvg, Необходимо было в запросе.
Ничего проще не придумала.

Left([Поле1];(InStr([Поле1];"/")-1)))))/CLng(IIf([Поле1]="1";"1";Right([Поле1;Len([Поле1])-InStrRev([Поле1];"/";-1)))

Автор - Yelena321
Дата добавления - 07.02.2021 в 00:24
Gustav Дата: Воскресенье, 07.02.2021, 01:55 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1879
Репутация: 763 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Необходимо было в запросе.

Можно коротенькую пользовательскую функцию написать:
[vba]
Код
Function toNumber(ByVal str As String) As Double
    toNumber = Split(str, "/")(0) / Split(str, "/")(1)
End Function
[/vba]
а потом использовать ее в запросе:
[vba]
Код
Выражение1: toNumber([Поле1])
[/vba]

P.S. А из стандартных функций, допустимых в запросе, вот такой еще вариант сложился:
[vba]
Код
Выражение1: Val([Поле1]) / Replace([Поле1]; Val([Поле1]) & "/"; "")
[/vba]

P.P.S. А если вдруг вспомнится про функцию Eval (как мне среди ночи), то совсем просто:
[vba]
Код
Выражение1: CDbl(Eval([Поле1]))
[/vba]
Без CDbl тоже получится, но результат будет выглядеть строкой (выравниваться влево), хотя с ним уже сразу же можно будет выполнять арифметические действия, после которых будет получаться совсем уже настоящее число, выравниваемое вправо:
[vba]
Код
Выражение1: Eval([Поле1])+0
или
Выражение1: Eval([Поле1])*1
[/vba]


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Воскресенье, 07.02.2021, 05:29
 
Ответить
Сообщение
Необходимо было в запросе.

Можно коротенькую пользовательскую функцию написать:
[vba]
Код
Function toNumber(ByVal str As String) As Double
    toNumber = Split(str, "/")(0) / Split(str, "/")(1)
End Function
[/vba]
а потом использовать ее в запросе:
[vba]
Код
Выражение1: toNumber([Поле1])
[/vba]

P.S. А из стандартных функций, допустимых в запросе, вот такой еще вариант сложился:
[vba]
Код
Выражение1: Val([Поле1]) / Replace([Поле1]; Val([Поле1]) & "/"; "")
[/vba]

P.P.S. А если вдруг вспомнится про функцию Eval (как мне среди ночи), то совсем просто:
[vba]
Код
Выражение1: CDbl(Eval([Поле1]))
[/vba]
Без CDbl тоже получится, но результат будет выглядеть строкой (выравниваться влево), хотя с ним уже сразу же можно будет выполнять арифметические действия, после которых будет получаться совсем уже настоящее число, выравниваемое вправо:
[vba]
Код
Выражение1: Eval([Поле1])+0
или
Выражение1: Eval([Поле1])*1
[/vba]

Автор - Gustav
Дата добавления - 07.02.2021 в 01:55
Yelena321 Дата: Воскресенье, 07.02.2021, 10:11 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Без CDbl тоже получится, но результат будет выглядеть строкой (выравниваться влево), хотя с ним уже сразу же можно будет выполнять арифметические действия, после которых будет получаться совсем уже настоящее число, выравниваемое вправо:
Выражение1: Eval([Поле1])+0
или
Выражение1: Eval([Поле1])*1


Так это же то, что доктор прописал. СПАСИБО!!!!!!!


Елена
 
Ответить
Сообщение
Без CDbl тоже получится, но результат будет выглядеть строкой (выравниваться влево), хотя с ним уже сразу же можно будет выполнять арифметические действия, после которых будет получаться совсем уже настоящее число, выравниваемое вправо:
Выражение1: Eval([Поле1])+0
или
Выражение1: Eval([Поле1])*1


Так это же то, что доктор прописал. СПАСИБО!!!!!!!

Автор - Yelena321
Дата добавления - 07.02.2021 в 10:11
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Access преобразование (Преобразваоние дроби в число)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования Jobsora jooble
© 2010-2021 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!