powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / и снова DCount
25 сообщений из 28, страница 1 из 2
и снова DCount
    #32389777
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица Простынь1, в ней 165 записей. В таблице есть числовое поле Результат , данное поле содержит цифру 1 или 2 или 3 или 4. На основе этой таблицы есть форма ввода данных, где в частности есть группа переключателей (4шт) => от 1 до 4 значения. На данный момент записей, где Результат=1 31шт, а Результат=2 28 шт., т.е 59 в сумме. В одном из отчетов поставил в примечании пустое поле и решил эту самую цифру получить. В поле поставил выражение:
Код: plaintext
=DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 " And  "[Результат]=2 ")

Однако, получаю не 59, 165 !!!
Хотя если поставить выражение
Код: plaintext
=DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 ")
получаю 31 , а если
Код: plaintext
=DCount( "№рез" ; "[Простынь1]" ; "[Результат]=2 ")
, то 28
Помогите, пожалуйста, исправить синтаксис в 1-м выражении, чтобы получить 59, а не 165!
...
Рейтинг: 0 / 0
и снова DCount
    #32389791
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ну кто же соединяет строки через And! "[Результат]=1" And "[Результат]=2" - это логическая операция And, примененная к двум строкам. Получается хрен знает что.

А надо так: "[Результат]=1 Or [Результат]=2". Между прочим, именно Or, а не And, потому что [Результат]=1 And [Результат]=2 всегда будет False.
...
Рейтинг: 0 / 0
и снова DCount
    #32389792
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)
Код: plaintext
DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 ") +DCount( "№рез" ; "[Простынь1]" ; "[Результат]=2 ")

2)
Код: plaintext
DCount( "№рез" ; "[Простынь1]" ; "([Результат]=1 ) OR ([Результат]= 2 )")
...
Рейтинг: 0 / 0
и снова DCount
    #32389794
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, вот теперь точно в 4 руки.
...
Рейтинг: 0 / 0
и снова DCount
    #32389795
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=DCount("№рез";"[Простынь1]";"[Результат]=1 Or [Результат]=2")

В твоем случае третьим аргументом передается
"cтрока" and "строка", возвращающее -1 (или true).
Странно, что это вообще работает в выражении - в VBA говорит ошибку "несоответствие типа".
...
Рейтинг: 0 / 0
и снова DCount
    #32389797
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:))
...
Рейтинг: 0 / 0
и снова DCount
    #32389802
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нет, 6!
...
Рейтинг: 0 / 0
и снова DCount
    #32389805
Гостья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могло бы быть и 8 :))
...
Рейтинг: 0 / 0
и снова DCount
    #32389808
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^)))
...
Рейтинг: 0 / 0
и снова DCount
    #32389809
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж!
...
Рейтинг: 0 / 0
и снова DCount
    #32389829
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Умение поднимать настроение у меня с детства...

2 Geo
Может я чего не догоняю...
Выражение просит посчитать записи (кстати без ущерба можно будет поставить не "№рез", а "*"), где поле "Результат=1" или "Результат=2". Причем именно с кавычками, т.е если оставить только "Результат=1" в выражении, то получаем 31, а если без кавычек, 0 .
2 All
эти выражения
Код: plaintext
1.
2.
=DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 " And  "[Результат]=2 ")

=DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 " Or  "[Результат]=2 ")

дают 165. Т.е если вместо And поставить Or, то все равно 165

единственное работающее
Код: plaintext
=DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 ") +DCount( "№рез" ; "[Простынь1]" ; "[Результат]=2 ")


Большое спасибо.
...
Рейтинг: 0 / 0
и снова DCount
    #32389838
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не
Код: plaintext
DCount( "№рез" ; "[Простынь1]" ; "[Результат]=1 " Or  "[Результат]=2 ")

а
Код: plaintext
DCount( "№рез" ; "[Простынь1]" ; "([Результат]=1 ) Or ([Результат]= 2 "))

как говорится "почувствуйте разницу"
...
Рейтинг: 0 / 0
и снова DCount
    #32389843
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторТ.е если вместо And поставить Or, то все равно 165
Разумеется!

True And True -> True
True Or True -> True
...
Рейтинг: 0 / 0
и снова DCount
    #32389844
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 (с)VIG
Таки нет!
Аксес пишет, что слишком много скобок, а без них выдает ошибку! = в начале я ессно ставлю.
...
Рейтинг: 0 / 0
и снова DCount
    #32389847
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
У Вига ачипятка. Вместо 2")) должно быть 2)").
...
Рейтинг: 0 / 0
и снова DCount
    #32389848
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, надо творчески подходить, но не перебарщивать :)
Код: plaintext
DCount( "№рез" ; "[Простынь1]" ; "([Результат]=1 ) Or ([Результат]= 2 )")
...
Рейтинг: 0 / 0
и снова DCount
    #32389849
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч
И где порылась собака? Условие для выбора из таблицы вроде как для числового поля. Без кавычек не работает, потому их и ставлю. В чем прикол то?
...
Рейтинг: 0 / 0
и снова DCount
    #32389850
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Повторяю то, что сказали и я, и Гео.

"строка" and "строка" - сначала вычисляются две строки, а потом к ним применяется операция and.
...
Рейтинг: 0 / 0
и снова DCount
    #32389853
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да. с )") работает. :)
...
Рейтинг: 0 / 0
и снова DCount
    #32389862
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(...)! Туут проблема небольшая, в смысле не маленькая )
Возможно ли с помощью статистической функции по подмножеству брать данные из 2-х таблиц?
Код: plaintext
=DCount( "*" ; "[Простынь1]" ; "([Результат]=1 ) Or ([Результат]= 2 )")


Выдает количество записей не совсем то. Есть поле №обс то бишь номер обследователя. Таблица Простынь1 связана по этому полю с таблицей Обследующие , где есть поля №обс Ф И О а также №ТипаОбс - номер типа обследователя. И есть таблица ТипыОбс - типы обследователей, где есть поля №ТипаОбс и Тип т.е 1 Левые 2 Правые 3 Центральные. Т.е таблица Обследующие как бы связывает Простынь1 и ТипыОбследователей
Так вот в выражении требуется отобрать записи кроме всего прочего по тем обследователям, которые центральные. Т.е соотнести №обс из Простынь1 с Тип из ТипыОбследователей . Иными словами [Тип]="Центральные" нужно вставить в это выражение и привязать к №обс
Код: plaintext
=DCount( "*" ; "[Простынь1]" ; "([Результат]=1 ) Or ([Результат]= 2 )" And [Тип]= "Центральные" )
не работает т.к Тип не из Простынь1
Возможно ли это как то поправить?
...
Рейтинг: 0 / 0
и снова DCount
    #32389865
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
автор"([Результат]=1) Or ([Результат]=2)" And [Тип]="Центральные"
Во-первых, это не будет работать все по той же причине - здесь должна быть "строка", а не "строка" And [Тип]="строка". Причем переменная Тип вообще тут не определена, и она и не должна быть тут определена, ее название должно передаваться в функцию в составе стринга, а не так, как тут.

Во-вторых, чтобы такая функция работала с несколькими таблицами, можно построить запрос, который включит в себя эти таблицы, и передавать в функцию его имя.
...
Рейтинг: 0 / 0
и снова DCount
    #32389866
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--OFFTOP
Саныч, и как же у тебя хватает терпения отвечать на подобные вопросы ежемесячно? Мне казалось, когда ты мне объяснял, что ты скоро ругаться нехорошими словами будешь...
--END OFFTOP
...
Рейтинг: 0 / 0
и снова DCount
    #32389868
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч

Код: plaintext
=DCount( "*" ; "[Простынь1]" ; "([Результат]=1 ) Or ([Результат]= 2 )" And  "([ИмяЗапроса.Тип]=" Центральные ")" )


Примерно так?
...
Рейтинг: 0 / 0
и снова DCount
    #32389889
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Темный:
<удалено модератором>

2 Rimbombo:
Нет. Этот параметр должен быть строкой, еж твою мышь.
И кроме того, кавычки внутри строки надо удваивать.
...
Рейтинг: 0 / 0
и снова DCount
    #32389891
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Rimbombo:

Строка - это от кавычки до кавычки. Проведи пальчиком по своей строке и посмотри, где кавычки у тебя открываются и где закрываются.

"([Результат]=1) Or ([Результат]=2)" And "([ИмяЗапроса.Тип]="Центральные")"

То, что я красным не покрасил, в строку не попало, ерш твою медь.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / и снова DCount
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]