Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос в поле отчета каждого слова в перечислении на новую строку. / 7 сообщений из 7, страница 1 из 1
24.12.2004, 18:56:17
    #32844534
tim2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос в поле отчета каждого слова в перечислении на новую строку.
В поле отчета передается перечисление: слово1,слово2....,словоN.
"слово" - некоторый набор знаков, любых кроме запятой, длина одного слова - <=12 знаков.
Как в поле отчета заставить каждую запятую воспринимать как знак перевода строки, т.е. чтобы "слова выстроились в столбик?"
Если просто св-ву поля "Расширение" присвоить значение "Да", то это не спасает: слова переносятся тупо - при достижении конца поля. И если "слово1" - 5 знаков, то в эту же строку попадает часть "слова2".
...
Рейтинг: 0 / 0
24.12.2004, 20:10:44
    #32844580
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос в поле отчета каждого слова в перечислении на новую строку.
Скорей всего проще собрать строку приблизительно так:
Код: plaintext
[слово1] & "," vbCrLf & [слово2] & "," vbCrLf & ...... & [словоN]
...
Рейтинг: 0 / 0
24.12.2004, 20:38:25
    #32844595
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос в поле отчета каждого слова в перечислении на новую строку.
или Replace посадить в запрос
Код: plaintext
1.
2.
SELECT t1.ct, t1.P1, Replace([t1]![P1],',',Chr(13) & Chr(10)) AS Выражение1
FROM t1;
...
Рейтинг: 0 / 0
24.12.2004, 20:39:00
    #32844596
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос в поле отчета каждого слова в перечислении на новую строку.
в догон картинка
...
Рейтинг: 0 / 0
26.12.2004, 13:15:25
    #32845108
tim2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос в поле отчета каждого слова в перечислении на новую строку.
Сам виноват, не указал версию - Акс97.
Нет там Replace никакого!
И еще уточнение: всю строку пользователь собирает с клавиатуры, занося в поле формы некоторые "слова" и разделяя их запятыми(типа: 658/А3, 12345, 6-789), потом это все гонится в отчет. Сейчас приходится перегонять отчет в Ворд и вручную править поле, что не есть гут...
...
Рейтинг: 0 / 0
26.12.2004, 13:37:12
    #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
26.12.2004, 13:43:59
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос в поле отчета каждого слова в перечислении на новую строку. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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