(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Как отобразить порядковые номера в подчиненной форме в Microsoft Access 2002

Источник: microsoft

В данной статье показывается, как создать и использовать процедуру отображения номера текущей записи или текущей строки в подчиненной форме.

Как создать функцию GetLineNumber()

Корпорация Microsoft предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также, необходимых средств разработки и отладки. Специалисты служб технической поддержки Microsoft могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается. Если Вам требуется дополнительная консультация по вопросам программирования, Вы можете обратиться в службу консалтинга Microsoft или связаться с сертифицированными партнерами компании Microsoft. Дополнительную информацию о партнерах компании Microsoft можно найти в сети Интернет по следующему адресу:

http://www.microsoft.com/partner/referral/ (http://www.microsoft.com/partner/referral/)
Дополнительная информация по условиям технической поддержки и контактная информация находятся на веб-сервере Microsoft по следующему адресу:
http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)
Следующий пример показывает, как создать и использовать функцию-пример "GetLineNumber()".

Примечание: Пример кода в данной статье использует Microsoft Data Access Objects. Для корректного запуска данного примера Вы должны установить ссылку на Microsoft DAO 3.6 Object Library. Для этого откройте редактор Visual Basic, в меню "Tools" выберите пункт "References" и установите флажок напротив "Microsoft DAO 3.6 Object Library".

  1. Отройте пример базы данных Борей.mdb.
  2. Создайте программный модуль и введите следующую строку в разделе описаний:
     
                   Option Explicit 
  3. Введите следующую процедуру:
     
    Function GetLineNumber (F As Form, KeyName As String, KeyValue)
    
       Dim RS As DAO.Recordset
       Dim CountLines
    
       On Error GoTo Err_GetLineNumber
    
       Set RS = F.RecordsetClone
    
       ' Найти текущую запись.
       Select Case RS.Fields(KeyName).Type
          ' Найти по ключевому значению числового типа.
          Case dbInteger, dbLong, dbCurrency, dbSingle, dbDouble, dbByte
             RS.FindFirst "[" & KeyName & "] = " & KeyValue
             ' Найти, используя тип Data ключевой переменной.
          Case dbDate
             RS.FindFirst "[" & KeyName & "] = #" & KeyValue & "#"
             ' Найти, используя текстовый тип ключевой переменной.
          Case dbText
             RS.FindFirst "[" & KeyName & "] = "' & KeyValue & '""
          Case Else
             MsgBox "Ошибка: Неверный тип данных ключевого поля!"
             Exit Function
       End Select
    
       ' Пдсчет предшествующих записей.
       Do Until RS.BOF
          CountLines = CountLines + 1
          RS.MovePrevious
       Loop
    
    Bye_GetLineNumber:
       ' Вернуть результат.
       GetLineNumber = CountLines
    
       Exit Function
    
    Err_GetLineNumber:
       CountLines = 0
       Resume Bye_GetLineNumber
    
                End Function 
Функции "GetLineNumber()" необходимы следующие три параметра:
  • Объект-форма, на который выводить порядковые номера.
  • Имя уникального ключевого поля, расположенного в таблице на которой основана подчиненная форма. Если запись в источнике не имеет простого уникального ключевого поля, то для этих целей следует добавить в таблицу поле с типом данных "Счетчик".
  • Текущее значение ключевой переменной.
Вы можете использовать следующий пример выражения для задания свойства "ControlSource" элемента Textbox подчиненной формы, если таблица, на которой основана подчиненная форма, имеет поле с именем "ID" (без кавычек) в качестве ключевого поля:
 
                              =GetLineNumber(Form,"ID",[ID]) 

Как использовать функцию GetLineNumber()

ВНИМАНИЕ! Если Вы выполните описанные в примере действия, то это приведет к изменению примера базы данных Борей.mdb. Вы можете создать резервную копию этого файла и продолжать выполнять эти действия на копии базы данных.

  1. Откройте таблицу "Заказано" в режиме "Конструктора", добавьте следующее поле в таблицу и сохраните её:
     
       Field Name: ID
       Data Type:  AutoNumber 
    Данное поле является требуемым идентефикатором записей таблицы с уникальными значениями.
  2. Откройте запрос "Сведения о заказах" в режиме "Конструктора" и добавьте поле "ID" из таблицы "Заказано" в поле запроса, затем сохраните запрос.
  3. Откройте подчиненную форму "Заказы" в режиме "Конструктора" и добавьте в область данных формы элемент TextBox со следующими параметрами.
     
       Name: LineNum
       ControlSource: =GetLineNumber([Form], "ID", [ID]) 
  4. В меню "Вид" выберите "Последовательность перехода". Перетащите поле "LineNum" из нижнего положения списка "Последовательность" наверх и нажмите кнопку "ОК".
  5. Сохраните и закройте подчиненную форму "Заказы".
  6. Откройте форму "Заказы" в режиме "Формы" и найдите запись с несколькими элементами заказа. Обратите внимание, что поле "LineNum" отображает порядковый номер для каждого продукта в заказе.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 18.09.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Basic (corporate)
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерные книги. Рецензии и отзывы
Adobe Photoshop: алхимия дизайна
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100