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

Не могли бы вы подсказать со следующей задачей:

есть таблица с двумя полями:

ID и Info

В них содержатся такие данные:

1 aaaaa | bbbbb | cccc | ddd
2 rrrrr | ffff | vvvvvvvv | ppppppp

и т.д.

Нужно вывести это в таком формате:

1 aaaaa
1 bbbbb
1 cccc
1 ddd
2 rrrr
2 ffff
2 vvvvvvvv
2 ppppppp

Поискал по форуму, но не нашел ничего похожего.

Спасибо.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706081
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxess,

модулем,10 строчек на основе
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
dim xmas,j1,j1k
xmas=split(stroka,"|")
j1=lbound(xmas,1)
j1k=ubound(xmas,1)
do while j1<=j1k
''''''обработка
j1=j1+1
loop
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706092
Maxess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

А можно чуть поподробнее, а то составить модуль пока для меня будет непосильная задача.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706164
MaxessНужно вывести это в таком формате:

1 aaaaa
1 bbbbb
1 cccc
1 ddd
2 rrrr
2 ffff
2 vvvvvvvv
2 ppppppp Вывести где? Это важно.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706178
Maxess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

Вывести или в этой же таблице или в новой, в принципе не важно, важен результат.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706184
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxessАнатолий ( Киев ),

Вывести или в этой же таблице или в новой, в принципе не важно, важен результат.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706213
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxess,
"О сколько раз твердили миру..." про многозначные поля
сами создаем трудности и преодолеваем их (не всегда успешно)
16348485
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706247
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прогер_самоучкаMaxessАнатолий ( Киев ),

Вывести или в этой же таблице или в новой, в принципе не важно, важен результат.

debug.print :)
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706310
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku..."О сколько раз твердили миру..." про многозначные поля...
"многозначные поля" это фейк.
Значение поля всегда одно.
Вотъ.
:)
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706316
полифем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nord-woolf"многозначные поля" это фейк.
нетъ!
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706323
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706326
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полифем,

Я попрошу не надругиваться над моим головным мозгом в особо извращенной форме.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706328
полинорм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkunord-woolf,
в accdb есть многое, чего не было в mdb

это никак не опровергает высказанный N-W тезис
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706329
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

Я знаю. Я НЕ говорю, что их нет. Я говорю, что они - фейк.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706335
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nord-woolf,
вот и ладушки, разобрались: я говорю то-же самое
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706472
Maxess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет там никаких многозначных полей, есть простая таблица с данными, которые я привел выше и описал, что нужно получить из неё. Приложил образец данных, буду благодарен, кто посмотрит и поможет. Нужно разбить поле AnalogParts.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706516
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxessАнатолий ( Киев ),
Вывести или в этой же таблице или в новой, в принципе не важно, важен результат.
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706543
Maxess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Да, конечно в новую. Это возможно?
...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706567
Решение в лоб. Можно оптимальнее, но не охота возиться
Запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
SELECT *
FROM (SELECT id, Splt(analogparts,a) AS Data
FROM tbl_sample, 
(SELECT 1 as a from msysobjects  
UNION SELECT 2 from msysobjects 
UNION SELECT 3 from msysobjects 
UNION SELECT 4 from msysobjects
UNION SELECT 5 from msysobjects
UNION SELECT 6 from msysobjects
UNION SELECT 7 from msysobjects
UNION SELECT 8 from msysobjects
UNION SELECT 9 from msysobjects
UNION SELECT 10 from msysobjects
UNION SELECT 11 from msysobjects
UNION SELECT 12 from msysobjects
UNION SELECT 13 from msysobjects
UNION SELECT 14 from msysobjects
UNION SELECT 15 from msysobjects
UNION SELECT 16 from msysobjects
UNION SELECT 17 from msysobjects
UNION SELECT 18 from msysobjects
UNION SELECT 19 from msysobjects
UNION SELECT 20 from msysobjects
UNION SELECT 21 from msysobjects 
UNION SELECT 22 from msysobjects 
UNION SELECT 23 from msysobjects
UNION SELECT 24 from msysobjects
UNION SELECT 25 from msysobjects
UNION SELECT 26 from msysobjects
UNION SELECT 27 from msysobjects
UNION SELECT 29 from msysobjects
UNION SELECT 30 from msysobjects
UNION SELECT 31 from msysobjects
UNION SELECT 32 from msysobjects
UNION SELECT 33 from msysobjects
UNION SELECT 34 from msysobjects
UNION SELECT 35 from msysobjects
UNION SELECT 36 from msysobjects
UNION SELECT 37 from msysobjects
UNION SELECT 38 from msysobjects
UNION SELECT 39 from msysobjects
UNION SELECT 40 from msysobjects)
) tt
WHERE tt.data is not null
ORDER BY 1,2


Функция Splt() в общем модуле
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function Splt(s$, i)
    On Error Resume Next
    Static curr_str$
    Static a
    If s <> curr_str Then
        a = Split(s, "|")
        curr_str = s
    End If
    Splt = a(i - 1)
End Function

...
Рейтинг: 0 / 0
Разбить одну строку на несколько
    #38706597
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxess,
создаете таблицу "tmp" с полями id_t-счетчик,id_s-числовой,mytext-текст(100) и выполняете процедуру:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub my()
Dim rs As DAO.Recordset, rs1 As DAO.Recordset, a, i
Set rs = CurrentDb.OpenRecordset("select id,AnalogParts from tbl_Sample")
Set rs1 = CurrentDb.OpenRecordset("tmp")
Do Until rs.EOF
a = Split(rs!AnalogParts, "|")
For i = 0 To UBound(a)
rs1.AddNew
rs1!id_s = rs!id
rs1!mytext = LTrim(a(i))
rs1.Update
'Debug.Print rs!id, LTrim(a(i))
Next
rs.MoveNext
Loop
Set rs = Nothing
End Sub

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


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