Кавычка

Тема в разделе "Lotus - Программирование", создана пользователем Grrr, 18 фев 2009.

  1. Grrr

    Grrr Гость

    Подскажите Уважаемые, как заменить символ " в строке, Лотус ругается при передаче в поиск такого рода строки: "Это был я, "Вася"" и сравнить его с таким же полем? Думаю, надо заменять этим символы в обеих строках? Кодик бы помог.
     
  2. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    на собаках \"
    в скрипте "", еще в скрипте ковычку можно заменить символом | и {
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ты б лучше тот код, что ругается запостил, а то не ясно как ты добиваешься ошибки
     
  4. Grrr

    Grrr Гость

    Сорри провадал долгое время.
    По теме, делается запрос на отбор в папку:
    Tematika - поле в форме поиска, которой присваивается значение через кнопку на форме (там какой то ужасный код).
    При назначении полю обычных значений типа "Тема разная", поиск проходит на ура, а вот при значениях типа "Самое "Важное"", вываливается в ошибкой в формуле. Как исправить?
    Ещё раз, нормальная тематика, на которую можно изменить - Разное
    Неправильная тема (как мне кажется из за кавычек - Привет "Медвед"
     
  5. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Чего ты тут накрутил...

    "(Tema=" & doc.GetItemValue("Tematika")(0) & ")"

    Попробуй так.
     
  6. Grrr

    Grrr Гость

    Не работает.. :/
    Решил проверить через msgbox строку запроса, получается:
    Tema = Самое "Важное"
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    не, там все нормально в коде, проблема в строке для поиска.
    я так понял используется db.Search
    попробуй в строке, которую ты формируешь предварительно менять кавычки на двойные

    Код (Text):
    Call AddSearchParam(searchParam, {(Tema= "} & Replace(doc.GetItemValue("Tematika")(0), {"}, {""}) & {")})
     
  8. Grrr

    Grrr Гость

    Замена проходит на двойные
    , но всё равно с ошибкой ломается ;)
     
  9. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    А MsgBox doc.GetItemValue("Tematika")(0) что выдает?
     
  10. Grrr

    Grrr Гость

    В обоих случаях:
    Самое "Важное", да и..
    Кхм.. Не совсем уверен, но кажется
    Решило проблему с
    Самое "Важное", но появилась другая:
    Самое "Важное"\Очень

    Неужели ещё доделывать обратную косую? {\\} ?? Подскажите, как написать правильно.

    Неужели?..
     
  11. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Слэш по-моему тоже удваивается.
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    во-первых, это не слеш, а, во-вторых, обратный слеш, являясь по-умолчанию управляющим символом требует специального написания себя любимого, а именно в двойном виде (\\) ;)
     
  13. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    ну извините ;) :)
    в общем не так важно как он называется, а главное как используется :)
     
  14. Grrr

    Grrr Гость

    Ребята, так всё правильно? Так и оставить?
     
  15. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Обратный слэш нужно дублировать, если ты об этом :)
     

Поделиться этой страницей