LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Накопительная и...
 Накопительная информация в поле отчёта
 
 10.07.2008 3:19:11
Alex N
9 сообщения


Накопительная информация в поле отчёта

Подскажите пожалуйста, как из таблицы (запроса) вывести через запятую в поле отчёта все значения поля?

Имя

Номер

Ваня 1
Оля 2
Юра 3

Нужно

Ваня, Оля, Юра - в одном поле отчёта.

Спасибо!


С уважением, Бабий Александр
 10.07.2008 10:32:37
Admin1
731 сообщения
1-ый


Re: Накопительная информация в поле отчёта

1. Создаете мастером перекрестную таблицу, в которой в качестве заголовков будут поля 1, 2, 3. Далее связываете все поля в одно. Select [1] & "," & [2] & "," & [3] as Имена FROM ...

2. Выбираете поля по номеру: Select Dlookup("Имя","Таблица","Номер=1") & "," & Dlookup("Имя","Таблица","Номер=2")  & "," & Dlookup("Имя","Таблица","Номер=3")  as Имена

3. Создаете внешнюю функцию, в котроу передаете в качестве параметров поле Имя, и далее сохранете результат во внешней переменной. SELECT funИмена([Имя]) ...

4. Можно открыть запрос Openrecordset() или курсор на SQL сервере и обработать построчно каждую запись.

 10.07.2008 12:48:33
Alex N
9 сообщения


Re: Накопительная информация в поле отчёта

 Admin1написал

1. Создаете мастером перекрестную таблицу, в которой в качестве заголовков будут поля 1, 2, 3. Далее связываете все поля в одно. Select [1] & "," & [2] & "," & [3] as Имена FROM ...

2. Выбираете поля по номеру: Select Dlookup("Имя","Таблица","Номер=1") & "," & Dlookup("Имя","Таблица","Номер=2")  & "," & Dlookup("Имя","Таблица","Номер=3")  as Имена

3. Создаете внешнюю функцию, в котроу передаете в качестве параметров поле Имя, и далее сохранете результат во внешней переменной. SELECT funИмена([Имя]) ...

4. Можно открыть запрос Openrecordset() или курсор на SQL сервере и обработать построчно каждую запись.

Поскольку таких данных может быть много и очень много думаю 1,2 вариант не подходят. А вот 4 - интересен. Можно более детально как делается и как потом в отчёте используется? И какой тип переменной использовать для хранения данных - ведь текстовое поле может быть большое.

Спасибо!


С уважением, Бабий Александр
 12.07.2008 22:07:55
Alex N
9 сообщения


Re: Накопительная информация в поле отчёта

Я открыл Openrecordset, но мне в отчёте не появилась возможность использовать его - могу получить только данній самого отчёта.


С уважением, Бабий Александр
 14.07.2008 14:01:30
Alex N
9 сообщения


Re: Накопительная информация в поле отчёта

Уважаемые Гуру!

Подскажите же, пожалуйста - не для интереса спрашиваю - нужно.

Проблема в том, что следующий код не позволяет брать данные из источника Запрос, а берёт из текущего для отчёта источника.

Подскажите, как в отчёте исходя из текущей заполняемой строчки взять из другой таблицы(запроса) данные, объеденить  их и вывести в этой че строчке в  отведённом поле?

Спасибо!

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)

Dim rst As DAO.Recordset
Dim tm

On Error GoTo AllRecordsInRecordsetErr

Set rst = CurrentDb.OpenRecordset("Запрос", dbOpenDynaset)

    With rst
    'Цикл до конца таблицы
                tm = ""
        Do Until .EOF = True
                Debug.Print tm
           
            If Материал_потолка = Me.Материал_потолка Then
                tm = tm & " ; " & Номер_помещения
            End If

            .MoveNext

Loop

End With
Me![Поле11].Value = tm

AllRecordsInRecordsetEnd:
    On Error Resume Next
    rst.Close
    Set rst = Nothing
    Exit Sub
   
AllRecordsInRecordsetErr:
    MsgBox "Процедура [...] привела к ошибке:" & vbCrLf & _
    Err.Description & vbCrLf & " Err#" & Err.Number, vbCritical
    Resume AllRecordsInRecordsetEnd

End Sub


С уважением, Бабий Александр
  Программирование  Microsoft Access. Файлы mdb и accdb  Накопительная и...
ПоискПоиск  Список форумовСписок форумов  
right