5 строк кода

Как писать приложения на MS Access

Archive for the ‘mc_rec’ Category

Как преобразовать записи таблицы в строку

Комментариев нет

Я хочу предоставить Вам несколько очень полезных функций, которые позволяют собрать данные из таблицы в строку через разделитель:

  • CM_RecsInStr()
  • CM_RecsInStrExt()

Отличия между ними заключаются в параметрах. CM_RecsInStr() работает с Recordset, а CM_RecsInStrExt() с запросом или именем таблицы.

Эти функции я часто использую, что бы показать информацию о сложном объекте в сжатом виде. Например, для заказа можно показать выбранные товары через запятую, при этом можно ограничить вывод первыми 10 записями.

Пример использования:

Dim lK_OREDER As Long
Dim rst As DAO.Recordset
Dim stSQL As String

lK_OREDER = 123
stSQL = "SELECT TOP 25 T_ORDER_ITEM & '(' & N_COUNT & ')' As T_ITEM FROM K_ORDER = " & lK_OREDER

Set rst = CurrentDb.OpenRecordset(stSQL, dbOpenForwardOnly)

MsgBox CM_RecsInStr(rst, "T_ITEM", " | ")
MsgBox CM_RecsInStr(stSQL , "T_ITEM", " | ")

В результате работы примера получим примерно такую строку:

Товар А (1) | Товар Б (2) | Товар В (1)

Наиболее удачной получилось CM_RecsInStrExt(). Иногда для простоты я ее использую в качестве истоника данных полей на формах.

Текст функций:
Read the rest of this entry »

Written by Сергей Скоков

Февраль 23rd, 2011 at 1:14 пп