Access

Access dlookup синтаксис: Использование функции dLookup

Использование функции dLookup

Функция DLookup выполняет поиск информации в еще не открытых таблицах. Синтаксис:

DLookup(«[Поля, которые нужно отобразить]»,»[Таблица представления]»,»<Критерий поиска>»),

где Таблица представления — таблица, в которой находятся искомые поля.

Критерий поиска имеет следующий формат :

«[Поле в таблице]» = ‘<Пример данных>’ .

‘<Пример данных>’ обычно представляется в виде символьной константы. Если же данные являются полем в таблице, то необходимо использовать синтаксис «&[Поле в рассматриваемой таблице]&»

При вводе названий полей и критериев для функция DLookup() запрещено использовать пробелы. Эту функцию можно использовать в процедурах VBA и в запросах для отбора данных. Если поле таблицы является текстовым, то его нужно заключать в одинарные кавычки.

Внутренние константы

Помимо констант, которые поставляются вместе с Access, можно использовать любые константы из библиотек DAO и VBA. Внутренние константы всегда доступны. Имена внутренних констант имеют приставку из двух букв, указывающую на их принадлежность к библиотеке. Константы Access начинаются с букв ac, константы DAO — с букв db, а константы VBA — с букв vb. Например, константа dbOpenTable открывает таблицу.

Внутренние константы используются в качестве аргументов в операторах вида DoCmd.Команда.

Технология работы Создание процедуры для проверки правильности вводимой даты

  1. Откройте форму Заказы в режиме конструктора.

  2. Откройте свойства поля ДатаИсполнения.

  3. Щелкните по кнопке справа от свойства До обновления и выберите Процедуру обработки событий.

  4. Введите следующую процедуру, которая выводит сообщение о неверной дате,

Private Sub ДатаИсполнения_BeforeUpdate(Cancel As Integer)

If [ДатаИсполнения] < [ДатаРазмещения] Then

MsgBox «Дата исполнения не может быть раньше даты размещения»

Me![ДатаИсполнения]. Undo

Cancel = True

End If

End Sub

С помощью метода Undo элемента управления происходит отмена изменения в поле и аргумент Cancel устанавливается равным True для отмены изменений в буфере записи.

  1. Проверьте работу процедуры, перейдя в режим формы. Введите неверную дату и нажмите Enter.

Создать функцию для автоматического установления скидки.

  1. Выберите вкладку Модули окна БД и нажмите Создать.

  2. Введите следующий фрагмент текста программы:

Function Disc (intQuantity As Integer) As Single

Select Case intQuantity

Case Is >= 1000

Disc = 0. 5

Case Is >= 500

Disc = 0.4

Case Is >= 100

Disc = 0.3

Case Is >= 50

Disc = 0.2

Case Is >= 10

Disc = 0.1

Case Else

Disc = 0

End Select

End Function

  1. Выберите опцию меню Debug->Compile,

чтобы убедиться, что функция не содержит синтаксических ошибок.

  1. Выберите опцию меню View->Immediate Window (Окно отладки).

5. В окне отладки введите ? Disc(), поставив в скобки конкретное количество.

  1. Нажмите Enter и проверьте результат.

  2. Сохраните модуль, помня, что его имя не должно совпадать с именем функции.

  3. Откройте форму ЗаказанныйТовар в режиме конструктора.

  4. Убедитесь, что в свойстве Имя поля Количество задано Количество.

  5. В свойстве Данные поля Скидка напишите =Disc(NZ([Количество])).

  6. Проверьте работу функции, перейдя в режим формы.

Это интересно: DlookUP Access

Указание числового критерия:

 Чтобы найти фамилию сотрудника с кодом 7, укажите критерий, ограничивающий диапазон значений:
=DLookup(«[LastName]», «Employees», «[EmployeeID] = 7»)

 Указание числового критерия из поля формы:

 Если вы не хотите указать конкретное значение в выражении (как в предыдущем примере),  используйте параметр в критерии.
 =DLookup(«[LastName]», «Employees», _

 «[EmployeeID] = Form![EmployeeID]»)

 =DLookup(«[LastName]», «Employees», _
 «[EmployeeID] = » & [EmployeeID])

 =DLookup(«[LastName]», «Employees», _
 «[EmployeeID] = » & Forms![Orders]![EmployeeID])

 Эти три примера возвращают одинаковые результаты.

 В первом примере формы!
 «[EmployeeID] = [EmployeeID]»

 вычисляется как:
 «1 = 1»

 и поэтому будет первой записью, соответствующей критерию.

 Критерий в двух примерах выполняются путем сцепления двух строковых выражений с
 амперсанда (&).

 При вычислении критерия первой и присоединенных или сцепленные вычисляются отдельные
 части критерия, а затем вычисляется все выражение.

 Если текущее значение поля EmployeeID формы Orders равно 7, исходное выражение
 критерия
 «[EmployeeID] = » & [EmployeeID]

 будет вычисляться как
 «[EmployeeID] = » & 7

 что после объединения дает для:
 «[EmployeeID] = 7»

 Если не указать ссылку полной формы (как во втором примере), Microsoft Access
предполагает, что вы ссылаетесь на текущую форму.

Следующий пример является производным от третьего примера:
=DLookup(«[LastName]», «Employees», _
«[EmployeeID] = Forms![Orders]![EmployeeID]»)

В этом примере ссылки на формы полностью заключен внутри кавычек критерия.

Если поле Чтобы автоматически обновлять при изменении критерия, сделайте критерий
переменной с помощью способ объединения частей выражения, как описано ранее.
Обратите внимание, что при переходе к новой записи DLookup() текстовые поля, которые
обновляются автоматически будет иметь # Ошибка в них, то, что вводится в поле
EmployeeID поле.

Указание текстового критерия:

Приведенные выше примеры демонстрируют использование функции DLookup() с числовым

критерием.
=DLookup(«[Title]», «Employees», «[LastName] = ‘Callahan'»)

Обратите внимание, что можно использовать двойные кавычки, а не одинарные
кавычки, хотя одинарных кавычек является более предпочтительным.
=DLookup(«[Title]», «Employees», «[LastName] = «»Callahan»»»)

Указание текстового критерия из поля формы:

Следующем примере показано, как найти название контракта для клиента в форме
Orders. Поле CustomerID является текстовым полем критерия, поэтому DLookup()
инструкции:
=DLookup(«[ContactName]», «[Customers]», _
«[CustomerID]='» & [CustomerID] & «‘»)

–ИЛИ-
=DLookup(«[ContactName]», «[Customers]», _
«[CustomerID]='» & Forms![Orders]![CustomerID] & «‘»)

Во втором примере критерий создается путем объединения трех строковых выражений.

Во-первых, «[CustomerID] = ‘», вторым – значение, содержащееся в поле CustomerID,
а третий — закрывающей одиночной кавычки заключены в двойные кавычки.

При вычислении этого критерия сначала вычисляются отдельные части и их результаты
складываются или объединяются. Затем вычисляется все выражение.

Если текущее значение выбранного в поле со списком CustomerID в форме Заказы
Alfreds Futterkiste, присоединенный столбец для поля со списком возвращает ALFKI как
CustomerID. Исходное выражение критерия
«[CustomerID] = ‘» & [CustomerID] & «‘»

вычисляется как
«[CustomerID] = ‘» & «ALFKI» & «‘»

что после объединения дает
«[CustomerID] = ‘ALFKI'»

Указание даты:

Если поля критерия содержат значения даты или времени, заключите значение даты

или времени в знаки номера (#). Чтобы найти сотрудника, день рождения которого
приходится на определенную дату, воспользуйтесь следующим примером:
=DLookup(«[LastName]», «Employees», «[BirthDate] = #12-08-68#»)

Указание нескольких полей в критерии:

Выражение условия может быть любой допустимый предложение SQL WHERE (без
ключевого слова ГДЕ). Это означает, что можно использовать более одного поля для
указания критерия для функции DLookup() .

Чтобы найти код заказа один из заказов, проданных сотрудником «Андрей Фокин» с
EmployeeID 2 (числовой) для клиента «Simons bistro» с CustomerID из SIMOB (текст),
используйте следующую инструкцию DLookup() образца:
=DLookup(«[OrderID]», «Orders», _
«[CustomerID] = ‘SIMOB’ And [EmployeeID] = 2»)

Этот оператор возвращает значение OrderID 10556, который является значением первого поля OrderID, соответствующего заданному критерию.

OrderID 10669 также соответствует критериям.
Приведенный выше пример использует жестко запрограммированные или специальные значения CustomerID и EmployeeID. Чтобы использовать переменные вместо специфических значений критерия, можно использовать для объединения нескольких строковых выражений Visual Basic для приложений. Этот метод демонстрируется в следующем примере Visual Basic:
Sub subTest
‘Declare the variables.
Dim CustID As String
Dim EmpID As Long
Dim Result

‘Assign values to the variables to be used in the criteria.
CustID = «SIMOB»
EmpID = 2
Result = DLookup(«[OrderID]», «Orders», _
«[CustomerID] = ‘» & CustID & «‘ And [EmployeeID] = » & EmpID)

MsgBox Result
End Sub
Если функция DLookup() завершается неудачно, результат переменная содержит значение Null.
Обратите внимание, что критерий состоит из четырех частей, которые оцениваются по отдельности. Результаты добавляются и оцениваются в целом. Исходное выражение критерия: «[CustomerID] = ‘» & CustID & «‘ And [EmployeeID] = » & EmpID

вычисляется как
«[CustomerID] = ‘» & «SIMOB» & «‘ And [EmployeeID] = » & 2

что после объединения дает
«[CustomerID] = ‘SIMOB’ And [EmployeeID] = 2»

Следующий пример можно использовать для нахождения сотрудника, день рождения которого
совпадает с текущей датой:
=DLookup(«[LastName]», «Employees», _
«Month([BirthDate]) = » & Month(Date) & » And Day([BirthDate]) _
= » & Day(Date))

Если текущая дата — 2/12/2001, исходное выражение критерия
«Month([BirthDate]) = » & Month(Date) & » And Day([BirthDate]) = » _
& Day(Date)

вычисляется как
«Month([BirthDate]) = » & 12 & » And Day([BirthDate]) = » & 2

что после объединения дает
«Month([BirthDate]) = 12 And Day([BirthDate]) = 2»

7 способов использования функции MS Access DLookup(), которую нельзя пропустить.

..!

Вы когда-нибудь слышали о функции DLookup базы данных Access? Хотите узнать больше об этой функции DLookup базы данных Access? Тогда в этом случае вы находитесь на правильной платформе.

Это руководство написано с основной целью предоставить вам полную информацию о функции MS Access Dlookup и в основном фокусируется на том, как использовать dlookup в Access .

Исправить проблемы с Microsoft Access
Запустить сканирование базы данных с помощью Stellar Access Database Repair Tool для восстановления несогласованной базы данных Access. После завершения сканирования процесс восстановления восстановит базу данных до ее нормального состояния, исправив все ошибки.

Нажимая кнопку выше и устанавливая Stellar Repair for Access (14,8 МБ), я подтверждаю, что прочитал и согласен с Лицензионным соглашением с конечным пользователем и Политикой конфиденциальности этого сайта.

Исправление ошибок доступа

Что это за функция Access Dlookup?

Приложение Microsoft Access имеет мощный пакет обработки данных с множеством мощных функций, упрощающих извлечение данных. Из этой обширной коллекции MS Access DLookup функция является наиболее работоспособной.

В приложении MS Access функция DLookup используется для получения значения определенного поля из указанного набора записей (домена). Вы можете использовать эту функцию DLookup в Модуль Visual Basic для приложений (VBA) , выражение запроса, макрос или вычисляемый элемент управления в форме или отчете.

Эта функция лучше всего подходит для извлечения значения определенного поля из домена. Здесь домен может быть заданным набором записей из таблицы, запроса или выражения SQL. Эту функцию   DLookup можно использовать для отображения значений полей, которых нет в базовом наборе записей.

Например:

Предположим, у вас есть форма на Детали заказа табл. Форма будет отображать поля Quantity, OrderID, ProductID, UnitPrice и Discount . Однако в таблице продуктов присутствует «поле ProductName» . В этом случае вы можете использовать функцию DLookup в вычисляемом элементе управления для отображения ProductName в той же форме.

Примеры функции MS Access DLookup

Dim newvar как вариант

Newvar = DLookup(«[имя студента]»,»studentmaster»,»[rollno]=1001″)

Из вышеприведенного примера извлекаются данные из поля [имя студента] из таблицы studentmaster для списка номер 1001.

Проверьте, что произойдет, если функция DLookup была задана без каких-либо критериев.

Newvar = DLookup(«[имя студента]»,»studentmaster»)

Приведенный выше код вернет данные в поле [имя студента] из первой записи таблицы studentmaster.

Вы также можете использовать переменные в критериях. Например, поле формы можно использовать как <условие>

Вам также может понравиться:

Узнайте 5 различных способов создания форм в базе данных Microsoft Access…!

Newvar = DLookup(«[имя студента]»,»studentmaster»,»[rollno]=Form![rollno]»)

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

Чтобы указать текстовые критерии из поля в форме, включите одинарные кавычки.

Nvar = DLookup(«[rollno]»,»studentmaster»,

«[имя учащегося]=’ » & Forms![Marks]![имя учащегося] & » ‘ «)

В общем, мораль этой истории такова: Access DLookup используется как выражение в запросе MS Access или вычисляемое поле в форме для извлечения сторонних значений. Что ж, вы можете использовать это также в поле «Критерии» построителя запросов. Вот почему более эффективно создать новый запрос с полями обеих таблиц и использовать его в качестве базового набора записей.

Access DLookup выбирает сохраненные записи домена. Другая несохраненная запись не включена в домен.

Функция Microsoft Access DLookup Синтаксис:

DLookup(   expr, домен [ , критерии ] )

Синтаксис функции DLookup имеет следующие аргументы:

Expr:

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

В части выражения синтаксиса функции DLookup Access вы можете указать имя поля в таблице, элемент управления или форму, константу или функцию. Если эта часть включает какую-либо функцию, то она может быть либо определяемой пользователем, либо встроенной, но не агрегатной функцией SQL или любой другой агрегатной функцией предметной области.

Домен

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

Критерии

Строковое выражение, используемое для ограничения диапазона данных, для которых выполняется функция DLookup. Предположим, что критерий эквивалентен предложению WHERE в выражении SQL без использования слова WHERE. Если критерии не указаны, то функция DLookup будет применена ко всему домену. Любое поле, включенное в критерий, должно быть полем в домене, иначе функция вернет значение NULL.

Посмотрите:

Узнайте все о коде Microsoft Access VBA — функциях VBA, ярлыках и многом другом…!

Доступ к базе данных Функция DLookup() возвращает одно значение из одного поля. Если ни одна запись не соответствует критериям или если домен пуст, функция DLookup() вернет значение Null. Если критериям соответствует более одной записи, то в этом случае DLookup вернет первый экземпляр этого <имя поля>.

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

Чтобы вычислить значения даты или времени, заключите время или значение данных в числовые знаки (#).

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

Ниже описаны следующие обстоятельства, чтобы кратко узнать, как использовать функцию Dlookup() в Access.

1# DLookup для пустой записи данных

Если вы примените функцию Access DLookup к таблице или запросу, который содержит какие-либо записи, появится сообщение об ошибке с указанием «Недопустимое использование нуля» . Это происходит потому, что вы пытаетесь присвоить нулевое значение переменной strX.

Код:

Dim strX As String

strX = DLookup(«HolidayDate», «tblHolidays»)

Me.txtResult = strX

Концевой переходник

Чтобы избежать этого сообщения об ошибке, вы можете использовать оператор IF, чтобы проверить, найдена ли запись, прежде чем присваивать значение результата strX.

Правильный код:

Частная подпрограмма Command0_Click()

Dim strX As String

Если IsNull(DLookup(«HolidayDate», «tblHolidays»)) Then

     MsgBox «Запись не найдена»  ‘ или сделайте что-нибудь

Другое

     strX = DLookup(«HolidayDate», «tblHolidays»)

     Me.txtResult = strX

Конец, если

Концевой переходник

2# DLookup with Textual Criteria

При использовании знака равенства в коде «[UserLoginID] = ‘John’» в качестве Результат этого критерия.

Результат будет отображаться как «Запись не найдена», поскольку нет записи с именем пользователя «Джон», но есть записи для «Джон Смит» или «Джон Ванг».

Код:

Частная подпрограмма Command0_Click()

If IsNull(DLookup(«[Имя пользователя]», «tblUser», «[Имя пользователя] = ‘john'»)) Then

     Me.txtResult = «Запись не найдена»

Другое

     Me.txtUserName = DLookup(«[Имя пользователя]», «tblUser», «[Имя пользователя] = ‘джон'»)

Конец, если

Концевой переходник

3# DLookup без критериев

Это самый простой способ использования функции DLookup(); то есть без указания каких-либо критериев. В этом случае функция DLookup даст вам значение первой записи в поле CustomerName из таблицы tbl_Customer.

Таким образом, на выходе будет «Barney Rubble», поскольку это первая запись в таблице tbl_Customer, как показано на рисунке ниже.

Код:

Частная подпрограмма Command0_Click()

Dim strX как строка

strX = DLookup(«CustomerName», «tbl_customer»)

Me.txtResult = strX

Конечный переходник

4# DLookup с числовым критерием, полученным из поля текущей формы

Код «[UserID] = Me.txtUserID» используется здесь в качестве числового критерия для DLookup в функции Access . Это покажет вывод «John Vang», потому что UserID 3 предназначен для имени пользователя «John Vang» в соответствии с таблицей tblUser, показанной выше.

Код:

Частная подпрограмма cmdGetResult_Click()

Me.Refresh

Если IsNull(Me.txtUserID), то

     MsgBox «Пожалуйста, введите идентификатор пользователя»

Другое

     If IsNull(DLookup(«[Имя пользователя]», «tblUser», «[UserID] = » & Me. txtUserID)) Then

         Me.txtUserName = «Запись не найдена»

     Еще

         Me.txtUserName = DLookup(«[Имя пользователя]», «tblUser», «[UserID] = » & Me.txtUserID)

     Конец, если

Конец, если

Концевой переходник

номер идентификатора пользователя из текущей формы

НЕ ПРОПУСТИТЕ:

Как создать сводную таблицу в MS Access и решить связанную с ней проблему

5# DLookup с текстовыми критериями, полученными из поля в текущей форме

Код «[UserLoginID] = ‘» & Me.txtLoginID & «‘» используется в качестве критерия для функции доступа DLookup.

Предположим, вы хотите получить имя пользователя для введенного UserLoginID в текстовом поле UserLoginID в этой форме, а затем отобразить его над текстовым полем User Name.

Неправильно, если в текстовом поле UserLoginID вы вводите jvang, имя пользователя должно быть «John Vang». Здесь для этого кода используются два оператора IF, чтобы проверить, введен ли UserLoginID или нет, а также во избежание ошибки, если имя пользователя остается пустым для введенного UserLoginID.

Код:

Частная подпрограмма cmdGetResult_Click()

Me.Refresh

Если IsNull(Me.txtLoginID), то

      MsgBox «Пожалуйста, введите UserLoginID»

Другое

      If IsNull(DLookup(«[Имя пользователя]», «tblUser», «[UserLoginID] = ‘» & Me.txtLoginID & «‘»)) Then

           MsgBox «Нет имени пользователя для этого UserLoginID»

      Еще

           Me.txtUserName = DLookup(«[Имя пользователя]», «tblUser», «[UserLoginID] = ‘» & Me.txtLoginID & «‘»)

      Конец, если

Конец, если

Концевой переходник

6# DLookup Query with Date Criteria

DLookup Функция доступа MS также используется для просмотра информации по запросу. Код «[FinishDate] = #4/30/2014#» использовался в качестве критерия даты для DLookup в Access . После применения приведенного ниже кода вывод будет «Задача 5», потому что «Задача 5» имеет последнюю дату 30.04.2014 как запрос «задача выполнена» ниже.

Код:

Частная подпрограмма Command0_Click()

If IsNull(DLookup(«[TaskName]», «задача завершена», «[FinishDate] = #30/4/2014#»)) Then

     Me.txtResult = «Запись не найдена»

Другое

     Me.txtResult = DLookup(«[TaskName]», «задача выполнена», «[FinishDate] = #30/4/2014#»)

Конец, если

Концевой переходник

7# DLookup с числовыми критериями

В этом разделе код «[UserID] = 6» используется в качестве числового критерия для функции MS Access DLookup . На выходе будет отображаться «Адам Смит», поскольку для имени пользователя «Адам Смит» назначен идентификатор пользователя 6 .

Код:

Частная подпрограмма Command0_Click()

If IsNull(DLookup(«[Имя пользователя]», «tblUser», «[UserID] = 6»)) Then

    Me.txtUserName= «Запись не найдена»

Другое

    Me.txtUserName = DLookup(«[Имя пользователя]», «tblUser», «[UserID] = 6»)

Конец, если

Концевой переходник

8# DLookup с кодом VBA
Пример в коде VBA

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

  Dim LDate As Date

LDate = DLookup("ДатаЗаказа", "Заказы", "IDЗаказа = 10248")  

В приведенном выше примере LDate используется как переменная, которая будет хранить значение OrderDate таблицы Orders. Из этой таблицы Orders в коде используется OrderID 10248.

Резюме:

Надеемся, что вся вышеупомянутая информация о MS Функция Access DLookup покажется вам полезной для быстрого доступа к этой функции DLookup() в базе данных Access с этого момента. Функция DLOOKUP довольно проста в использовании, но только тогда, когда вы понимаете, как с ней работать. Итак, изучите , как использовать функцию доступа DLOOKUP по нескольким критериям, и попробуйте их все.

Если вы столкнулись с какой-либо дополнительной проблемой, связанной с функцией DLookup Access, задайте вопрос в нашем разделе комментариев. Вы обязательно получите немедленный ответ на свой запрос.

Проблемы остались? Исправьте их с помощью этого инструмента восстановления доступа:

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

  1. Загрузите Stellar Repair для Access с рейтингом Great на Cnet (загрузка начинается на этой странице ).
  2. Щелкните Browse и Search , чтобы найти поврежденную базу данных Access.
  3. Нажмите кнопку Восстановить , чтобы восстановить и просмотреть объекты базы данных.

Пирсон Уилли

Пирсон Уилли (Pearson Willey) — автор контента для веб-сайтов и специалист по планированию подробного контента. Помимо этого, он еще и заядлый читатель. Таким образом, он очень хорошо знает, как писать привлекательный контент для читателей. Писательство для него как растущий край. Ему нравится изучать свои знания в области MS Access и делиться техническими блогами.

Получение значения из таблицы: DLookup()

Советы Microsoft Access: Получение значения из таблицы: DLookup()

Советы Microsoft Access для обычных пользователей

Предоставлено Алленом Брауном. Обновлено в июле 2006 г.


Рано или поздно вам нужно будет получить значение, хранящееся в таблице. Если вы регулярно выставляете счета компаниям, у вас будет таблица Company , содержащая все сведения о компании, включая поле CompanyID , и таблица Contract , в которой хранится только CompanyID для поиска этих сведений. Иногда вы можете основывать форму или отчет на запросе, содержащем все дополнительные таблицы. В других случаях DLookup() может спасти жизнь.

DLookup() ожидает, что вы зададите три элемента в скобках. Думайте о них как:

 Найдите поле _____ в таблице _____, где запись _____ 

Каждый из них должен идти в кавычках, разделенных запятыми .

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

Наверное, проще всего это проследить на нескольких примерах:

  1. у вас есть CompanyID , например 874, и вы хотите напечатать название компании в отчете;
  2. у вас есть Категория , например «C», и вам нужно показать, что означает эта категория.
  3. у вас есть StudentID , например «JoneFr», и вам нужно полное имя учащегося в форме.

Пример 1:

Найдите поле CompanyName в таблице Company , где CompanyID = 874 . Это переводится как:

 =DLookup("CompanyName", "Company", "CompanyID = 874") 

Вы не хотите, чтобы компания 874 печаталась для каждой записи! Используйте амперсанд (&), чтобы соединить текущее значение в поле CompanyID вашего отчета с критерием «Company = «:

 =DLookup("CompanyName", "Company", "CompanyID = " & [CompanyID]) 

Если CompanyID имеет значение null (как это может быть в новой записи), 3-й аргумент будет неполным, поэтому все выражение дает #Error. Чтобы избежать этого, используйте Nz() для предоставления значения, когда поле равно null:

 =DLookup("CompanyName", "Company", "CompanyID = " & Nz([CompanyID],0)) 

Пример 2:

Приведенный выше пример верен, если CompanyID является числом. Но , если поле текстовое, Access ожидает вокруг него кавычки . Во втором примере мы ищем поле CategoryName в таблице Cat , где Category = ‘C’. Это означает, что DLookup становится:

 =DLookup("ИмяКатегории", "Кошка", "Категория = 'C'") 

Одинарные кавычки в двойных кавычках — это один из способов заключать кавычки в кавычки. Но опять же, нам не нужна категория «C» для всех записей: нам нужно, чтобы текущее значение из нашего поля категории было вставлено в цитату. Для этого мы закрываем цитату после первой одинарной кавычки, добавляем содержимое Category , а затем добавляем завершающую одинарную кавычку . Это становится:

 =DLookup("CategoryName", "Cat", "Category = '" & [Category] & "'") 

Пример 3:

В нашем третьем примере нам нужно полное имя из таблицы Student . Но в таблице студентов имя разбито на поля Имя и Фамилия , поэтому нам нужно обратиться к ним обоим и добавить между ними пробел .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *