Конференция "Базы" » работа с AdoConnection
 
  • aromazan © (11.05.12 14:47) [0]
    День добрый, хотел бы вас попросить помоч в следующем вопросе.
    База в Access, на форме расположены две AdoTable и  два DataSourse, в DBGrid отображается одна таблица, в DBGrid другая  первая таблица- названия деталей, вторая- подробная инфа о детали (первый столбец в строке подробной таблицы и есть название детали из первой таблицы)
    Что необходимо: чтобы при добавлении подробной инфы о делали, ее название (из первого столбца строки) автоматом добавлялось в другую таблицу (которая как раз и содержить названия)
    Заранее спасибо.
  • Медвежонок Пятачок © (11.05.12 14:50) [1]
    автоматом - это только в сказках или только у пользователей. у программистов же это программируется.
  • Медвежонок Пятачок © (11.05.12 14:53) [2]
    table.edit;
    table.fieldbyname('название').asstring := 'название';
    table.post;
  • stas © (11.05.12 14:53) [3]
    Пишите конкретно что не получается.
  • Медвежонок Пятачок © (11.05.12 14:55) [4]
    лучше не надо.
    пусть не пишет, а читает пока.
  • Anatoly Podgoretsky © (11.05.12 15:09) [5]
    Забудь про AdoTable и читай теорию реляционных баз данных.
  • aromazan © (12.05.12 07:17) [6]
    Подскажите, я правильно понял, в одинарных скобках указывать название столбцов таблицы? У меня в обоих таблицах необходимые столбцы имеют название tarifniy

    Пример

    begin
    if DataModule3.Detal_full.Modified then
    DataModule3.Detal_full.Post;
    DataModule3.Detal.Edit;
    DataModule3.Detal.FieldByName('tarifniy').AsString := 'tarifniy';
    DataModule3.Detal.Post;
    Close;
    end;
  • Cobalt © (12.05.12 10:12) [7]
    Если одноименные столбцы - в разных таблицах, то в этом ничего страшного нет, не волнуйся.
    вот только не обязательно в колонку писать её название
    DataModule3.Detal.FieldByName('tarifniy').AsString := 'мой новый супер-пупер тарифный план, который я считал из другой таблицы';

  • aromazan © (12.05.12 12:14) [8]
    Если не трудно, подскажите синтаксис этой строки
    DataModule3.Detal.FieldByName('tarifniy').AsString := 'мой новый супер-пупер тарифный план, который я считал из другой таблицы';

    что она делает, как она считывает данные из Detal_full
    может я непонятно объяснил, мне нужно чтобы при добавлении записи данные первого столбца строки  из табл. Detal_full добавлялись и в таблицу Detal
  • aromazan © (12.05.12 13:28) [9]
    всем спасибо за подсказки, все оказалось гораздо проще всесте с умной книгой)
  • Ega23 © (12.05.12 13:41) [10]

    > Если одноименные столбцы - в разных таблицах, то в этом
    > ничего страшного нет, не волнуйся.

    view может быть.
    что-то типа

    create table Master(id int, caption varchar(32));
    create table Detail(id int, masterid int, captionvarchar(32));

    select d.id, m.id, d.caption, m.caption
     from master m inner join detail d on (m.id=d.masterid)



    Хотя на говнокод закладываться не следует, это так, чисто поворчать... :)
 
Конференция "Базы" » работа с AdoConnection
Есть новые Нет новых   [134430   +2][b:0][p:0.001]