![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
![]()
Здраствуйте. Пишу диплом по созданию информационно-справочной системы. Выбрал access. Вот и в итоге возник ряд вопросов в чем то разобрался а вот с чем то никак не могу справиться. Вопрос в следующем: есть отдел претензий по нему и создана база данных ну так вот как сделать так чтобы допустим небольшая цепочка заявка - тот кто ее решает - решенная . Ну так вот как сделать так что бы допустим есть запись в одной таблице и нажатием одной кнопки либо выставлением чекбокса эта запись переносилась в следующюю таблицу! при том интересует две возможности 1. чтобы запись переносилась в следующюю таблицу неудаляясь из начальной
2. чтобы удалялась из первой переносясь в другую таблицу Заранее благодарен за ответ |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
А надо-ли переносить в другую таблицу? Для реализации статуса документа (Ваша цепочка есть ни что иное, как последовательное изменение статуса) достаточно добавить поле статуса с конечным набором значений и затем просто фильтровать записи по требуемому значению.
Если же перенос записей необходим в силу не описанных в вопросе причин, то реализация двух вариантов переноса путем нажатия на кнопку затруднительна, поскольку сила нажатия на кнопку программно не определяется ![]()
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
![]()
Я понимаю о чем вы говорите но когда я сделал пару таблиц и пришел к преподавателю последовал вопрос "что так мало". В виду этого я и решил увеличить количество таблиц) Ну по сути мне и не нужен вариант в котором можно было бы выбирать. Мне нужно сделать так чтобы когда из таблицы "заявки" запись переносилась без удаления в следущюю таблицу, а из следующей в "обработанные заявки" уже с удалением из предыдущей таблицы! либо если такой вариант не возможен просто сделать чтобы переносились не удаляясь!
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
В связи с этим вспоминается старый армейский анекдот, в котором командир приказал солдатам подметать плац ломом...
Ну тогда делайте примерно так: При нажатии на кнопку в форме "заявки" сформируйте в строковой переменной текст запроса на добавление записи в следующую таблицу с использованием значений полей текущей записи из таблицы "заявки" в виде INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …]), а затем выполните этот запрос с помощью Database.Execute Method (описание метода найдете в справке VBA) Аналогично поступите и при нажатии второй кнопки в следующей форме, только после добавления записи в выполненные заявки, создайте текст еще одного запроса на удаление записи из второй таблицы. Только учтите, что в Access нет механизма транзакций и, если при выполнении запроса на удаление произойдет ошибка (запись не удалится), то скопированную в третью таблицу запись придется удалять самому.
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
![]()
Прочитал то что вы написали и конечно что-то понял но в большинстве нет.Не могли бы вы если вам несложно сделать это на моей работе и желательно немного подробней обьяснить. Т.к от програмирования всегда был далек...( Я так понимаю это элементарно.Конкретно мне нужно чтобы из заявок переносились в следующие одну из трех групп без удаления, а в конечную группу уже с удалением. И заодно хотел спросить на счет связей, не перемудрил я там?
Последний раз редактировалось groovy; 15.05.2011 в 12:11. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
![]()
Помогите пожалуйста кто нибудь! диплом горит! спасибо заранее!
Либо просто по подробней обьясните! я sql вобще неособо то дружу! просто скажите куда это надо вставить! и как написать запрос на удаление? |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
начнем с того, что Номер_Заявки в таблице Заявки уникален для каждой записи. Следовательно, связывать таблицу Заявки с другими таблицами (Претензии, Обработанные заявки) следует только по этому полю. Вторая связь по полю Вид_Претензии лишняя.
Если я правильно понимаю, то Вид Претензии имеет конечное число значений, а именно три (по числу таблиц Претензий). А если в ходе эксплуатации базы Видов Претензий станет больше? Без помощи программиста пользователь с этой забачей не справится. Это не есть гуд. Предлагаю создать дополнительную таблицу с видами претензий, а таблицы Претензии объединить в одну. Учитывая, что копирование записи из таблицы Претензии в таблицу Обработанные заявки должно происходить с одновременным удалением исходной записи из таблицы Претензии, то связь по номеру заявки не имеет смысла, поскольку в этих таблицах не будет записей с одинаковыми номерами заявок. Я бы связал по этому полю таблицы Заявки и Обработанные заявки. Таблицы Претензии и Обработанные заявки содержат коды Струдника и Покупателя, однако связи с соответствующими справочниками есть не все. Надо бы добавить. Только учтите, что связывать таблицы следует по кратчайшему пути.
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Похоже, зря я распинаюсь, раз:
Цитата:
Похоже, Вам в платную консультацию надо (тут такие услуги оказывают), но это не ко мне. Извините!
Если руки золотые, то не важно, откуда они растут.
|
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
![]() Цитата:
На самом деле в моих задачах не стоит стать программистом поэтому и никогда не углублялся во всякие языки. А про классификацию претензий я не думаю что их может стать больше. Любую претензию можно отнести к этим трем видам. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
![]()
ovt256 Незря незря спасибо некоторые советы воплотил в проект так что за то что откликнулись большое спасибо! просто я в sql в ацесе неособо разобрался а в остальном спасибо! INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …]) вот куда имеенно это писать я не понял т.к. с переменными не имел дело в ацесе
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перенос выбранных записей в другую таблицу | Tony1991 | БД в Delphi | 0 | 17.12.2010 16:59 |
Перенос записей из db в dbf | Liones | БД в Delphi | 8 | 29.03.2010 08:16 |
Как сделать автоматич. дату и перенос записей. | Hito | БД в Delphi | 8 | 07.05.2009 13:58 |
Перенос записей между таблицами | Македонский | БД в Delphi | 12 | 27.08.2007 09:41 |