Тема: Связи
Показать сообщение отдельно
  #10  
Старый 18.05.2009, 01:40
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ах вот что вам надо.
Вот пример организации такой связи по вашей схеме:
Код:
unit Unit24;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBClient, Grids, DBGrids;

type
  TForm24 = class(TForm)
    Адрес: TClientDataSet;
    Хозяин_кв: TClientDataSet;
    Дом: TClientDataSet;
    Потребление: TClientDataSet;
    dsАдрес: TDataSource;
    dsХозяин_кв: TDataSource;
    dsДом: TDataSource;
    dsПотребление: TDataSource;
    АдресNomer_doma: TStringField;
    АдресUlica: TStringField;
    ДомNomer: TStringField;
    ДомUlica: TStringField;
    Хозяин_кв_квартиры: TStringField;
    Хозяин_квномер_паспорта: TStringField;
    Хозяин_квСерия_паспорта: TStringField;
    Дом_квартиры: TStringField;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    ПотреблениеNomer: TStringField;
    Потребление_квартиры: TStringField;
    АдресКолич_квартир: TIntegerField;
    АдресОбщая_площадь: TFloatField;
    Хозяин_квФИО: TStringField;
    ДомПлощадь_квартиры: TFloatField;
    ДомКоличество_комнат: TIntegerField;
    ДомКолич_жильцов: TIntegerField;
    ПотреблениеМесяц_оплаты: TStringField;
    ПотреблениеГор_вода: TFloatField;
    ПотреблениеХол_вода: TFloatField;
    ПотреблениеЭлектр: TFloatField;
    DBGrid4: TDBGrid;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form24: TForm24;

implementation

{$R *.dfm}

end.
DFM-файл
Код:
object Form24: TForm24
  Left = 0
  Top = 0
  Caption = 'Form24'
  ClientHeight = 329
  ClientWidth = 569
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 8
    Top = 8
    Width = 377
    Height = 73
    DataSource = dsАдрес
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
  object DBGrid2: TDBGrid
    Left = 8
    Top = 87
    Width = 553
    Height = 74
    DataSource = dsДом
    TabOrder = 1
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
  object DBGrid3: TDBGrid
    Left = 8
    Top = 167
    Width = 553
    Height = 65
    DataSource = dsХозяин_кв
    TabOrder = 2
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
  object DBGrid4: TDBGrid
    Left = 8
    Top = 240
    Width = 481
    Height = 73
    DataSource = dsПотребление
    TabOrder = 3
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
  object Адрес: TClientDataSet
    Active = True
    Aggregates = <>
    Params = <>
    Left = 400
    Top = 16
    Data = {
      530000009619E0BD01000000180000000200000000000300000053000A4E6F6D
      65725F646F6D610100490000000100055749445448020002000A0005556C6963
      6101004900000001000557494454480200020032000000}
    object АдресNomer_doma: TStringField
      DisplayWidth = 13
      FieldName = 'Nomer_doma'
      Size = 10
    end
    object АдресUlica: TStringField
      DisplayWidth = 22
      FieldName = 'Ulica'
      Size = 50
    end
    object АдресКолич_квартир: TIntegerField
      DisplayWidth = 16
      FieldKind = fkCalculated
      FieldName = #1050#1086#1083#1080#1095'_'#1082#1074#1072#1088#1090#1080#1088
      Calculated = True
    end
    object АдресОбщая_площадь: TFloatField
      DisplayWidth = 18
      FieldKind = fkCalculated
      FieldName = #1054#1073#1097#1072#1103'_'#1087#1083#1086#1097#1072#1076#1100
      Calculated = True
    end
  end
  object Хозяин_кв: TClientDataSet
    Active = True
    Aggregates = <>
    IndexFieldNames = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
    MasterFields = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
    MasterSource = dsДом
    PacketRecords = 0
    Params = <>
    Left = 440
    Top = 16
    Data = {
      A30000009619E0BD010000001800000003000000000003000000A30014E28496
      5FD0BAD0B2D0B0D180D182D0B8D180D18B010049000000010005574944544802
      0002000A001BD09DD0BED0BCD0B5D1805FD0BFD0B0D181D0BFD0BED180D182D0
      B00100490000000100055749445448020002000A001BD0A1D0B5D180D0B8D18F
      5FD0BFD0B0D181D0BFD0BED180D182D0B0010049000000010005574944544802
      0002000A000000}
    object Хозяин_кв_квартиры: TStringField
      DisplayWidth = 14
      FieldName = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
      Size = 10
    end
    object Хозяин_квномер_паспорта: TStringField
      DisplayWidth = 17
      FieldName = #1053#1086#1084#1077#1088'_'#1087#1072#1089#1087#1086#1088#1090#1072
      Size = 10
    end
    object Хозяин_квСерия_паспорта: TStringField
      DisplayWidth = 17
      FieldName = #1057#1077#1088#1080#1103'_'#1087#1072#1089#1087#1086#1088#1090#1072
      Size = 10
    end
    object Хозяин_квФИО: TStringField
      DisplayWidth = 55
      FieldKind = fkCalculated
      FieldName = #1060#1048#1054
      Size = 100
      Calculated = True
    end
  end
  object Дом: TClientDataSet
    Active = True
    Aggregates = <>
    IndexFieldNames = 'Nomer;Ulica'
    MasterFields = 'Nomer_doma;Ulica'
    MasterSource = dsАдрес
    PacketRecords = 0
    Params = <>
    Left = 480
    Top = 16
    Data = {
      770000009619E0BD0100000018000000030000000000030000007700054E6F6D
      6572010049000000010005574944544802000200140005556C69636101004900
      0000010005574944544802000200320014E284965FD0BAD0B2D0B0D180D182D0
      B8D180D18B0100490000000100055749445448020002000A000000}
    object ДомNomer: TStringField
      DisplayWidth = 16
      FieldName = 'Nomer'
    end
    object ДомUlica: TStringField
      DisplayWidth = 24
      FieldName = 'Ulica'
      Size = 50
    end
    object Дом_квартиры: TStringField
      DisplayWidth = 13
      FieldName = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
      Size = 10
    end
    object ДомПлощадь_квартиры: TFloatField
      DisplayWidth = 11
      FieldKind = fkCalculated
      FieldName = #1055#1083#1086#1097#1072#1076#1100'_'#1082#1074#1072#1088#1090#1080#1088#1099
      Calculated = True
    end
    object ДомКоличество_комнат: TIntegerField
      DisplayWidth = 21
      FieldKind = fkCalculated
      FieldName = #1050#1086#1083#1080#1095#1077#1089#1090#1074#1086'_'#1082#1086#1084#1085#1072#1090
      Calculated = True
    end
    object ДомКолич_жильцов: TIntegerField
      DisplayWidth = 16
      FieldKind = fkCalculated
      FieldName = #1050#1086#1083#1080#1095'_'#1078#1080#1083#1100#1094#1086#1074
      Calculated = True
    end
  end
  object Потребление: TClientDataSet
    Active = True
    Aggregates = <>
    IndexFieldNames = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
    MasterFields = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
    MasterSource = dsДом
    PacketRecords = 0
    Params = <>
    Left = 520
    Top = 16
    Data = {
      CE0000009619E0BD010000001800000006000000000003000000CE00054E6F6D
      6572010049000000010005574944544802000200140014E284965FD0BAD0B2D0
      B0D180D182D0B8D180D18B0100490000000100055749445448020002000A0017
      D09CD0B5D181D18FD1865FD0BED0BFD0BBD0B0D182D18B010049000000010005
      57494454480200020014000FD093D0BED1805FD0B2D0BED0B4D0B00800040000
      0000000FD0A5D0BED0BB5FD0B2D0BED0B4D0B008000400000000000CD0ADD0BB
      D0B5D0BAD182D18008000400000000000000}
    object ПотреблениеNomer: TStringField
      DisplayWidth = 16
      FieldName = 'Nomer'
    end
    object Потребление_квартиры: TStringField
      DisplayWidth = 17
      FieldName = #8470'_'#1082#1074#1072#1088#1090#1080#1088#1099
      Size = 10
    end
    object ПотреблениеМесяц_оплаты: TStringField
      DisplayWidth = 18
      FieldName = #1052#1077#1089#1103#1094'_'#1086#1087#1083#1072#1090#1099
    end
    object ПотреблениеГор_вода: TFloatField
      DisplayWidth = 12
      FieldName = #1043#1086#1088'_'#1074#1086#1076#1072
    end
    object ПотреблениеХол_вода: TFloatField
      DisplayWidth = 12
      FieldName = #1061#1086#1083'_'#1074#1086#1076#1072
    end
    object ПотреблениеЭлектр: TFloatField
      DisplayWidth = 12
      FieldName = #1069#1083#1077#1082#1090#1088
    end
  end
  object dsАдрес: TDataSource
    DataSet = Адрес
    Left = 400
    Top = 48
  end
  object dsХозяин_кв: TDataSource
    DataSet = Хозяин_кв
    Left = 440
    Top = 48
  end
  object dsДом: TDataSource
    DataSet = Дом
    Left = 480
    Top = 48
  end
  object dsПотребление: TDataSource
    DataSet = Потребление
    Left = 520
    Top = 48
  end
end
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием