|
|
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Наименование товара состоит из нескольких слов. Например: Аллохол таб. №10 - т.е. количество пробелов после каждого слова не фиксировано. Число символов в каждом слове тоже меняется. А нужно сделать так, чтобы после каждого слова в наименовании стояло по 1 пробелу. Причем, хотелось бы это сделась это прямо в запросе, а не писать функцию. Пыталась реализовать в запросе Replace: SELECT Replace([F1]," "," ",1,-1,vbTextCompare) AS Name_Form FROM tab1 но получаю ответ: Undefined runction "Replace" in expression. Объясните (и желательно с примером), что я делаю не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 14:16 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Версия Access какая?\r Если ниже 2000-го то не получится этой функции там еще нет.\r В этом случае можно использовать метод, предложенный Michael Vasilev \r здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 14:20 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Нет такой функции потому что не присоеденина библиотека Visual Basic For Applications ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 14:49 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
uchastik соврал 1 раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 14:57 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
2uchastik: >потому что не присоеденина библиотека Visual Basic For Applications Не подскажите как ее отсоединить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 15:00 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Ну значит 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 15:11 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Да, Access 2000 Ну, может есть еще какой-нибудь способ убрать этот несчастный пробел?! Подскажите!!! Не может быть, что для такой, на первый взгляд, простенькой проблемы не нашлось такого же простого (или средней сложности решения)!!! К тому же я не знаю кто такой Michael Vasilev . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 15:16 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Уважаемая Alisa_1! Вы уже заводили топик с таким вопросом, и Вам там ответили. Michael Vasilev - это тот, кто ответил. Под именем Michael Vasilev Вам поставили ссылку на Ваш старый топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 15:20 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
В 2000-м эта функция есть. Нужно было сказать, что требуется в запросе. Дело в том что переменные VBA в запросах не определены, поэтому нужно заменить на их числовое значение, тогда получится так SELECT Replace([F1]," "," ",1,-1,1) AS Name Form table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 15:22 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
>incold : нет, такая вещь тоже не проходит. Уважаемые товарищи! Проблема в том, что с Accsses я мало знакома + с Visual Basic не работала. Понимаю, случай тяжелый, но все когда-то начинали. Объясните, ради бога, инструкцию к предложенным Вами функциям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 16:04 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Как я делал: создал новый mdb в нем табличку table1, заполнил пару записей сделал запрос SELECT Replace([F1]," "," ",1,-1,1) AS Name Form table1 все работает. 2 Alisa_1 Опишите ваши действия: что и как делается, что и как не получается. P.S. Э-эх говорили же, хорошо бы правила написания вопросов поставить на самом видном месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 16:20 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Я все делаю также: создаю запрос на выборку(?) и SELECT Replace([F1]," "," ",1,-1,1) AS Name_Form FROM elf_l; на что он мне отвечает "Undefined runction "Replace" in expression" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 16:38 |
|
||
|
проблема с Replace
|
|||
|---|---|---|---|
|
#18+
Кроме предположения, что наверно установлен аксесс ничего сказать не могу. У меня такая инструкция работает. Попробуйте в окне отладки (вызывается комбинацией клавиш Ctrl+G) набрать Replace, затем пробел или скобку "(" и посмотреть будет ли подсвечиваться синтаксис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 16:48 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32309050&tid=1678594]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 382ms |

| 0 / 0 |
