Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 22:17   #1
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию Перенос записей

Здраствуйте. Пишу диплом по созданию информационно-справочной системы. Выбрал access. Вот и в итоге возник ряд вопросов в чем то разобрался а вот с чем то никак не могу справиться. Вопрос в следующем: есть отдел претензий по нему и создана база данных ну так вот как сделать так чтобы допустим небольшая цепочка заявка - тот кто ее решает - решенная . Ну так вот как сделать так что бы допустим есть запись в одной таблице и нажатием одной кнопки либо выставлением чекбокса эта запись переносилась в следующюю таблицу! при том интересует две возможности 1. чтобы запись переносилась в следующюю таблицу неудаляясь из начальной
2. чтобы удалялась из первой переносясь в другую таблицу
Заранее благодарен за ответ
groovy вне форума Ответить с цитированием
Старый 14.05.2011, 23:41   #2
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

А надо-ли переносить в другую таблицу? Для реализации статуса документа (Ваша цепочка есть ни что иное, как последовательное изменение статуса) достаточно добавить поле статуса с конечным набором значений и затем просто фильтровать записи по требуемому значению.

Если же перенос записей необходим в силу не описанных в вопросе причин, то реализация двух вариантов переноса путем нажатия на кнопку затруднительна, поскольку сила нажатия на кнопку программно не определяется. Как иначе Вы планируете объяснить программе, какой из двух вариантов переноса следует выбрать?
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 15.05.2011, 00:20   #3
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Я понимаю о чем вы говорите но когда я сделал пару таблиц и пришел к преподавателю последовал вопрос "что так мало". В виду этого я и решил увеличить количество таблиц) Ну по сути мне и не нужен вариант в котором можно было бы выбирать. Мне нужно сделать так чтобы когда из таблицы "заявки" запись переносилась без удаления в следущюю таблицу, а из следующей в "обработанные заявки" уже с удалением из предыдущей таблицы! либо если такой вариант не возможен просто сделать чтобы переносились не удаляясь!
Изображения
Тип файла: jpg Безымянный.jpg (99.2 Кб, 125 просмотров)
groovy вне форума Ответить с цитированием
Старый 15.05.2011, 01:42   #4
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

В связи с этим вспоминается старый армейский анекдот, в котором командир приказал солдатам подметать плац ломом...

Ну тогда делайте примерно так:
При нажатии на кнопку в форме "заявки" сформируйте в строковой переменной текст запроса на добавление записи в следующую таблицу с использованием значений полей текущей записи из таблицы "заявки" в виде INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …]), а затем выполните этот запрос с помощью Database.Execute Method (описание метода найдете в справке VBA)

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

Только учтите, что в Access нет механизма транзакций и, если при выполнении запроса на удаление произойдет ошибка (запись не удалится), то скопированную в третью таблицу запись придется удалять самому.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 15.05.2011, 12:09   #5
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Прочитал то что вы написали и конечно что-то понял но в большинстве нет.Не могли бы вы если вам несложно сделать это на моей работе и желательно немного подробней обьяснить. Т.к от програмирования всегда был далек...( Я так понимаю это элементарно.Конкретно мне нужно чтобы из заявок переносились в следующие одну из трех групп без удаления, а в конечную группу уже с удалением. И заодно хотел спросить на счет связей, не перемудрил я там?
Вложения
Тип файла: rar Информационно-справочная система.rar (68.8 Кб, 22 просмотров)

Последний раз редактировалось groovy; 15.05.2011 в 12:11.
groovy вне форума Ответить с цитированием
Старый 16.05.2011, 02:42   #6
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Помогите пожалуйста кто нибудь! диплом горит! спасибо заранее!
Либо просто по подробней обьясните! я sql вобще неособо то дружу! просто скажите куда это надо вставить! и как написать запрос на удаление?
groovy вне форума Ответить с цитированием
Старый 16.05.2011, 23:44   #7
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

начнем с того, что Номер_Заявки в таблице Заявки уникален для каждой записи. Следовательно, связывать таблицу Заявки с другими таблицами (Претензии, Обработанные заявки) следует только по этому полю. Вторая связь по полю Вид_Претензии лишняя.

Если я правильно понимаю, то Вид Претензии имеет конечное число значений, а именно три (по числу таблиц Претензий). А если в ходе эксплуатации базы Видов Претензий станет больше? Без помощи программиста пользователь с этой забачей не справится. Это не есть гуд.

Предлагаю создать дополнительную таблицу с видами претензий, а таблицы Претензии объединить в одну.

Учитывая, что копирование записи из таблицы Претензии в таблицу Обработанные заявки должно происходить с одновременным удалением исходной записи из таблицы Претензии, то связь по номеру заявки не имеет смысла, поскольку в этих таблицах не будет записей с одинаковыми номерами заявок. Я бы связал по этому полю таблицы Заявки и Обработанные заявки.

Таблицы Претензии и Обработанные заявки содержат коды Струдника и Покупателя, однако связи с соответствующими справочниками есть не все. Надо бы добавить. Только учтите, что связывать таблицы следует по кратчайшему пути.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 17.05.2011, 00:08   #8
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Похоже, зря я распинаюсь, раз:

Цитата:
Сообщение от groovy Посмотреть сообщение
Помогите пожалуйста кто нибудь! диплом горит! спасибо заранее!
Либо просто по подробней обьясните! я sql вобще неособо то дружу! просто скажите куда это надо вставить! и как написать запрос на удаление?
А Вам что, SQL и Access не преподавали? Перечитайте конспекты лекций. Хотя,... я не думаю, что они у Вас есть, раз уже "диплом горит", а знаний ноль. Да, погорячились Вы с темой диплома... Надо было что-нибудь из более близкого выбирать: музыка, игры, девочки...

Похоже, Вам в платную консультацию надо (тут такие услуги оказывают), но это не ко мне.

Извините!
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 17.05.2011, 10:50   #9
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Цитата:
Сообщение от ovt256 Посмотреть сообщение
Похоже, зря я распинаюсь, раз:



А Вам что, SQL и Access не преподавали? Перечитайте конспекты лекций. Хотя,... я не думаю, что они у Вас есть, раз уже "диплом горит", а знаний ноль. Да, погорячились Вы с темой диплома... Надо было что-нибудь из более близкого выбирать: музыка, игры, девочки...

Похоже, Вам в платную консультацию надо (тут такие услуги оказывают), но это не ко мне.

Извините!
Ладно спасибо за ответ. И вы представляете себе тему?)) разработка системы по кадрению девченок?)))
На самом деле в моих задачах не стоит стать программистом поэтому и никогда не углублялся во всякие языки.

А про классификацию претензий я не думаю что их может стать больше. Любую претензию можно отнести к этим трем видам.
groovy вне форума Ответить с цитированием
Старый 17.05.2011, 11:43   #10
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

ovt256 Незря незря спасибо некоторые советы воплотил в проект так что за то что откликнулись большое спасибо! просто я в sql в ацесе неособо разобрался а в остальном спасибо! INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …]) вот куда имеенно это писать я не понял т.к. с переменными не имел дело в ацесе
groovy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос выбранных записей в другую таблицу 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