powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с Replace
13 сообщений из 13, страница 1 из 1
проблема с Replace
    #32308960
Alisa_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наименование товара состоит из нескольких слов.
Например: Аллохол таб. №10 - т.е. количество пробелов после каждого слова не фиксировано. Число символов в каждом слове тоже меняется.
А нужно сделать так, чтобы после каждого слова в наименовании стояло по 1 пробелу. Причем, хотелось бы это сделась это прямо в запросе, а не писать функцию.

Пыталась реализовать в запросе Replace:
SELECT Replace([F1]," "," ",1,-1,vbTextCompare) AS Name_Form
FROM tab1

но получаю ответ: Undefined runction "Replace" in expression.
Объясните (и желательно с примером), что я делаю не так.
...
Рейтинг: 0 / 0
проблема с Replace
    #32308977
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия Access какая?\r
Если ниже 2000-го то не получится этой функции там еще нет.\r
В этом случае можно использовать метод, предложенный Michael Vasilev \r
здесь
...
Рейтинг: 0 / 0
проблема с Replace
    #32309050
uchastik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет такой функции потому что не присоеденина библиотека Visual Basic For Applications
...
Рейтинг: 0 / 0
проблема с Replace
    #32309067
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uchastik соврал 1 раз
...
Рейтинг: 0 / 0
проблема с Replace
    #32309072
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2uchastik:
>потому что не присоеденина библиотека Visual Basic For Applications

Не подскажите как ее отсоединить?
...
Рейтинг: 0 / 0
проблема с Replace
    #32309098
uchastik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну значит Microsoft Visual Basic for Application
вообще я в ранних версиях написал сам её

'Public Function Replace(stringS As String, stringToReplace As String, replacementString As String, Optional start As Long = 1, Optional count As Long = 0, Optional compare As Integer = -1)
' Dim temp As String
' Dim intPos As Integer
' Dim intNachPos As Integer
' Dim intCOUNT As Integer
' intNachPos = start
'
' temp = stringS
' intCOUNT = count
' If intCOUNT = 0 Then intCOUNT = Len(stringS)
' Do
' intPos = InStr(intNachPos, temp, stringToReplace)
' If intPos > 0 And intCOUNT > 0 Then
' 'Debug.Print Mid(temp, intPos)
' temp = Left(temp, intPos - 1) & replacementString & Mid(temp, intPos + Len(stringToReplace))
' 'Mid(temp, intPos, Len(stringToReplace)) = "q" ' replacementString
'
' 'Debug.Print Mid(temp, intPos)
' intCOUNT = intCOUNT - 1
' End If
' intNachPos = intPos + 1
' Loop While intPos <> 0
' Replace = temp
' 'Debug.Print stringS
' 'Debug.Print temp
'End Function
...
Рейтинг: 0 / 0
проблема с Replace
    #32309117
Alisa_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, Access 2000
Ну, может есть еще какой-нибудь способ убрать этот несчастный пробел?!
Подскажите!!!
Не может быть, что для такой, на первый взгляд, простенькой проблемы не нашлось такого же простого (или средней сложности решения)!!!
К тому же я не знаю кто такой Michael Vasilev .
...
Рейтинг: 0 / 0
проблема с Replace
    #32309134
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Уважаемая Alisa_1!

Вы уже заводили топик с таким вопросом, и Вам там ответили. Michael Vasilev - это тот, кто ответил. Под именем Michael Vasilev Вам поставили ссылку на Ваш старый топик.
...
Рейтинг: 0 / 0
проблема с Replace
    #32309138
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2000-м эта функция есть.
Нужно было сказать, что требуется в запросе.

Дело в том что переменные VBA в запросах не определены, поэтому нужно заменить на их числовое значение, тогда получится так

SELECT Replace([F1]," "," ",1,-1,1) AS Name Form table
...
Рейтинг: 0 / 0
проблема с Replace
    #32309217
Alisa_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>incold : нет, такая вещь тоже не проходит.

Уважаемые товарищи! Проблема в том, что с Accsses я мало знакома + с Visual Basic не работала. Понимаю, случай тяжелый, но все когда-то начинали.
Объясните, ради бога, инструкцию к предложенным Вами функциям.
...
Рейтинг: 0 / 0
проблема с Replace
    #32309273
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я делал:
создал новый mdb
в нем табличку table1, заполнил пару записей
сделал запрос
SELECT Replace([F1]," "," ",1,-1,1) AS Name Form table1
все работает.


2 Alisa_1
Опишите ваши действия: что и как делается, что и как не получается.


P.S. Э-эх говорили же, хорошо бы правила написания вопросов поставить на самом видном месте.
...
Рейтинг: 0 / 0
проблема с Replace
    #32309321
Alisa_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я все делаю также: создаю запрос на выборку(?) и
SELECT Replace([F1]," "," ",1,-1,1) AS Name_Form
FROM elf_l;

на что он мне отвечает "Undefined runction "Replace" in expression"
...
Рейтинг: 0 / 0
проблема с Replace
    #32309348
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме предположения, что наверно установлен аксесс ничего сказать не могу.
У меня такая инструкция работает.

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


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