powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос в поле отчета каждого слова в перечислении на новую строку.
7 сообщений из 7, страница 1 из 1
Перенос в поле отчета каждого слова в перечислении на новую строку.
    #32844534
tim2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В поле отчета передается перечисление: слово1,слово2....,словоN.
"слово" - некоторый набор знаков, любых кроме запятой, длина одного слова - <=12 знаков.
Как в поле отчета заставить каждую запятую воспринимать как знак перевода строки, т.е. чтобы "слова выстроились в столбик?"
Если просто св-ву поля "Расширение" присвоить значение "Да", то это не спасает: слова переносятся тупо - при достижении конца поля. И если "слово1" - 5 знаков, то в эту же строку попадает часть "слова2".
...
Рейтинг: 0 / 0
Перенос в поле отчета каждого слова в перечислении на новую строку.
    #32844580
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорей всего проще собрать строку приблизительно так:
Код: plaintext
[слово1] & "," vbCrLf & [слово2] & "," vbCrLf & ...... & [словоN]
...
Рейтинг: 0 / 0
Перенос в поле отчета каждого слова в перечислении на новую строку.
    #32844595
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или Replace посадить в запрос
Код: plaintext
1.
2.
SELECT t1.ct, t1.P1, Replace([t1]![P1],',',Chr(13) & Chr(10)) AS Выражение1
FROM t1;
...
Рейтинг: 0 / 0
Перенос в поле отчета каждого слова в перечислении на новую строку.
    #32844596
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в догон картинка
...
Рейтинг: 0 / 0
Перенос в поле отчета каждого слова в перечислении на новую строку.
    #32845108
tim2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам виноват, не указал версию - Акс97.
Нет там Replace никакого!
И еще уточнение: всю строку пользователь собирает с клавиатуры, занося в поле формы некоторые "слова" и разделяя их запятыми(типа: 658/А3, 12345, 6-789), потом это все гонится в отчет. Сейчас приходится перегонять отчет в Ворд и вручную править поле, что не есть гут...
...
Рейтинг: 0 / 0
Перенос в поле отчета каждого слова в перечислении на новую строку.
    #32845110
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tim2Сам виноват, не указал версию - Акс97.
Нет там Replace никакого!

Ну вот тебе Replace:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function Replace(strWhere As String, strOld As String, strNew As String) As String
Dim strPat As String, i As Integer
strPat = strWhere
i = InStr(strPat, strOld)
Do While i >  0 
    strPat = Left$(strPat, i -  1 ) & strNew & Mid$(strPat, i + Len(strOld))
    i = InStr(i +  1 , strPat, strOld)
Loop
Replace = strPat
End Function

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function Replace(strWhere As String, strOld As String, Optional strNew As String = vbCrLf) As String
Dim strPat As String, i As Integer
strPat = strWhere
i = InStr(strPat, strOld)
Do While i >  0 
    strPat = Left$(strPat, i -  1 ) & strNew & Mid$(strPat, i + Len(strOld))
    i = InStr(i +  1 , strPat, strOld)
Loop
Replace = strPat
End Function

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


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