С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
8 / 7 / 4
Регистрация: 03.12.2020
Сообщений: 338

Сделать выборку из БД по Выделено/Не выделено

28.12.2020, 09:06. Показов 1895. Ответов 12

Студворк — интернет-сервис помощи студентам
Есть таблица с графой "Примен", в которой стоят галочки - Выделено/Не выделено.
При просмотре ячеек этой графы я получаю значения True/False.
Но при составлении запроса:
Visual Basic
1
2
3
4
5
6
        Dim DBTableName As String = "MATES" 
        Dim cn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFileName & ";Jet OLEDB:Database Password=***") 
        Dim cmd As New System.Data.OleDb.OleDbCommand("SELECT * FROM " & DBTableName & " WHERE [Примен]='True'", cn) '  FAMI_ID
        Dim da As New System.Data.OleDb.OleDbDataAdapter(cmd)
        Dim tbl As New Data.DataTable
        da.Fill(tbl) 'заполняем набор данных
возникает ошибка. Как правильно сформулировать запрос выборки по параметрам этой графы?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2020, 09:06
Ответы с готовыми решениями:

Выделено памяти для процесса
Добрый день! Потребовалось узнать ПРИМЕРНО (ибо насколько понял это темный лес) сколько выделено ОЗУ под процесс. Вернее получить весь...

Узнать что выделено в comboBox
Подскажите, как узнать что выделено в combo box'e? не выбранно, а именно выделено, т.е. в тот момент, когда пользователь навел курсор, но...

Как узнать, что в RichEdit выделено все
как узнать, что в RichEdit выделено все и сделать неактивным соответствующий пункт (Выделить все) контекстного и простого меню.

12
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
28.12.2020, 09:21
Цитата Сообщение от filat18 Посмотреть сообщение
Как правильно сформулировать запрос
Visual Basic
1
2
3
4
5
6
7
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb
Dim sql As String
 
sql = "SELECT * FROM mates WHERE [Примен]= True "
Set rs = db.OpenRecordset(sql, dbOpenDynaset, dbSeeChanges)
1
8 / 7 / 4
Регистрация: 03.12.2020
Сообщений: 338
28.12.2020, 09:58  [ТС]
alvk, спасибо! применив вашу формулировку к моему варианту кода следует, что в отличии от String, Boolean не нужно отделять - '
Получилось так:
Visual Basic
1
Dim cmd As New System.Data.OleDb.OleDbCommand("SELECT * FROM " & DBTableName & " WHERE [Примен]=True", cn)
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
28.12.2020, 10:25
Лучший ответ Сообщение было отмечено Панург как решение

Решение

filat18,

Достаточно таких условий:
а) для True - WHERE Примен
или
б) для False - WHERE Not Примен
0
Мы один, давай на "ты"
3836 / 1382 / 343
Регистрация: 16.06.2016
Сообщений: 3,273
28.12.2020, 10:38
alvk,
Цитата Сообщение от alvk Посмотреть сообщение
Какой привычки вот это дело? -->
Цитата Сообщение от alvk Посмотреть сообщение
WHERE [Примен]= True
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
28.12.2020, 11:16
Цитата Сообщение от Панург Посмотреть сообщение
WHERE [Примен]= True
Нет, это не моё, ты промахнулся, Акела

p.s. а может я смеюсь над слепым? тогда извините, не знал.
0
Мы один, давай на "ты"
3836 / 1382 / 343
Регистрация: 16.06.2016
Сообщений: 3,273
28.12.2020, 11:30
Цитата Сообщение от alvk Посмотреть сообщение
Нет, это не моё
а! ну да, ну да... ))) мопед не мой...
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
28.12.2020, 12:03
Цитата Сообщение от filat18 Посмотреть сообщение
следует, что в отличии от String, Boolean не нужно отделять - '
True и False - это не строковые значения, это именованные константы.
При этом True = -1, а False = 0.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.12.2020, 12:10
Цитата Сообщение от Capi Посмотреть сообщение
При этом True = -1, а False = 0.
Истины для:0 = False, любое целое <>0 =True.
0
Эксперт MS Access
 Аватар для Eugene-LS
12058 / 5843 / 1492
Регистрация: 05.10.2016
Сообщений: 16,432
28.12.2020, 12:49
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Истины для
Ну если уж совсем , то:
Visual Basic
1
2
?CInt(True)
-1
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
28.12.2020, 13:18
Цитата Сообщение от ltv_1953 Посмотреть сообщение
любое целое <>0 =True
Нет, конечно. True равно -1, и ничему другому.
Visual Basic
1
2
3
4
? -99 = True
False
? 99 = True
False
А вот при преобразовании числовых значений в логические, действительно,
0 превращается в False, а все прочие значения - в True.
Visual Basic
1
2
3
4
5
6
? CBool(0)
False
? CBool(99)
True
? CBool(-99)
True
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
28.12.2020, 13:33
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Ну если уж совсем , то:
Visual Basic
1
2
?CInt(True)
-1
Это лишнее.
И без того известно, что
Boolean variables are stored as 16-bit (2-byte) numbers
Просто принимать они могут всего два значения, 0 и -1, обозначаемые False и True соответственно.

Добавлено через 10 минут
Хотя, да, строго говоря, все равно это преобразование типов.
Так что - не лишнее.
Беру свои слова обратно.
1
Эксперт MS Access
 Аватар для Eugene-LS
12058 / 5843 / 1492
Регистрация: 05.10.2016
Сообщений: 16,432
28.12.2020, 14:05
Цитата Сообщение от Capi Посмотреть сообщение
Беру свои слова обратно.
Зачёт!
Не следует путать преобразование типа и значение системной константы ...
https://www.facebook.com/Alyon... 373749181/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2020, 14:05
Помогаю со студенческими работами здесь

Выделить название в ListBox, если не выделено, и наоборот
Всем привет Прошу помочь с синтаксисом Хочу выделить список названий из листбокса, если они не выделены, и снять выделение, если...

Видокарте выделено 512 Мб, но система использует 256
Здравствуйте, есть такая проблема. Существует материнская плата Gigabyte GA-M85M-US2H со встроенной видеокартой nVidia GeForce 8200, в...

как то что выделено красным заключить в одинарные кавычки?
мужики извините за глупый вопрос. как то что выделено красным заключить в одинарные кавычки? var a =$(this).attr('id'); чтобы в...

Как узнать сколько выделено памяти на работу программы?
Как узнать сколько выделено памяти на работу программы?

Можно ли в Word'e определить что в данный момент выделено?
Можно ли в Word'e определить что в данный момент выделено и делать это при каждой смене выделения (что-то вроде SelectionChange в Excel)?...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru