0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
||||||
1 | ||||||
Копирование поля из одной таблицы в другую(ADO)17.11.2009, 16:03. Показов 7403. Ответов 13
Метки нет (Все метки)
Здравствуйте.В базах данных я не особо силен.Работу делаю с пом. ADO.
Имеется вот такой код, взял я его с какой то книжки: При нажатии на кнопке Удалить:
Но перед удалением мне нужно скопировать удаляемое поле в другую таблицу(напр table_arxiv), а из этой таблицы(напр. table_main) удалить эту запись. Проблема вроде простая, но я не могу понять, как получить,идентификатор, так чтоли сказать; т.е я не могу объяснить программе, какую имеено запись ему нужно скопировать в table_arxiv, т.к не пойму, где это прописывается. Работаю с компонентами ADOConnection, ADOTable,DataSource и DBGrid. Скрин прикладываю для наглядности. http://mediapix.ru/pics/1401f3... 8f2784.jpg
0
|
17.11.2009, 16:03 | |
Ответы с готовыми решениями:
13
Копирование данных из одной таблицы в другую в пределах одной базы. Не работает счетчик Копирование таблицы из одной БД в другую Копирование из одной таблицы БД в другую Копирование таблицы из одной БД в другую |
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
17.11.2009, 16:16 | 2 |
активная запись в ДБГриде соответствует конкретной записи в источнике данных, вот и решение простое берете источник данных и с помощью FieldByName узнаете значение ключевого поля. остальное - это уже дело техники... можно в два запроса все организовать...
0
|
0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
|
17.11.2009, 16:40 [ТС] | 3 |
Можно немного по конкретнее?(хотя судя по вашей подписи...)
Просто для меня это дремучий лес, а делать срочно надо. Источник данных-base.mdb, с полями типа name,surname,birthdate и т.п. Ключевое поле наз-ся key.
0
|
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
17.11.2009, 17:39 | 4 |
RamireZ, под исчтоником данных для дбгрида подразумевается объект, который вы указываете в TDataSource... например TTable, тогда чтобы получить ключевое поле выбранной в гриде строки надо написать так
Table.FieldByName('key').AsInteger (или какой у вас там тип)
0
|
0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
|
17.11.2009, 23:04 [ТС] | 5 |
С этим вроде бы разобрался.
Сделал так У меня есть номер в очереди(на скрине можно увидеть, первое поле) и мне нужно организовать эту очередь,т.е добавляется запись-и ей присваиваетсяпоследний номер в очереди+1, удаляется первая запись, и очередь продвигается на 1 человека, т.е то кто был 2 стал 1, кто 3 стал 2, кто 4 стал 3 и т.п. Как это можно реализовать? ДУмаю понятно выразился,данные добавляются тольков конец очереди. (Блин, никогда так не тупил)
0
|
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||||||
17.11.2009, 23:12 | 6 | |||||
ну во многих базах поддерживается тип данных - счетчик, а тебе просто надо источником данных сделать запрос такой:
0
|
0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
|
19.11.2009, 21:31 [ТС] | 7 |
Не стану создавать новую тему, думаю вопрос не сложный:
Как поместить текущую дату в поле редактирования DBEdit?
0
|
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
20.11.2009, 09:43 | 8 |
RamireZ, никак, разве что поставить в поле в базе это значение по умолчанию. Этот компонент данные тянет из базы, лучше использовать простой Edit
0
|
0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
|
20.11.2009, 10:52 [ТС] | 9 |
ТОже была мысль поставить как значение по умолчанию, но так и не нашел, где у DBEdit нах-ся это свойство...
А насчет простого Edit'a, как потом из него данные в таблицу передать тогда?
0
|
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
20.11.2009, 11:16 | 10 |
RamireZ, элементарно, запросом
0
|
3 / 3 / 0
Регистрация: 13.11.2009
Сообщений: 43
|
|
20.11.2009, 11:40 | 11 |
Одааа с гридами я на мучался здорово, но проще сделать так
на кнопке изменить(та что на первой форме) вы просто закрепляете код открытия формы для редактирования (Form2.Show) далее кидешь DBEdit столько сколько нужно на форму 2 прописываем в Uses 1формы Unit 2формы а в Uses 2формы Unit 1формы таким образом Dbgrid"ы смогут обмениваца информацией далее просто у каждого DBEdit"ов указываем DataSource ,Form1.DataSource1 а DataFiels соответсвующую колонку как только ты наеченаешь редактировать едиты таблица входить в режим редактирования(Edit) автоматом так что нигде не надо писать ADOTable2.Edit; Как только во всех полях сделаны изменения Form1.ADOTable1.Post на кнопке сохранить Form1.ADOTable1.Cancel на кнопке отменить чтоб добавлятьновую строку Form1.ADOTable1.Insert;режим добавления Form1.ADOTable1.Post; подтверждает изменения
0
|
0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
|
20.11.2009, 18:45 [ТС] | 12 |
0
|
3 / 3 / 0
Регистрация: 13.11.2009
Сообщений: 43
|
|||||||||||
20.11.2009, 20:22 | 13 | ||||||||||
сори не понял попроса.........
Этож проще простого
IDSort(ADOTable1);прономерует заново по порядку правдо если будет какой сбой и индексы будут идти не последовательно может случища ошибка тоесть допустим сроки 1 3 5 6 12 прономерует в 1 2 3 4 5 но если будет 4 1 8 2 будет ошибка вычесляем следующий id
Добавлено через 12 минут а на счет даты те нужен компонент TDateTimePicker при сохранение таблицы прям из него выдераешь и вставляешь в ячейку Добавлено через 14 минут ADOTable1.Edit;//если не включен; ADOTable1.Fields[{номер столбца}].AsDateTime:=DateTimePicker1.DateTime; перед ADOTable1.Post; и DateTimePicker1.DateTime:=ADOTable1.Fields[{номер столбца}].AsDateTime; перед Form2.Show
1
|
0 / 0 / 0
Регистрация: 24.07.2009
Сообщений: 26
|
|||||||||||
25.11.2009, 23:50 [ТС] | 14 | ||||||||||
Как сделать онлайн фильтрацию через скуль запрос?
Сейчас у меня так: есть Edit у него в onChange прописано
Затем прописано еще в самом DataModule
Необходима именно онлайн фильтрация(т.е набираем в поле поиска "с" остаются только фамилии на "с" и т.д)
0
|
25.11.2009, 23:50 | |
25.11.2009, 23:50 | |
Помогаю со студенческими работами здесь
14
Копирование из одной таблицы в другую Копирование из одной таблицы в другую Копирование из одной таблицы в другую Копирование данных из одной таблицы в другую Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |