Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [delphi]Перенос данных из таблицы в таблицу 
:(
    Опции темы
Kisma
Дата 25.3.2010, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.3.2010

Репутация: нет
Всего: нет



Доброго времени суток! У меня есть таблица (Paradox+Table+DBGrid), в ней содержаться данные о системных блоках и есть кнопка "Списать" и еще одна таблица, так вот мне нужно: выделить в таблице номер сис.блока, нажать на кнопку "Списать" и чтобы этот сис.блок перенесся из этой таблицы в таблицу "Списанные" и там сохранился и при последующих открытиях программы никуда оттуда не девался! Как такое организовать и возможно ли? Заранее спасибо! 
PM MAIL   Вверх
Frees
Дата 25.3.2010, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



выполнить два запроса

копируем в списанные
Код

 insert spisan (field1)
select field1 from sisblok where id = :id_spisnnogo



удаляем
Код

delete form sisblok where id = :id_spisnnogo


ps структура не правельная почему не завести в таблице сист блоко поле в котором отмечать списанные...
тогда для списания надо только изменить значение эт ого поля


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Kisma
Дата 25.3.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.3.2010

Репутация: нет
Всего: нет



мм, немного не понятно...у меня вот такой код...может где ошибка...если найдете опишите поподробнее пожалуйста, а то я не очень разбираюсь в этом, только учусь...
Код

procedure TForm2.BitBtn4Click(Sender:TObject);
begin
   if dbgrid1.DataSource.DataSet. FildByName('Num'). Value=num
then 
 begin
  table1. Edit;
  table1. FieldByName ('Sost'). AsInteger:=3;
  table1. Post;
  table1. Refresh;
 end;
Block := dbgrid1.DataSource.DataSet.FieldByName('Num').Value;
Podrazd:=dbgrid1.DataSource.DataSet.FieldByName('Podrazd').Value;
UserName:=dbgrid1.DataSource.DataSet.FieldByName('Polz'). Value;
Cabinet:=dbgrid1.DataSource.DataSet.FieldByName('Kom').Value;
table5. Append;
table5. Edit;
table5. FieldByName('num'). AsInteger:=block;
table5. FieldByName('podrazd'). AsString:=podrazd;
table5. FieldByName('polz'). AsString:=username;
table5. FieldByName('kom'). AsString:=cabinet;
table5. Post;
table5. Refresh;
end;


PM MAIL   Вверх
Данкинг
Дата 25.3.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Kisma @  25.3.2010,  23:25 Найти цитируемый пост)
может где ошибка.

Как понять "может где"? Код работает? Делает то, что нужно?
И это:
Код

table5. Append;
table5. Edit;

Ты уж определись: .Append добавляет новую запись, а .Edit - редактирует ту, на которой стоит указатель.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
chip_and_dayl
Дата 25.3.2010, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: нет
Всего: 9



Kisma
Пора начинать учить скл-запросы. Чем раньше, тем лучше для тебя. Сравни код 
Frees и свой,  разница есть!?! smile

Ошибка у тебя как сказал Данкинг в Едите. Убери его. 


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0521 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.