|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.05.2011, 22:17 | #1 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
Перенос записей
Здраствуйте. Пишу диплом по созданию информационно-справочной системы. Выбрал access. Вот и в итоге возник ряд вопросов в чем то разобрался а вот с чем то никак не могу справиться. Вопрос в следующем: есть отдел претензий по нему и создана база данных ну так вот как сделать так чтобы допустим небольшая цепочка заявка - тот кто ее решает - решенная . Ну так вот как сделать так что бы допустим есть запись в одной таблице и нажатием одной кнопки либо выставлением чекбокса эта запись переносилась в следующюю таблицу! при том интересует две возможности 1. чтобы запись переносилась в следующюю таблицу неудаляясь из начальной
2. чтобы удалялась из первой переносясь в другую таблицу Заранее благодарен за ответ |
14.05.2011, 23:41 | #2 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
А надо-ли переносить в другую таблицу? Для реализации статуса документа (Ваша цепочка есть ни что иное, как последовательное изменение статуса) достаточно добавить поле статуса с конечным набором значений и затем просто фильтровать записи по требуемому значению.
Если же перенос записей необходим в силу не описанных в вопросе причин, то реализация двух вариантов переноса путем нажатия на кнопку затруднительна, поскольку сила нажатия на кнопку программно не определяется. Как иначе Вы планируете объяснить программе, какой из двух вариантов переноса следует выбрать?
Если руки золотые, то не важно, откуда они растут.
|
15.05.2011, 00:20 | #3 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
Я понимаю о чем вы говорите но когда я сделал пару таблиц и пришел к преподавателю последовал вопрос "что так мало". В виду этого я и решил увеличить количество таблиц) Ну по сути мне и не нужен вариант в котором можно было бы выбирать. Мне нужно сделать так чтобы когда из таблицы "заявки" запись переносилась без удаления в следущюю таблицу, а из следующей в "обработанные заявки" уже с удалением из предыдущей таблицы! либо если такой вариант не возможен просто сделать чтобы переносились не удаляясь!
|
15.05.2011, 01:42 | #4 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
В связи с этим вспоминается старый армейский анекдот, в котором командир приказал солдатам подметать плац ломом...
Ну тогда делайте примерно так: При нажатии на кнопку в форме "заявки" сформируйте в строковой переменной текст запроса на добавление записи в следующую таблицу с использованием значений полей текущей записи из таблицы "заявки" в виде INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …]), а затем выполните этот запрос с помощью Database.Execute Method (описание метода найдете в справке VBA) Аналогично поступите и при нажатии второй кнопки в следующей форме, только после добавления записи в выполненные заявки, создайте текст еще одного запроса на удаление записи из второй таблицы. Только учтите, что в Access нет механизма транзакций и, если при выполнении запроса на удаление произойдет ошибка (запись не удалится), то скопированную в третью таблицу запись придется удалять самому.
Если руки золотые, то не важно, откуда они растут.
|
15.05.2011, 12:09 | #5 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
Прочитал то что вы написали и конечно что-то понял но в большинстве нет.Не могли бы вы если вам несложно сделать это на моей работе и желательно немного подробней обьяснить. Т.к от програмирования всегда был далек...( Я так понимаю это элементарно.Конкретно мне нужно чтобы из заявок переносились в следующие одну из трех групп без удаления, а в конечную группу уже с удалением. И заодно хотел спросить на счет связей, не перемудрил я там?
Последний раз редактировалось groovy; 15.05.2011 в 12:11. |
16.05.2011, 02:42 | #6 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
Помогите пожалуйста кто нибудь! диплом горит! спасибо заранее!
Либо просто по подробней обьясните! я sql вобще неособо то дружу! просто скажите куда это надо вставить! и как написать запрос на удаление? |
16.05.2011, 23:44 | #7 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
начнем с того, что Номер_Заявки в таблице Заявки уникален для каждой записи. Следовательно, связывать таблицу Заявки с другими таблицами (Претензии, Обработанные заявки) следует только по этому полю. Вторая связь по полю Вид_Претензии лишняя.
Если я правильно понимаю, то Вид Претензии имеет конечное число значений, а именно три (по числу таблиц Претензий). А если в ходе эксплуатации базы Видов Претензий станет больше? Без помощи программиста пользователь с этой забачей не справится. Это не есть гуд. Предлагаю создать дополнительную таблицу с видами претензий, а таблицы Претензии объединить в одну. Учитывая, что копирование записи из таблицы Претензии в таблицу Обработанные заявки должно происходить с одновременным удалением исходной записи из таблицы Претензии, то связь по номеру заявки не имеет смысла, поскольку в этих таблицах не будет записей с одинаковыми номерами заявок. Я бы связал по этому полю таблицы Заявки и Обработанные заявки. Таблицы Претензии и Обработанные заявки содержат коды Струдника и Покупателя, однако связи с соответствующими справочниками есть не все. Надо бы добавить. Только учтите, что связывать таблицы следует по кратчайшему пути.
Если руки золотые, то не важно, откуда они растут.
|
17.05.2011, 00:08 | #8 | |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
Похоже, зря я распинаюсь, раз:
Цитата:
Похоже, Вам в платную консультацию надо (тут такие услуги оказывают), но это не ко мне. Извините!
Если руки золотые, то не важно, откуда они растут.
|
|
17.05.2011, 10:50 | #9 | |
Пользователь
Регистрация: 14.05.2011
Сообщений: 20
|
Цитата:
На самом деле в моих задачах не стоит стать программистом поэтому и никогда не углублялся во всякие языки. А про классификацию претензий я не думаю что их может стать больше. Любую претензию можно отнести к этим трем видам. |
|
17.05.2011, 11:43 | #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 |