Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Вопрос по логическому типу данных


Автор: freeez17 4.5.2010, 16:14
 smile Все доброе время суток. smile 
У меня такой вопрос.
Представьте себе 2 таблицы: "книги" и "учет" (база не тему электронная библиотека) . На форме книги я ввожу всякую инфу по ней (название, УДК, автора, год издания, издательство и т.д.), и при добавлении новой записи (новой книги) у меня по умолчанию в поле "наличие" стоит значение "1" (логический тип данных). 
 Вот сам вопрос: на форме "учет" я выбираю книгу (запись, содержащую данные о книге), читателя, дату выдачи, дату возврата и т.д. и при нажатии на кнопку "выдать" у меня изменяется значение поля "наличие" (в таблице "книги", именно ДЛЯ ЭТОЙ ЗАПИСИ (книги)) на "0" т.е книга выдана, она на руках у читателя.
как мне это сделать!? ПОМОГИТЕ!!!! это вроде должно делаться через "программа" (визуал басик). 
user posted image
user posted image
база делается в ацессе 2010 (ну или 2007, без разницы)
 smile 




Автор: Akina 4.5.2010, 16:23
Слушай, а нахрена?
У тебя есть таблица читателей, таблица книг... одну книгу двоим ты выдать ведь не можешь, верно? ну так убери из таблицы поле наличия и добавь поле "ИД читателя". Если там ноль - книга в библиотеке на полке, если null - утеряна или списана (в общем, её больше нет), а любое другое значение - она у кого-то на руках. Вот и всё... 

Автор: freeez17 4.5.2010, 17:37
Цитата

Слушай, а нахрена?
У тебя есть таблица читателей, таблица книг... одну книгу двоим ты выдать ведь не можешь, верно? ну так убери из таблицы поле наличия и добавь поле "ИД читателя". Если там ноль - книга в библиотеке на полке, если null - утеряна или списана (в общем, её больше нет), а любое другое значение - она у кого-то на руках. Вот и всё...  



вот схема данных
user posted image

я понял твой способ. но мне надо чуть другое =)


на форме "учет" все данные об операции "выдача книги" (или что сделали с книгой)
user posted image
Пример: я выдаю Пупкину Васе книгу "Война и Мир". Я заполняю форму данными
user posted image

Все, эта запись сохранилась в базе...

Потом я делаю запрос, например по читателю
и нахожу этого Пупкина на нем весит книга.....

Он пришел вечером и вернул её, я нашел по запросу запись о том что он брал книгу в таблице "учет" и при нажатии на кнопку "книга возвращена" автоматически в поле "дата возврата (факт)" ставится сегодняшняя дата и в таблице "книги" ставится галочка "в наличии"....


Цитата

 при нажатии на кнопку "книга возвращена" автоматически в поле "дата возврата (факт)" ставится сегодняшняя дата и в таблице "книги" ставится галочка "в наличии"....


как мне это реализовать!?  smile 

Если можно, то напиши как для "блондинки"  smile  я просто нуб в БД. smile 

Автор: Akina 4.5.2010, 18:39
Таблица движения - это само собой. Однако не вали в кучу текущее состояние и историю движения.

Цитата(freeez17 @  4.5.2010,  18:37 Найти цитируемый пост)
как мне это реализовать!?   
Если можно, то напиши как для "блондинки"    я просто нуб в БД.  

Я не понял - ты будешь делать самостоятельно, или отправить тему в ЦП?
Указанные действия выполняются соотв. запросом на обновление (UPDATE ... SET ... WHERE ...), который строится динамически в текстовой переменной и затем исполняется через DoCMD.RunSQL.

Автор: freeez17 4.5.2010, 18:46
Цитата

Я не понял - ты будешь делать самостоятельно, или отправить тему в ЦП?


чтот не понял тя.Мне просто надо сделать базу в acess.

Цитата

Указанные действия выполняются соотв. запросом на обновление (UPDATE ... SET ... WHERE ...), который строится динамически в текстовой переменной и затем исполняется через DoCMD.RunSQL. 


а это можно сделать без SQL ???? 

Автор: Akina 4.5.2010, 20:37
Можно. Пишешь статический запрос, берущий данные напосредственно из контролов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)