powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вывод группировочных записей в одну строку для отчета
38 сообщений из 38, показаны все 2 страниц
Вывод группировочных записей в одну строку для отчета
    #37720462
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть запрос который отображает данную таблицу на основе группировки 2 таблиц по табельному номеру как ключевое поле. Основная таблица (Кадры) и подчиненная (Состав семьи)

Табл. 1
Таб № ФИО Родился NaimDolgn Прописка Obraz sostav10 ТИМОФЕЕВ БОРИС ВЛАДИМИРОВИЧ 05.03.1965 Заместитель директора по строительству УЛ. МОВЧАНСКОГО Д.75 КВ.1 тел. 44-58-14 GSM 7471507 мтс высшее ПРОМЫШЛЕННОЕ И ГРАЖДАНСКОЕ СТРОИТЕЛЬСТВО ДОЧЬ НАСТЯ 01.10.199710 ТИМОФЕЕВ БОРИС ВЛАДИМИРОВИЧ 05.03.1965 Заместитель директора по строительству УЛ. МОВЧАНСКОГО Д.75 КВ.1 тел. 44-58-14 GSM 7471507 мтс высшее ПРОМЫШЛЕННОЕ И ГРАЖДАНСКОЕ СТРОИТЕЛЬСТВО ЖЕНА НАТАЛЬЯ МИХАЙЛОВНА 28.05.197410 ТИМОФЕЕВ БОРИС ВЛАДИМИРОВИЧ 05.03.1965 Заместитель директора по строительству УЛ. МОВЧАНСКОГО Д.75 КВ.1 тел. 44-58-14 GSM 7471507 мтс высшее ПРОМЫШЛЕННОЕ И ГРАЖДАНСКОЕ СТРОИТЕЛЬСТВО СЫН ИВАН 12.10.199515 АРТЕМОВ ВАЛЕРИЙ МИХАЙЛОВИЧ 17.07.1952 Начальник охраны завода УЛ. РОМАНОВА 6-62 тел. 22-04-35 GSM 7471534 мтс высшее командной общевосковой эксплуатации боевых машины ДОЧЬ АЛЕСЯ 03.10.198118 РОСЛАВЦЕВ ВАЛЕРИЙ ДАВИДОВИЧ 10.06.1952 Начальник штаба ГО УЛ. ГАСТЕЛЛО Д.4 КВ. 49 тел. 31-61-10 GSM 5422271 высшее ЭКСПЛУАТАЦИЯ АРТИЛЛЕРИЙСКОГО ВООРУЖЕНИЯ ЖЕНА ЕЛЕНА ВАСИЛЬЕВНА 29.05.195219 ПАВЛОВ АНДРЕЙ АЛЕКСЕЕВИЧ 27.11.1961 Начальник участка УЛ.АВТОМОБИЛЬНАЯ 8-81 тел. 23-81-64 GSM 7471521 мтс высшее ФИНАНСЫ И КРЕДИТ ДОЧЬ ЕЛЕНА 24.05.198619 ПАВЛОВ АНДРЕЙ АЛЕКСЕЕВИЧ 27.11.1961 Начальник участка УЛ.АВТОМОБИЛЬНАЯ 8-81 тел. 23-81-64 GSM 7471521 мтс высшее ФИНАНСЫ И КРЕДИТ ДОЧЬ ОЛЬГА 09.12.198719 ПАВЛОВ АНДРЕЙ АЛЕКСЕЕВИЧ 27.11.1961 Начальник участка УЛ.АВТОМОБИЛЬНАЯ 8-81 тел. 23-81-64 GSM 7471521 мтс высшее ФИНАНСЫ И КРЕДИТ ЖЕНА РАИСА ПИЛИПОВНА 20.01.1962

Может кто встречал такую тему или подскажет как изменить запрос (отчет я сделаю уже сам) на основе Табл. 1 чтоб в отчете или запросе конечный результат был как показано в Табл. 2

Таб № ФИО Родился NaimDolgn Прописка Obraz sostav10 ТИМОФЕЕВ БОРИС ВЛАДИМИРОВИЧ 05.03.1965 Заместитель директора по строительству УЛ. МОВЧАНСКОГО Д.75 КВ.1 тел. 44-58-14 GSM 7471507 мтс высшее ПРОМЫШЛЕННОЕ И ГРАЖДАНСКОЕ СТРОИТЕЛЬСТВО ДОЧЬ НАСТЯ 01.10.1997 ЖЕНА НАТАЛЬЯ МИХАЙЛОВНА 28.05.1974 СЫН ИВАН 12.10.199515 АРТЕМОВ ВАЛЕРИЙ МИХАЙЛОВИЧ 17.07.1952 Начальник охраны завода УЛ. РОМАНОВА 6-62 тел. 22-04-35 GSM 7471534 мтс высшее командной общевосковой эксплуатации боевых машины ДОЧЬ АЛЕСЯ 03.10.198118 РОСЛАВЦЕВ ВАЛЕРИЙ ДАВИДОВИЧ 10.06.1952 Начальник штаба ГО УЛ. ГАСТЕЛЛО Д.4 КВ. 49 тел. 31-61-10 GSM 5422271 высшее ЭКСПЛУАТАЦИЯ АРТИЛЛЕРИЙСКОГО ВООРУЖЕНИЯ ЖЕНА ЕЛЕНА ВАСИЛЬЕВНА 29.05.195219 ПАВЛОВ АНДРЕЙ АЛЕКСЕЕВИЧ 27.11.1961 Начальник участка УЛ.АВТОМОБИЛЬНАЯ 8-81 тел. 23-81-64 GSM 7471521 мтс высшее ФИНАНСЫ И КРЕДИТ ДОЧЬ ЕЛЕНА 24.05.1986 ДОЧЬ ОЛЬГА 09.12.1987 ЖЕНА РАИСА ПИЛИПОВНА 20.01.1962

Заранее благодарен за помощь!
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720479
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by,

Конкатенация, тема рядом совсем, там и ссылка есть на метод Митина.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720490
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by,
скажите-а вас не волнует существующая денормализация БД, может вопрос должен звучать-как мне разделить таблицу ?
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720498
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuolang@tut.by,
скажите-а вас не волнует существующая денормализация БД, может вопрос должен звучать-как мне разделить таблицу ?
нее, ну автор же говорит, что это (Табл.1) результат запроса ...
olang@tut.byДобрый день. Есть запрос который отображает данную таблицу на основе группировки 2 таблиц по табельному номеру как ключевое поле. Основная таблица (Кадры) и подчиненная (Состав семьи)
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720542
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuolang@tut.by,
скажите-а вас не волнует существующая денормализация БД, может вопрос должен звучать-как мне разделить таблицу ?

На мой взгляд тут нету самого главного, а имено намерения автора что с этим запросом потом делать?
Если в отчет выводить, то решение одно, если в эксель, то другое...

Думаю, что получать запрос такого обновленного типа нет смысла, трата времени, ресурсов...
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720551
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by,
уточните, пожалуйста есть -ли у Вас таблица родственники (если есть-вопрос решается элементарно-если нет-то это гемор)
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720556
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuolang@tut.by,
уточните, пожалуйста есть -ли у Вас таблица родственники (если есть-вопрос решается элементарно-если нет-то это гемор)

Есть у него... Подчиненная (состав семьи)... И как, т.е. как это элементарно?
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720631
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Function soed ()
Dim rs As DAO.Recordset, rs1 As DAO.Recordset, b, c
Set rs = CurrentDb.OpenRecordset("глСемьи")
Do Until rs.EOF
Set rs1 = CurrentDb.OpenRecordset("select кодГ,стРодства,Ф from родня where кодГ=" & rs!кодГ)
    Do Until rs1.EOF
        c = c & ", " & rs1!стРодства & "-" & rs1!Ф
        rs1.MoveNext
    Loop
    soed = Mid(c, 3)
       'Debug.Print soed
rs.MoveNext
c = ""
Loop
End Function
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720685
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в запросе так: kod-ключевое поле таблицы"глСемьи"
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function soed(kod As String)
Dim rs As DAO.Recordset, c
Set rs = CurrentDb.OpenRecordset("select кодГ,стРодства,Ф from родня where кодГ=" & kod)
    Do Until rs1.EOF
        c = c & ", " & rs1!стРодства & "-" & rs1!Ф
        rs1.MoveNext
    Loop
    soed = Mid(c, 3)
       Debug.Print soed
End Function
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720691
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку должно быть везде rs а не rs1
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720761
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Штатный функционал отчетов неспешно велосипедируется в запрос...
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720766
EvAnd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёжик`Штатный функционал отчетов неспешно велосипедируется в запрос...
То есть?
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720769
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvAndТо есть?
Отче - группировка, сортировка, не отображать повторы.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37720782
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и подотчеты
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37722595
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем. спс за помощь. теперь наводящие вопросы и ответы. подчиненная таблица есть там в задании написано. связаны по табельному номеру [Таб №]. первая таблица все значения до столбца sostav, 2-ая таблица - поле sostav. нужно на основе запроса (см. Табл. 1) вывести отчет (ни excel ни word не нужен) как показано в Табл. 2. Это краткое пояснение, а теперь хочу уточнить функция которая описана выше будет вставляться в отчет в "область данных - событие" - форматирование или печать?
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37722626
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by,
эту функцию надо использовать при создании источника записей отчета (запросе) строка:soed(КодовоеПолеТаблицы)
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37722727
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, спс большое все работает !
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37722811
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #37723411
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

спс за совет но я так пробовал и не очень красиво получается как того просят заказчики3773
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Вывод группировочных записей в одну строку для отчета
    #39584168
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

доброе утро. есть вопрос во вашей функции soed. возникла проблема когда строка превысила 254 символа.
вот пример из файла xml где используется данная функция.
<NPART> К556:13.12.2017:{3EF13CD0-EBA2-4A60-B3AE-2308A5EEB3DF}; К557:13.12.2017:{EE20CDCA-8124-4CA5-8A69-DCBCCB09271C}; К558:14.12.2017:{661532DE-0519-40FF-848E-C2FAACAE9180}; К559:14.12.2017:{C6C446D7-0674-4D55-9806-950057099C9A}; К560:15.12.2017:{6CEDEB54-A67C- </NPART>
концовку строки обрезало(
как бороться в такой ситуации?
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585238
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот пример запроса где используется функция. когда нет группировки вроде все проходит, но если стоит группировка - обрезает строку
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585368
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.byвот пример запроса где используется функция. когда нет группировки вроде все проходит, но если стоит группировка - обрезает строкуТак и должно быть.
В данном случае лучше использовать Метод 3 по ссылке http://hiprog.com/index.php?option=com_content&task=view&id=334
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585551
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, почитал, но немного не понял про таблицу TAB2. ее нужно заполнить с помощью Recordset как сказано в методе 2 или тупо создать 2 запроса? как это будет выглядеть для моего примера, если можно показать, пожалуйста.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585555
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот функция группировки для моего примера, которую я использую
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Function soed(Kod As Integer)
Dim rs As DAO.Recordset
Dim c
Set rs = CurrentDb.OpenRecordset("SELECT ProdK, NomAkt, DataK, GiunK FROM tbPodKos where ProdK=" & Kod)
    Do Until rs.EOF
        c = c & "; " & Trim(rs!NomAkt) & ":" & rs!DataK & ":" & Trim(rs!GiunK)
        rs.MoveNext
    Loop
    soed = Mid(c, 3)
    Debug.Print soed
End Function
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585649
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by, чего там непонятного? Используется временная таблица состоящая из двух полей. В пустую таблицу запросом на вставку добавляются уникальные значения по которым производится группировка, вторым запросом на обновление во второе поле вносятся сгруппированные значения. Всё. После использования таблица очищается.
Никаких функций для группирования не используется. Если только выполнить эти эапросы (можно и рукаме) - смотри как это делается в небольшой процедуре
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585789
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by,
выложите таблицу в которой возникает проблема (насколько понял в ёкселевской)
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585923
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, не знаю где я че не так сделал, но все равно режет строку. вот файл с формой вывода. поставьте там дату 03.01.18 и нажмите экспорт в xml или просто через запросы.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39585969
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.byПанург, не знаю где я че не так сделал, но все равно режет строку. вот файл с формой вывода. поставьте там дату 03.01.18 и нажмите экспорт в xml или просто через запросы.

http://www.sql.ru/forum/actualfile.aspx?id=21114296] Приложенный файл (JurnalTmp.rar - 43Kb)
Я бы видимо сделала по другому
Код: vbnet
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.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
Option Compare Database

Private Sub Filtr_Click()
    pFilter = "Day(DataG)= " & Day(DataN) & " AND Month(DataG)=" & Month(DataN) & " AND Year(DataG)=" & Year(DataN)
    Me.Filter = pFilter
    Me.FilterOn = True
    Me.Refresh
End Sub

' экспорт в xml файл для связи продукция-сырье
Private Sub pXmlPS_Click()
Dim rs As DAO.Recordset, s, t1, t2

NameTXT = "D:\Jelatin_Kosti.xml"
Me.Refresh
Set dbs = CurrentDb()

' запрос к исходной таблице qJelatinXmlSur
s = "SELECT tbJelatin.NomPart, tbJelatin.DataG, tbJelatin.Guin,"
s = s & " tbPodKos.NomAkt as nomAktK,tbPodKos.DataK ,tbPodKos.GiunK,"
s = s & " [ProdK] AS Npart"
s = s & " FROM tbJelatin"
s = s & " INNER JOIN tbPodKos ON tbJelatin.Kod = tbPodKos.ProdK"
''s = s & "  WHERE (((tbJelatin.prn) = True))"
s = s & " ORDER BY tbJelatin.NomPart, tbJelatin.DataG, tbJelatin.Guin,[ProdK]"
Debug.Print s
Set rs = dbs.OpenRecordset(s, dbOpenDynaset, DB_CONSISTENT, dbPessimistic)
If rs.RecordCount = 0 Then
    MsgBox "Данные по актам кости отсутствуют!", vbInformation, "ВНИМАНИЕ"
    rs.Close
    dbs.Close
Else
rs.MoveFirst
MsgBox "Файл " & NameTXT & " сохранен в папку", vbInformation, "ВНИМАНИЕ"
Open NameTXT For Output As #1
'пишем заголовок
Print #1, "<?xml version='1.0' encoding='UTF-8'?>"
Print #1, "<ArrayOfItemPart xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/200l/XMLSchema'>"
t1 = "**"
   While Not rs.EOF
   t2 = rs!NomPart & "`" & rs!DataG & "`" & rs!Guin
   If t1 <> t2 Then
   If t1 <> "**" Then
    Print #1, "</NPART>"
    Print #1, "</ItemPart>"
   End If
        ' rs.Fields(0) - номер партии;     rs.Fields(1) - дата;              rs.Fields(2) - GUIN;            rs.Fields(3) - № акта +  дата акта + Guin акта сырья;
        Print #1, "<ItemPart>"
        Print #1, "<TYPEOTR>2</TYPEOTR>"
        Print #1, "<POL>4810077900006:ОАО " & Chr(34) & "МОЖЕЛИТ" & Chr(34) & " г. Могилев" & "</POL>"
        Print #1, "<PARTR>" & Trim(rs.Fields(0)) & Chr(58) & Format(rs.Fields(1), "dd\.mm\.yyyy") & Chr(58) & Trim(rs.Fields(2)) & "</PARTR>"
        Print #1, "<NPART>"
        t1 = t2
        End If
        Print #1, Trim(rs!NomAktK) & ":" & rs!DataK & ":" & Trim(rs!GiunK) & ";"
         
        
        rs.MoveNext
Wend
Print #1, "</NPART>"
    Print #1, "</ItemPart>"
Print #1, "</ArrayOfItemPart>"
Close #1
rs.Close
dbs.Close
End If
Set rs = Nothing
WinToUTF (NameTXT)

End Sub
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586003
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.byПанург, не знаю где я че не так сделал, но все равно режет строку. А просто заглянуть во временную таблицу времени не хватило? Чего бы не резать если там тип данных поля стоит текстовый с ограничением в 256 символов. Было интересно поменяешь или нет - не сменил. Смени тип на мемо.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586263
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
спасибо за ваш предложенный вариант
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586384
olang@tut.by, вы средствами VBA создаете файл в кодировке ANSI, а затем с помощью ADODB.Stream преобразуете в UTF-8. Зачем, если можно через ADODB.Stream сразу создавать файл в нужной кодировке?
ЗЫ. Где-то месяц-два назад я уже писал об этом в похожей ситуации. Не вам?
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586402
21212
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев )olang@tut.by, вы средствами VBA создаете файл в кодировке ANSI, а затем с помощью ADODB.Stream преобразуете в UTF-8. Зачем, если можно через ADODB.Stream сразу создавать файл в нужной кодировке?
...........

++
а это
чо тако
WinToUTF (NameTXT)

а
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586907
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ), да это мне. была такая проблема. но я не стал исправлять. нужно было срочно отдать файл для обработки.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586927
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, добрый день. можете еще помочь. как убрать ";" в месте указанном на рисунке в вашем коде программы. я пробовал много вариантов, но не нашел точки отсчета.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39586937
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
некорректно написал. для одной партии я могу удалить ";" а вот для нескольких не соображу.
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39587121
Код: vbnet
1.
        Print #1, Trim(rs!NomAktK) & ":" & rs!DataK & ":" & Trim(rs!GiunK) & ";"


Эта инструкция пишет в файл каждую партию в отдельной строке (как на 1-й картинке).

Конечно ПЕНСИОНЕРКА вам ответит лучше, но мой вариант такой:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
   t1 = "**" : s = ""
While Not rs.EOF
   t2 = rs!NomPart & "`" & rs!DataG & "`" & rs!Guin
   If t1 <> t2 Then
     If t1 <> "**" Then
      Print #1, s & "</NPART>" : s = ""
      Print #1, "</ItemPart>"
     End If
        ' rs.Fields(0) - номер партии;     rs.Fields(1) - дата;              rs.Fields(2) - GUIN;            rs.Fields(3) - № акта +  дата акта + Guin акта сырья;
        Print #1, "<ItemPart>"
        Print #1, "<TYPEOTR>2</TYPEOTR>"
        Print #1, "<POL>4810077900006:ОАО " & Chr(34) & "МОЖЕЛИТ" & Chr(34) & " г. Могилев" & "</POL>"
        Print #1, "<PARTR>" & Trim(rs.Fields(0)) & Chr(58) & Format(rs.Fields(1), "dd\.mm\.yyyy") & Chr(58) & Trim(rs.Fields(2)) & "</PARTR>"
        Print #1, "<NPART>"
        t1 = t2
   End If
        'Print #1, Trim(rs!NomAktK) & ":" & rs!DataK & ":" & Trim(rs!GiunK) & ";"
        If Len(s)  > 0 Then S = s & ";"        
        s = s & Trim(rs!NomAktK) & ":" & rs!DataK & ":" & Trim(rs!GiunK)
        rs.MoveNext
Wend
    Print #1, s & "</NPART>" : s = ""
    Print #1, "</ItemPart>"
    Print #1, "</ArrayOfItemPart>"

Здесь все партии собираются в переменной и пишутся в файл один раз (как на 2-й картинке) без завершающей ";" .
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39587425
olang@tut.by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),
Спасибо большое. все работает)
...
Рейтинг: 0 / 0
Вывод группировочных записей в одну строку для отчета
    #39587455
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olang@tut.by,
я обычно пишу так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 While Not rs.EOF
   t2 = rs!NomPart & "`" & rs!DataG & "`" & rs!Guin
   If t1 <> t2 Then
    s="" '''разделитель для первой подзаписи
   If t1 <> "**" Then
    Print #1, "</NPART>"
    Print #1, "</ItemPart>"

   End If
        ' rs.Fields(0) - номер партии; rs.Fields(1) - дата;  rs.Fields(2) - GUIN;  
        'rs.Fields(3) - № акта +  дата акта + Guin акта сырья;
        Print #1, "<ItemPart>"
        Print #1, "<TYPEOTR>2</TYPEOTR>"
        Print #1, "<POL>4810077900006:ОАО " & Chr(34) & "МОЖЕЛИТ" & Chr(34) & " г. Могилев" & "</POL>"
        Print #1, "<PARTR>" & Trim(rs.Fields(0)) & Chr(58) & Format(rs.Fields(1), "dd\.mm\.yyyy") & Chr(58) & Trim(rs.Fields(2)) & "</PARTR>"
        Print #1, "<NPART>"
        t1 = t2
        End If
        Print #1, s & Trim(rs!NomAktK) & ":" & rs!DataK & ":" & Trim(rs!GiunK) 
         s= ";"   ''' для следующих
        
        rs.MoveNext
Wend
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вывод группировочных записей в одну строку для отчета
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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