powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с функцией Replace в запросе...
21 сообщений из 21, страница 1 из 1
проблема с функцией Replace в запросе...
    #32399832
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет...

собственно, при составлении запроса в акесе проблем ни каких нет...)
но... неприятности начинаются, если этот запрос вызвать из MS QUERY... ругается он на эту функцию... чем можно заменить?...

в одном из полей хранится время в виде текста, например 10-56, и для того чтобы перевести это значение в дату я заменяю тире на двоеточие и преобразую все это в дату :
Код: plaintext
1.
2.
3.
select
   cdate( replace( '10-56', '-', ':' ) )
from
   t

кто-нибудь сталкивался с такой проблемой или у меня руки не прямые?...

спасибо...

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399842
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько я понимаю, то не плохо бы было указать имя колонки в ф-ии вместо '10-56'...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399845
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вопрос явно не по Аксессу. Могу перенести в другой форум.
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399849
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС
слушай не увлекайся... вроде как по Access'у

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399855
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вопрос, как перевести фразу с русского на английский, - это вопрос по русскому или по английскому?.. А, хрен с ним, наверно по обоим. :^)
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399857
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sfagnum
даже если имя поля подставить вместо константы будет такой же результат...

2Владимир_Саныч
ок.. только не знаю куда!?...

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399859
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я тоже не знаю. Придется передумать. :^)
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32399862
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще, интересно, каие функции можно использовать в ms query?... потому что, например, функции datediff и cdate он понимает отлично...

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400046
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/49369&hl=replace#343842\r
/topic/56346&hl=replace\r
М.б. есть чего. А вообще поиск много выдал.
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400459
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2GEO
спасибо за ссылки...

в первой... про указание всех параметров написано... указал все параметры... ругань продолжается ( Неопределенная функция 'Replace' в вырожении )...

во второй... про потерю ссылок... проверил, все стоят... потерянных нет... в акесе запрос выполняется успешно...

p.s.
access 2000
меня, похоже, надо палкой ударить...
лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400708
Mike_LV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй заменить Replace на ИНСТРУКЦИЮ (НЕ функцию) Mid
из help'a Access2002. У меня работает.

Mid Statement

Replaces a specified number of characters in a Variant (String) variable with characters from another string.

Syntax

Mid(stringvar, start[, length]) = string

The Mid statement syntax has these parts:

Part Description
stringvar Required. Name of string variable to modify.
start Required; Variant (Long). Character position in stringvar where the replacement of text begins.
length Optional; Variant (Long). Number of characters to replace. If omitted, all of string is used.
string Required. String expression that replaces part of stringvar.



Remarks

The number of characters replaced is always less than or equal to the number of characters in stringvar.

Note Use the MidB statement with byte data contained in a string. In the MidB statement, start specifies the byte position within stringvar where replacement
begins and length specifies the numbers of bytes to replace.
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400718
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через MS QUERY к функциям VBA не достучаться.
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400802
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но многие строковые функции использовать можно: Left, Right, Mid, Trim ...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400822
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если формат определенный (типа твоего времени) можно Left'ом/Right'ом собрать.
А можно, если неопределенный, использовать ODBC функции, например, так:

Код: plaintext
1.
SELECT {fn LOCATE('-', FieldName)} as p, {fn LENGTH(FieldName)} as l, Left(FieldName, p -  1 ) + ':' + Right(FieldName, l - p)
FROM `...`.TableName TableName
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400860
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок... спасибо всем за помощь!...

2IgorM
Если формат определенный (типа твоего времени) можно Left'ом/Right'ом собрать.
А можно, если неопределенный, использовать ODBC функции, например...


клево... эта штука работает!...) так на будущее, а где можно узнать поподробнее какие там еще функции есть, может ссылку кинете?... а то в этой, такбыееэтусправку, справке по ms query ни чего нету, кроме как научиться мышкой щелкать...

2Mike_LV
блин, я "не догнал"...) как это выглядит в select?...
Код: plaintext
1.
2.
3.
select
   mid( '10-56',  3 ,  1  )
from
   t
возвращается тире ( и ms query не ругается ), но как заменить на двоеточие?... может, вообще-то, потом проблема возникнуть, например, если пользователь введет типа '9-56', вместо '09-56'...

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400901
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если формат фиксированый, то приблизительно так.
Код: plaintext
1.
2.
3.
select
   Left('10-56',  2 ) & ':' & Right('10-56',  2 )
from
   t
только ни хера не понимаю почему упорно юзаешь константу вместо t.Field1

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400908
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да в целях упрощения... в поле то такие же значения хранятся, я имею ввиду в таком же формате... блин, ну в смысле время от минут через тире...( совсем уже заговорился:) )...

я вот тут попробывал поискать, и нашел такую функцию ( по аналогии с LOCATE ) :
{fn INSERT(string_exp1, start, length, string_exp2)}
но чего то она не хочет работать в ms query...

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32400999
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elcolexно чего то она не хочет работать в ms query...

Это зависит не от query, а от odbc драйвера и ядра. Jet поддерживает только:

Скалярные функции ODBC - MS Office Access HelpФункции преобразования строк
ASCII LENGTH RTRIM
CHAR LOCATE SPACE
CONCAT LTRIM SUBSTRING
LCASE RIGHT UCASE
LEFT

Функции преобразования чисел
ABS FLOOR SIN
ATAN LOG SQRT
CEILING POWER TAN
COS RAND MOD
EXP SIGN

Функции даты и времени
CURDATE DAYOFYEAR MONTH
CURTIME YEAR WEEK
NOW HOUR QUARTER
DAYOFMONTH MINUTE MONTHNAME
DAYOFWEEK SECOND DAYNAME

Преобразование типа данных
CONVERT Строки могут быть преобразованы в следующие типы данных: SQL_FLOAT, SQL_DOUBLE, SQL_NUMERIC, SQL_INTEGER, SQL_REAL, SQL_SMALLINT, SQL_VARCHAR и SQL_DATETIME.
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32401045
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теперь понятно...
спасибо добрые люди!...)

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32401069
Фотография elcolex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм...постойте-ка... а почему тогда функции datediff и cdate работают?... ( вовремя убрав голову от просвистевшего мимо помидора )...

лучше побыть дураком 15 мин., чем остаться им на всю жизнь...
...
Рейтинг: 0 / 0
проблема с функцией Replace в запросе...
    #32401104
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, значит какие-то функции работают. Список не проси, у меня его нет. :)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с функцией Replace в запросе...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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