Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Can’t set Value to NULL when CheckBox property = FALSE
 
 автор: belvesta   (19.03.2007 в 17:18)   личное сообщение
 
 

При переходе на следующую запись ошибка:
Can’t set Value to NULL when CheckBox property = FALSE
Я вставила в поле формы формулу =nz([Date1]), так как если этого не сделать, то постоянно выходит эта ошибка.
Но это поле в таблице называется Date1 из-за чего данные из формы не попадают в таблицу.
Что делать?
Такое ощущение как будто форма не видит ту таблицу, в которую должны попадать данные.

  Ответить  
 
 автор: ДрЮня   (19.03.2007 в 17:59)   личное сообщение
 
 

возможно, это поле в таблице не может иметь пустого значения. посмотрите таблицу в конструкторе и убедитесь, что данному поле разрешено иметь пустое значение

  Ответить  
 
 автор: ИгорьК   (19.03.2007 в 19:44)   личное сообщение
 
 

Date1 это название поля, правильно? Ты присваиваешь другому полю , например Поле, значение поля Date1 =nz([Date1]), поэтому несохраняется в таблице. Нужно например на событие После обновления (или другое событие) поля Date1 написать
Ме.Поле = Ме.Date1. Вот таким макаром сохранится в таблице.

  Ответить  
 
 автор: rokin   (20.03.2007 в 07:38)   личное сообщение
 
 

представление в функции nz не является, конечно, обязательным, но лучше его использовать, затем эта функция и есть, т.е. если поле не может принимать значение null по каким-то причинам, то используют именно эту фукнкцию me.поле=nz([данные],0) (в запросе разделитель ";" )

  Ответить  
 
 автор: osmor   (20.03.2007 в 08:24)   личное сообщение
 
 

Перечитал раз 10... что-то никак не связывается.. никак не пойму что именно..
смущает меня CheckBox property ...
а скажите у Вас никаких флажков (CheckBox ) в этой форме к значению этого поля не привязано?
На уровне подозрения - у Вас в форме CheckBox, для которого свойтство TripleState установлено в False, и при этом Вы ему пытаетесь просвоить NULL....

  Ответить  
 
 автор: rokin   (20.03.2007 в 08:41)   личное сообщение
 
 

я тоже так думаю

  Ответить  
 
 автор: belvesta   (20.03.2007 в 09:41)   личное сообщение
 
 

CheckBox итоит "Нет"

  Ответить  
 
 автор: belvesta   (20.03.2007 в 09:44)   личное сообщение
 
 

Спасибо за подсказку, я поставила "Да" в CheckBox и все заработало

  Ответить  
 
 автор: osmor   (20.03.2007 в 09:45)   личное сообщение
 
 

удалено

  Ответить  
 
 автор: belvesta   (20.03.2007 в 11:42)   личное сообщение
 
 

Скажите теперь пожалуйста, как мне теперь в запросе написать, чтобы выбрать это пустое поле. Is Null не выходит, Is " " тоже, = " " аналогично.

  Ответить  
 
 автор: osmor   (20.03.2007 в 11:57)   личное сообщение
 
 

....where isnull([поле])

  Ответить  
 
 автор: belvesta   (20.03.2007 в 12:13)   личное сообщение
 
 

"Введенное выражение содержит ошибочные операторы"
говорит про "," "!" или скобки

  Ответить  
 
 автор: osmor   (20.03.2007 в 12:18)   личное сообщение
 
 

а так?
where ([поле] Is Nul)

  Ответить  
 
 автор: belvesta   (20.03.2007 в 13:27)   личное сообщение
 
 

теперь пищет "неопределенная функция where в выражении"

  Ответить  
 
 автор: osmor   (20.03.2007 в 14:47)   личное сообщение
 
 

так не понял, а где Вы это пишите?

  Ответить  
 
 автор: belvesta   (20.03.2007 в 14:53)   личное сообщение
 
 

я пишу в конструкторе запроса в поле.

  Ответить  
 
 автор: osmor   (20.03.2007 в 15:17)   личное сообщение
 
 

как мне теперь в запросе написать, чтобы выбрать это пустое поле
Я так понял Вы хотите отобрать записи в которых это поле пустое...
или Вы хотите что-то другое сделать?

  Ответить  
 
 автор: belvesta   (20.03.2007 в 15:44)   личное сообщение
 
 

у меня есть таблица с:
ФИО мастера (SNPMaster), Датой принятия заказа (Date1), Датой готовности изделия плановой (Date2) и Датой готовности изделия фактической (Date4) и Баллами сложности выполнения работы (Балл)
Мне нужно сделать отчет загруженности мастера на текущую дату. Часть я сделала, но там отбираются только те мастера и сумма баллов, которые попадают в промежуток Date1<Date()<Date2
Но этого недостаточно, так как туда не попадают мастера, которые не уложились в план и Дата готовности фатическая не заполнена. Ее нельзя заполнять пока мастер фатически не выполнит заказ.
Для этого я сделала запрос, где есть все эти поля (кроме Date1), но поле Date2<Dat(), теперь мне нужно еще, чтобы Date4<Date() или Date4=пусто!

  Ответить  
 
 автор: belvesta   (20.03.2007 в 15:45)   личное сообщение
 
 

Так вот, Date4<Date() отбирается, а вот Date4=пусто как я только не пробовала писать, ничего не выходит! То ошибки выдает, то просто не выводит эти записи.

  Ответить  
 
 автор: osmor   (20.03.2007 в 16:30)   личное сообщение
 
 

select * from Таблица where (date4 <date()) or (date4 is null)

  Ответить  
 
 автор: belvesta   (20.03.2007 в 16:35)   личное сообщение
 
 

"Выражение содержит ошибочный подчиненный запрос .@
Проверьте синтаксис и заключите подчиненный запрос в скобки"
ПОЧЕМУ?
Я вставила в Поле этого запроса.

  Ответить  
 
 автор: osmor   (20.03.2007 в 16:38)   личное сообщение
 
 

не надо ЭТО в поле запроса, это и есть запрос
дайте ваш текст запрос

  Ответить  
 
 автор: belvesta   (20.03.2007 в 16:51)   личное сообщение
 
 

я еще плохо разбираюсь в SQL, поэтому я сделала в конструкторе и не знаю как написать текст запроса. Если можно подскажите как сделать. И я Вам пришлю текст. Мне потом нужно сформировать отчет по этим данным. Но если возможно, подскажите как сделать в конструкторе, потому что я буду расширять выборку и потом не разбирусь как дальше делать.

  Ответить  
 
 автор: belvesta   (20.03.2007 в 17:03)   личное сообщение
 
 

В итоге в отчете должны быть столбцы:

№ п/п - считается автомастически
Фамилия, имя, отчество мастера - SNPM
Балл сложности выполенения работы - Балл


Вот как раз в этом первом запросе у меня поля:
SNPM
Балл
Date1 <=Date()
Date2 >=Date() or <Date()
Date4 - жалко, что нельзя писать Date4>Date() or =NULL

Вот

  Ответить  
 
 автор: belvesta   (20.03.2007 в 17:09)   личное сообщение
 
 

Извиняюсь, что-то я не так написала.
Вот как нужно по полям выбирать:

SNPM
Балл
Date1 <=Date()
Date2 >=Date()
Date4 - жалко, что нельзя писать Date4>Date() or =NULL

  Ответить  
 
 автор: belvesta   (20.03.2007 в 17:05)   личное сообщение
 
 

Но в ИТОГЕ в отчете должно быть так:

№ п/п
Фамилия, имя отчество мастера (не должно быть повторений)
Балл сложности ()

  Ответить  
 
 автор: osmor   (20.03.2007 в 17:16)   личное сообщение
 
 

ладно попробуем так:
в конструкторе запроса в поле Дата4 в строке "условие отбора пишите"

<date() or is null

остальные условия напишите как вам нужно, я так понял с ними проблем нет

  Ответить  
 
 автор: belvesta   (20.03.2007 в 19:40)   личное сообщение
 
 

я уже так пробовала, не выходит

  Ответить  
 
 автор: belvesta   (20.03.2007 в 19:50)   личное сообщение
 
 

Теперь выходит, но не берется почему-то одна запись, которая удовлетворяет всем условиям... ОГРОМНОЕ ВАМ СПАСИБО, если что я завтра спрошу!!!

  Ответить  
 
 автор: belvesta   (21.03.2007 в 10:23)   личное сообщение
 
 

Здравствуйте. То, что я вчера спрашивала у меня получилось, но мне нужно еще отобрать и фамилии тех, кто не попал в этот список. Я сделала выборку по Date4. Все отбирает, но фамилии такие же какие в запросе о занятых мастерах. Как сделать чтобы фамилии загруженных мастеров (Запрос о загруженности) не совпадали с фамилиями незагруженных мастеров (Запрос4)?

  Ответить  
 
 автор: osmor   (21.03.2007 в 10:45)   личное сообщение
 
 

постройте мастером запрос "записи без подчиненных" посмотрите как он устроен

  Ответить  
 
 автор: belvesta   (21.03.2007 в 10:56)   личное сообщение
 
 

А почему нельзя написать: Not Like [Загруженность мастеров].[SurnameNamePatronymicMaster]

  Ответить  
 
 автор: osmor   (21.03.2007 в 11:29)   личное сообщение
 
 

ту как вам сказать "почему"... синтаксис такой

  Ответить  
 
 автор: belvesta   (21.03.2007 в 12:34)   личное сообщение
 
 

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

  Ответить  
 
 автор: osmor   (21.03.2007 в 13:00)   личное сообщение
 
 

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

  Ответить  
 
 автор: belvesta   (21.03.2007 в 13:15)   личное сообщение
 
 

А как тогда мне это лучше сделать? подскажите пожалуйста

  Ответить  
 
 автор: osmor   (21.03.2007 в 14:06)   личное сообщение
 
 

а что сделать? отобрать записи который нет в первом запросе? - постройте запрос "записи без подчиненных" этот запрос может быть источником строк для :
-Списка
-отчета
-формы

  Ответить  
 
 автор: belvesta   (22.03.2007 в 10:57)   личное сообщение
 
 

Дело в том, что мне нужно, чтобы в один отчет отбирались и те, которые загружены и те, которые не загружены. Примерно так:

Загруженные мастера:
1. Иванова
2. Петрова

Незагруженные мастера
1. Сидорова
2. Комарова

  Ответить  
 
 автор: osmor   (22.03.2007 в 11:24)   личное сообщение
 
 

сделате два отчета "загруженные.." и "не загруженные..."
включите их как подотчеты в один в котором будет шапка и подвал

или сделайте один запрос в котором будут и загруженные и не загруженные ибудет поле по которому можно однозначно определить какой есть какой и сделайте в отчете группу по этому полю

  Ответить  
 
 автор: belvesta   (22.03.2007 в 13:18)   личное сообщение
 
 

получилось, огромное спасибо!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList