Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208

Сообщение при отсутствии данных

26.01.2014, 21:53. Показов 2513. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста
1. Как правильно прописать условие, если в таблице "ТаблицаРКЭнгельРено" (формируется запросом) не будет данных (например в поле Karta), то выдать сообщение "Нет режимки"
Visual Basic
1
2
3
4
nomer = "select top 1 * from ТаблицаРКЭнгельРено"   ' & "" & Me.Выбор_ТПА.Column(1) & """
  With CurrentDb.OpenRecordset(nomer)
  If Len(!Karta & "") = 0 Then MsgBox "Нет режимки": Exit Sub
  End With
Пробовал
Visual Basic
1
If Len(!Karta & "") is null Then MsgBox "Нет режимки": Exit Sub
тоже не работает.
Пробовал обратное условие
Visual Basic
1
If Len(!Karta & "") > 0 Then MsgBox "Есть режимка": Exit Sub
работает.
Где у меня ошибка?
2. Можно ли имя таблицы сделать плавающим:
Visual Basic
1
nomer = "select top 1 * from ТаблицаРК & "" & Me.Выбор_ТПА.Column(1) & """
Как правильно прописать?
Спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2014, 21:53
Ответы с готовыми решениями:

Закрытие запроса при отсутствии данных
Доброго времени суток. В моей БД существует запрос на выборку из таблицы по нажатию кнопки. Подскажите пожалуйста, какой нужно написать...

БД склад, необходимо получать сообщение при отсутствии товара на складе
БД склад , необходимо получать сообщение при отсутствии товара на складе (или в запросе сообщение должно выскакивать ) помогите как...

Сообщение об отсутствии нужного количества комплектующих на складе
У меня два варианта расчета остатков на всякий случай:) Надо чтобы в форме "Выдача комплектующих" при заполнении количества в...

7
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
26.01.2014, 22:19
Цитата Сообщение от u_tarvo Посмотреть сообщение
Как правильно прописать условие, если в таблице "ТаблицаРКЭнгельРено" (формируется запросом) не будет данных (например в поле Karta), то выдать сообщение "Нет режимки"
Предикат Top не имеет смысла без явной сортировки. Надо задавать сортировку, иначе рискуете получить случайное значение.
Visual Basic
1
2
3
4
nomer = "select top 1 * from ТаблицаРКЭнгельРено order by [ИмяПоляСортировки]"   ' & "" & Me.Выбор_ТПА.Column(1) & """
  With CurrentDb.OpenRecordset(nomer)
  If Len(!Karta & "") = 0 Then MsgBox "Нет режимки": Exit Sub
  End With
Цитата Сообщение от u_tarvo Посмотреть сообщение
2. Можно ли имя таблицы сделать плавающим:
Visual Basic
1
nomer = "select top 1 * from [ТаблицаРК" & Me.Выбор_ТПА.Column(1) & "]"
1
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
26.01.2014, 23:54  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Предикат Top не имеет смысла без явной сортировки. Надо задавать сортировку, иначе рискуете получить случайное значение.
Visual Basic
1
2
3
4
nomer = "select top 1 * from ТаблицаРКЭнгельРено order by [ИмяПоляСортировки]"   ' & "" & Me.Выбор_ТПА.Column(1) & """
  With CurrentDb.OpenRecordset(nomer)
  If Len(!Karta & "") = 0 Then MsgBox "Нет режимки": Exit Sub
  End With
mobile, Спасибо!
По второму вопросу получилось, а первый никак.
Посмотри пожалуйста.
На Титул выбрать деталь, материал, ТПА и нажать кнопку "Реж.карта"
Вложения
Тип файла: rar Режимка 26.01.rar (1.27 Мб, 26 просмотров)
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
27.01.2014, 00:27
Лучший ответ Сообщение было отмечено u_tarvo как решение

Решение

u_tarvo, была запорчена форма титула. Я восстановил.

Проблемный участок падал не на том, что поле было пусто, а из-за отсутствия записей в запросе. Которое не проверялось.
Visual Basic
1
2
3
4
5
  nomer = "select top 1 * from [ТаблицаРК" & Me.Выбор_ТПА.Column(1) & "] order by [Karta]"
  With CurrentDb.OpenRecordset(nomer)
    If .EOF Then MsgBox "Нет записей для выбранных параметров": Exit Sub
    If Len(!Karta & "") = 0 Then MsgBox "Нет режимки": Exit Sub
  End With
Вложения
Тип файла: rar Режимка 6.01-1.rar (949.6 Кб, 11 просмотров)
1
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
27.01.2014, 07:16  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
u_tarvo,
Проблемный участок падал не на том, что поле было пусто, а из-за отсутствия записей в запросе. Которое не проверялось.
Visual Basic
1
  If .EOF Then MsgBox "Нет записей для выбранных параметров": Exit Sub
Спасибо большое!
Вот какого элемента не хватало
0
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
13.02.2014, 20:24  [ТС]
Возвращаясь к напечатанному

Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
  Dim t1, nomer As String
   Dim s
   nomer = "select top 1 * from Режимы WHERE (((Режимы.KodTPA)=[Forms]![Титул]![Выбор ТПА]) AND ((Режимы.Material)=[Forms]![Титул]![Material]) AND ((Режимы.№Detali)=[Forms]![Титул]![ПолеСоСписком34]))ORDER BY Режимы.Karta DESC;"
  With CurrentDb.OpenRecordset(nomer)
    If .EOF Then MsgBox "Нет карты": Me.[DataEnter] = Date: Exit Sub
    'If Len(!Karta & "") = 0 Then MsgBox "Нет карты": Exit Sub
   End With
При выполнении процесса выдает ошибку 3061. "Слишком мало параметров. Требуется 3."
В чем проблема?
Сделал его самостоятельным запросом, все работает.
Где ошибка?
Спасибо!
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.02.2014, 20:34
При компиляции скл-строки в ВБА, все ссылки на формы надо задавать значением, а не ссылкой
Visual Basic
1
2
3
4
5
6
nomer = "select top 1 * " _
& " from Режимы " _
& " WHERE (((Режимы.KodTPA)=" & [Forms]![Титул]![Выбор ТПА] & ") " _
& " AND ((Режимы.Material)='" & [Forms]![Титул]![Material] & "')" _
& " AND ((Режимы.№Detali)=" & [Forms]![Титул]![ПолеСоСписком34] & "))" _
& " ORDER BY Режимы.Karta DESC;"
Я предположил, что Режимы.Material текстовое поле, а остальные числовые и поэтому без ограничивающих апострофов
1
3 / 3 / 0
Регистрация: 21.10.2012
Сообщений: 208
13.02.2014, 20:38  [ТС]
Понял смысл, попробую поправить.
Спасибо!
PS. Сколько всяких элементарных вещей нужно помнить!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2014, 20:38
Помогаю со студенческими работами здесь

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

Сообщение при отсутствии dll
Здравствуйте. Как сделать системное предупреждении при отсуствии dll подключенных через uses или других недостающих эллементов. ...

Сообщение об ошибке при отсутствии файла
Подскажите можно ли сделать устронить ошибку ? https://www.cyberforum.ru/attachment.php?attachmentid=137965&stc=1&d=1332849632 ...

INNER JOIN при отсутствии данных
Доброго времени суток. Вопрос именно по запросам. Работаю VBA + Access. Запросы формируются автоматически, добавляя INEER JOIN при...

Ошибка при отсутствии данных
Здравствуйте! В коде добавила условие, всё прекрасно работает при наличии данных, но при отсутствии их (т.е.поле пустое) выдается системная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru