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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 15:06   #11
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Марат05 Посмотреть сообщение
Я знаю как это делать, но там придется переменные подключать. Через Unit1.h, Private и Public, между ними прописать и добавить, уже код.
Интересно; что-то наподобие #pragma push.. #pragma pop ?
nick42 вне форума Ответить с цитированием
Старый 16.05.2012, 15:21   #12
Марат05
Пользователь
 
Регистрация: 07.12.2010
Сообщений: 72
По умолчанию

Цитата:
Сообщение от nick42 Посмотреть сообщение
Интересно; что-то наподобие #pragma push.. #pragma pop ?
#pragma hdrstop - вот
Марат05 вне форума Ответить с цитированием
Старый 16.05.2012, 17:48   #13
StudUL
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 40
По умолчанию

Можете по шагам расписать как это сделать.
StudUL вне форума Ответить с цитированием
Старый 16.05.2012, 17:57   #14
StudUL
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 40
По умолчанию

Спасибо!!! Неплохая идея, так даже лучше будет, если информацию из комбобоксов тоже запишется в соответствующие поля таблицы Plan. Там нужно что-то дополнительно прописывать в кнопке?
StudUL вне форума Ответить с цитированием
Старый 17.05.2012, 09:21   #15
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Ну, я могу расписать только свое дилетантское видение этого вопроса, а Вы сами смотрите... . С комбобоксами и прочими элементами управления у меня ничего путного не получилось. Пришлось использовать таблицы. То-есть для каждой связанной с Plan таблицей базы создается DataSource, ADOTable и DBGrid; коннектор общий; у ADOTable в качестве TableName выбираются те связанные таблицы из базы данных. DBNavigator нужно переключать на различные DataSource, чтобы можно было корректировать или добавлять записи в поля таблиц. Далее выбирается по полю КО запись из табл. Osnastka (это мы уже проходили), в связанных таблицах выбираются соотв. параметры (щелчком мышки) и на кнопку Insert пишется примерно такой код:
Код:
    AnsiString ko1, kz1, osn1, no1, cd1, cp1 ;
       cp1 = DBGrid6->Fields[0]->AsFloat ;
       kz1 = DBGrid5->Fields[0]->AsFloat ;
       ko1 = DBGrid1->Fields[0]->AsString ;
      osn1 = DBGrid1->Fields[1]->AsString ;
       no1 = DBGrid1->Fields[2]->AsString ;
       cd1 = DBGrid1->Fields[3]->AsString ;

    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("INSERT INTO Plan "
      "([CP],[CI],[KZ],[KO]) "                //  ,[OSN],[NO],[CD]
      "VALUES (:CP,'143',:KZ,:KO)");        //  ,:OSN,:NO,:CD
    ADOQuery1->Parameters->ParamByName("CP") ->Value = cp1;
    ADOQuery1->Parameters->ParamByName("KZ") ->Value = kz1;
    ADOQuery1->Parameters->ParamByName("KO") ->Value = ko1;
//    ADOQuery1->Parameters->ParamByName("OSN")->Value = osn1;
//    ADOQuery1->Parameters->ParamByName("NO") ->Value = no1;
//    ADOQuery1->Parameters->ParamByName("CD") ->Value = cd1;
//    ADOQuery1->Open();
     ADOQuery1->ExecSQL() ;
Вместо ADOQuery1->Open() пишем ADOQuery1->ExecSQL() , тогда ошибка не выскакивает.
Изображения
Тип файла: gif capture.gif (23.0 Кб, 139 просмотров)
nick42 вне форума Ответить с цитированием
Старый 17.05.2012, 10:01   #16
StudUL
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 40
По умолчанию

Спасибо!!!! Можете прислать программку, что получилось, попытаюсь разобраться что к чему?
StudUL вне форума Ответить с цитированием
Старый 17.05.2012, 10:37   #17
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

попробуйте разобраться
Вложения
Тип файла: rar MDB_base.rar (390.0 Кб, 9 просмотров)
nick42 вне форума Ответить с цитированием
Старый 17.05.2012, 12:39   #18
StudUL
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 40
По умолчанию

Получается в план добавляется OSN, не из Грида 1, а из 7 Грида. А должна, в принципе из1 грида. В 7 гриде нет такой. CI для всех 143 выбирает, но это потому, что в запросе так. Наверное, аналогично нужно будет вывести таблицу Izg, как и Zak и др. на форму. После нажатия на Insert, запись в Plan (в гиде 4) ни сразу отображается, а после закрытия базы, а потом нужно снова её открыть, чтобы увидеть добавленную запись.
Но всё равно, очень Вам благодарна, очень мне помогли.
StudUL вне форума Ответить с цитированием
Старый 17.05.2012, 12:44   #19
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Цитата:
Сообщение от StudUL Посмотреть сообщение
Получается в план добавляется OSN, не из Грида 1, а из 7 Грида.
А это в Вашей базе так связи установлены. Я тоже считаю, что с OSN надо бы переделать. В отношении CI Вы все правильно поняли... .
Изображения
Тип файла: gif capture.gif (30.7 Кб, 144 просмотров)
nick42 вне форума Ответить с цитированием
Старый 17.05.2012, 12:58   #20
StudUL
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 40
По умолчанию

Я поняла, он из грид7 поле TP вытаскивает в таблицу Plan, т.к. в таблице Trud поле Osn связано с Osn в таблице Planб так и будет. Связи что ли придётся менять.
StudUL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить таблицу в делфи xJohnx БД в Delphi 4 14.04.2011 09:23
Добавить запись в таблицу по нажатии кнопки DenProx Microsoft Office Access 6 31.01.2011 10:52
Добавить столбец в таблицу на VBA Serge_Bliznykov Microsoft Office Word 7 27.04.2009 14:04
Добавить таблицу в MS ACCESS Seqular БД в Delphi 5 21.02.2007 02:14