Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.05;
Скачать: CL | DM;

Вниз

доступ к данным подчиненной таблицы   Найти похожие ветки 

 
kopernik21187 ©   (2008-08-18 14:50) [0]

вопрос такой:
есть две связанные таблицы ADOTable1 и ADOTable2,а также ADODataSet1...
ADOTable1-главная,ADOTable2-подчиненная....
доступ к определенному полю ADOTable1 осуществляется так
AdoDataSet1.RecNo:=n;
edit1.text:=AdoDataSet1.FieldByName("наименование" ).value;
а как скажите пожалуйста как точно так же получить доступ
к определенному полю в подчиненной таблице?
Заранее спасибо всем ответившим


 
Sergey13 ©   (2008-08-18 16:22) [1]

> [0] kopernik21187 ©   (18.08.08 14:50)
> доступ к определенному полю ADOTable1 осуществляется так
> AdoDataSet1.RecNo:=n;

Это не есть хорошо (мягко сказать). У таблицы должно быть ключевое поле по значению которого и нужно искать/позиционироваться на запись методом locate. Если таблицы связаны М-Д связью, то после позиционирования в главной таблице можешь так-же читать значение из подчиненной.
edit2.text:=ADOTable2.FieldByName("наименование" ).value;

Очтается выяснить зачем тебе AdoDataSet1 и как он связан с твоими ADOTable-ми?


 
oldman ©   (2008-08-18 16:38) [2]


> а как скажите пожалуйста как точно так же получить доступ
> к определенному полю в подчиненной таблице?


Для начала: не к полю, а к записи.
Ведь в подчиненной таблице их может быть несколько.
А если одна, locate тебе в руки...


 
kopernik21187 ©   (2008-08-21 12:07) [3]


> Очтается выяснить зачем тебе AdoDataSet1 и как он связан
> с твоими ADOTable-ми?

ты прав ADODataSet1 не понадобился....двумя ADOTable и без locate....
суть задачи заключалась в Memo вывести запись поля ADOTable1 и соответствующие ей подчиненные записи из ADOTable2
сделал так

procedure TForm1.Button2Click(Sender: TObject);
var i,j: integer;
begin

for i:=1 to DataModule2.ADOTable1.RecordCount do
    begin
    DataModule2.ADOTable1.RecNo:=i;
    Memo1.Lines.Add("Организация: "+DataModule2.ADOTable1.fieldbyname("Наименование").value);
      for j:=1 to DataModule2.ADOTable2.RecordCount do
           begin
              DataModule2.ADOTable2.RecNo:=j;
              Memo1.Lines.Add("ИНН: "+DataModule2.ADOTable2.fieldbyname("ИНН").Value);
           end;

    end;

end;


 
MsGuns ©   (2008-08-21 14:09) [4]

Вся эта дребедень в 3 реализуется простым запросом (TADOdataSet) с одной связкой и никакие нагромождения мастер-деталов не нужны


 
Anatoly Podgoretsky ©   (2008-08-21 15:22) [5]

Ох и поимеешь ты гемороя с RecNo

И вопрос, а зачем тогда тут нужен ADOTable1?


 
kopernik21187 ©   (2008-08-21 16:11) [6]


> Вся эта дребедень в 3 реализуется простым запросом (TADOdataSet)
> с одной связкой и никакие нагромождения мастер-деталов не
> нужны

ты не мог бы код привести?честно гря с ADODataSet еще не работал....

> Ох и поимеешь ты гемороя с RecNo

верно!мне срочно просто нада было.....
> И вопрос, а зачем тогда тут нужен ADOTable1?

как зачем?это ж главная таблица.....


 
MsGuns ©   (2008-08-21 16:29) [7]

Справка в помощь. По АДО в самих компонентах, по SQL - в дельфишной Local SQL
Вполне исчерпывающе.


 
Anatoly Podgoretsky ©   (2008-08-21 16:54) [8]

> kopernik21187  (21.08.2008 16:11:06)  [6]

Это да, но по коду в ней может быть только одна запись.



Страницы: 1 вся ветка

Текущий архив: 2008.10.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
2-1219310285
Седрак
2008-08-21 13:18
2008.10.05
Выделить Checkbox в webbrowser!


15-1218525210
oldman
2008-08-12 11:13
2008.10.05
Последовательность действий при заправке кардриджа (лазер)


15-1218461415
Городской Шаман
2008-08-11 17:30
2008.10.05
Скайп-чат DelphiMaster


15-1218912590
palva
2008-08-16 22:49
2008.10.05
Опять затмение


15-1218596855
Abcdef123
2008-08-13 07:07
2008.10.05
Есть ли Общепринятые Стандарты по написанию программы?