Хобрук: Ваш путь к мастерству в программировании

VBA SSRS пытается найти определенные символы в строке, а затем вернуть что-то еще

Я пытаюсь выбрать некоторые символы в строке, а затем захватить определенную ее часть, а затем преобразовать ее во что-то другое.

Например, если «Выбрано 1 со 100% возвратом», я хочу, чтобы на выходе было «100». Пока все попытки были тщетны.

до сих пор VBA, который у меня есть, указан ниже в свойствах отчета моего шаблона. (Да, я изменил выражение в поле, которое мне нужно для отражения).

Public Function ChangePercentage(ByVal s As String) As String
s= s.Trim()
If s.ToUpper Like "100%*".ToUpper = True Then
Return "100"
Else : Return S
End If
End Function

Любая помощь будет очень оценена.

04.08.2014

Ответы:


1

Если вы действительно работаете с VBA, вам нужно исправить его, чтобы он выглядел следующим образом:

Public Function ChangePercentage(ByVal str As String) As String
    str = Trim(str)
    If UCase(str) Like "*100%*" Then
        ChangePercentage = "100"
    Else
        ChangePercentage = str
    End If
End Function
04.08.2014
  • Вы можете упростить его еще больше: вам на самом деле не нужны Trim и Ucase 04.08.2014
  • Это то, что я ожидал, но я не позволил себе удалить их, полагая, что было бы неплохо одновременно изучить некоторые основы VBA :) 04.08.2014
  • @BernardSaucier, спасибо за это. Мне удалось добиться нужных мне результатов. Я знаю VBA, но когда дело доходит до обрезки и т. д., я не хочу рисковать, поскольку там, где это было настроено, я не знаю, были ли вставлены какие-либо лишние пробелы. Всегда лучше быть в безопасности, чем Извините. 04.08.2014
  • Позвольте мне объяснить, почему он сделал правильное замечание, сказав, что в этом нет необходимости. Используя Like и * с обеих сторон, вы ищете ВСЕ, в чем есть 100%. Таким образом, в верхнем регистре или нет, с пробелами в конце или без, вы всегда будете возвращать true, если 100% находится где-то внутри строки. 04.08.2014
  • Новые материалы

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

    Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
    Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..

    Обзор 20 основных и современных методов работы с массивами в JavaScript
    Вы знаете их всех? В этом коротком посте я покажу сводку методов, доступных в JavaScript для работы с массивами. Я надеюсь, что вы найдете это полезным! В конце поста вы найдете ссылку на..

    Да, но я чувствую необходимость указать, что это или не единственные два.
    Да, но я чувствую необходимость указать, что это или не единственные два. Обучение с подкреплением (в качестве примера) также является важным.