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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2008, 02:03   #31
MARCH
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 39
По умолчанию

Я ЕСЛИ ЧЕСТНО НЕ РАЗОБРАЛСЯ С ТАКОЙ ШТУКОЙ

поля индентефикаторы поставил как инкрементные
в главной таблице какие ставить поля? или ссылочную целостность можно не настраивать?
Все когда нибудь начинаю, и становятся проффи
MARCH вне форума Ответить с цитированием
Старый 08.11.2008, 12:59   #32
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
в главной таблице какие ставить поля?
Код:
    TableName = 'naryad.db'
    object TnaryadId: TAutoIncField
      FieldName = 'Id'
      ReadOnly = True
    end
    object TnaryadNumnar: TStringField
      FieldName = 'Numnar'
      Size = 12
    end
    object TnaryadIdusl: TIntegerField
      FieldName = 'Idusl'
    end
    object TnaryadIdadr: TIntegerField
      FieldName = 'Idadr'
    end
    object TnaryadIduspd: TIntegerField
      FieldName = 'Iduspd'
    end
    object TnaryadIdsotst: TIntegerField
      FieldName = 'Idsotst'
    end
    object TnaryadIdsotlin: TIntegerField
      FieldName = 'Idsotlin'
    end
    object TnaryadDppodkl: TDateField
      FieldName = 'Dppodkl'
    end
    object TnaryadDrpodkl: TDateField
      FieldName = 'Drpodkl'
    end
    object TnaryadUsluga: TStringField
      FieldKind = fkLookup
      FieldName = 'Usluga'
      LookupDataSet = Tuslug
      LookupKeyFields = 'Id'
      LookupResultField = 'Nameusl'
      KeyFields = 'Idusl'
      Size = 32
      Lookup = True
    end
    object TnaryadUspd: TStringField
      FieldKind = fkLookup
      FieldName = 'Uspd'
      LookupDataSet = Tuspd
      LookupKeyFields = 'Id'
      LookupResultField = 'Uspd'
      KeyFields = 'Iduspd'
      Size = 32
      Lookup = True
    end
    object TnaryadSotrstn: TStringField
      FieldKind = fkCalculated
      FieldName = 'Sotrstn'
      Size = 32
      Calculated = True
    end
    object TnaryadSotrline: TStringField
      FieldKind = fkCalculated
      FieldName = 'Sotrline'
      Size = 32
      Calculated = True
    end
    object TnaryadStnfam: TStringField
      FieldKind = fkLookup
      FieldName = 'Stnfam'
      LookupDataSet = Tsotr
      LookupKeyFields = 'Id'
      LookupResultField = 'Fam'
      KeyFields = 'Idsotst'
      Size = 32
      Lookup = True
    end
    object TnaryadStnname: TStringField
      FieldKind = fkLookup
      FieldName = 'Stnname'
      LookupDataSet = Tsotr
      LookupKeyFields = 'Id'
      LookupResultField = 'Name'
      KeyFields = 'Idsotst'
      Size = 32
      Lookup = True
    end
    object TnaryadStnsname: TStringField
      FieldKind = fkLookup
      FieldName = 'Stnsname'
      LookupDataSet = Tsotr
      LookupKeyFields = 'Id'
      LookupResultField = 'Sname'
      KeyFields = 'Idsotst'
      Size = 32
      Lookup = True
    end
    object TnaryadLinefam: TStringField
      FieldKind = fkLookup
      FieldName = 'Linefam'
      LookupDataSet = Tsotr
      LookupKeyFields = 'Id'
      LookupResultField = 'Fam'
      KeyFields = 'Idsotlin'
      Size = 32
      Lookup = True
    end
    object TnaryadLinename: TStringField
      FieldKind = fkLookup
      FieldName = 'Linename'
      LookupDataSet = Tsotr
      LookupKeyFields = 'Id'
      LookupResultField = 'Name'
      KeyFields = 'Idsotlin'
      Size = 32
      Lookup = True
    end
    object TnaryadLinesname: TStringField
      FieldKind = fkLookup
      FieldName = 'Linesname'
      LookupDataSet = Tsotr
      LookupKeyFields = 'Id'
      LookupResultField = 'Sname'
      KeyFields = 'Idsotlin'
      Size = 32
      Lookup = True
    end
  end

procedure TForm2.TnaryadCalcFields(DataSet: TDataSet);
begin
TnaryadSotrstn.AsString:=TnaryadStnfam.AsString+' '+TnaryadStnname.AsString[1]+'.'+TnaryadStnsname.AsString[1]+'.';
TnaryadSotrline.AsString:=TnaryadLinefam.AsString+' '+TnaryadLinename.AsString[1]+'.'+TnaryadLinesname.AsString[1]+'.';
end;
mihali4 вне форума Ответить с цитированием
Старый 08.11.2008, 13:07   #33
MARCH
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 39
По умолчанию

Добрый день! Я уже немного запутался в тех кодах которые вы прислали мне, если вам не сложно "тыкните пальцем" что куда вставлять и что за чем должно идти!

Я не понял на счет последнего сообщения п.32, т.е. в Database связи настраивать не надо?

Я вот сделал вчера ночью базу по той структуре которую предложили вы, просмотрите плиз, может я что то неправильно сделал. Я понял что я неправильно строю базу, а хочется что бы все было грамотно!
Вложения
Тип файла: rar AC Наряды.rar (351.6 Кб, 10 просмотров)
Все когда нибудь начинаю, и становятся проффи
MARCH вне форума Ответить с цитированием
Старый 08.11.2008, 13:09   #34
MARCH
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 39
По умолчанию

в главной таблице какие ставить поля? или ссылочную целостность можно не настраивать?[/QUOTE]


я имел ввиду тип поля в Database какие ставить для главной таблицы
Все когда нибудь начинаю, и становятся проффи
MARCH вне форума Ответить с цитированием
Старый 08.11.2008, 13:37   #35
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
я имел ввиду тип поля в Database какие ставить для главной таблицы
??? Типы полей указаны: TStringField, TIntegerField.
Для FieldKind = fkLookup все подробно расписано...
Если не указано - fkData.
mihali4 вне форума Ответить с цитированием
Старый 08.11.2008, 13:39   #36
MARCH
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 39
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
??? Типы полей указаны: TStringField, TIntegerField.
Для FieldKind = fkLookup все подробно расписано...
Если не указано - fkData.


Простите! Я просто незнаком с синтаксисом, и не совсем понимаю что куда ставить и что это значит
Все когда нибудь начинаю, и становятся проффи
MARCH вне форума Ответить с цитированием
Старый 08.11.2008, 13:55   #37
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Все поля, у которых не указан FieldKind = fkLookup, являются fkData, то есть вы именно их определяете при создании таблицы, например, в DataBase Desktop-е.
Те, которые FieldKind = fkLookup, вы добавляете и определяете в редакторе полей вручную (после двойного щелчка мышкой по подключенному TTable).
Синтаксис... Это я просто дал вам выдержку из текстового представления формы (View as Text, View as Form).
mihali4 вне форума Ответить с цитированием
Старый 08.11.2008, 14:01   #38
MARCH
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 39
По умолчанию

Те, которые FieldKind = fkLookup, вы добавляете и определяете в редакторе полей вручную (после двойного щелчка мышкой по подключенному TTable).


Если вас не затруднит давайте с Вами вместе сделаем, и пропишем все таблички! А то что то я вообще невкуриваю. А так пойму дай бог. Если согласитесь, по больше комментариев, что бы я хоть представление имел!Да и еще как вам структура БД? Подойдет?
Все когда нибудь начинаю, и становятся проффи
MARCH вне форума Ответить с цитированием
Старый 09.11.2008, 14:43   #39
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну это же в любой книге для начинающих расписано...
1. Даблклик по компоненту, например, TTable. Открылось окошко редактирования полей.
2. Правая мышка - AddAllFields - все поля, существующие в таблице, увидели.
3. Опять правая мышка - NewField - создаем новое поле - вычисляемое или лукаповское...
mihali4 вне форума Ответить с цитированием
Старый 12.11.2008, 22:21   #40
MARCH
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 39
По умолчанию

Спасибо! Очень помогло!
Попытался сделать фильтрацию!
Создал составной фильтр, но он выдает ошибку





К тому же незнаю как сделать проверку на пустые поля в Edit и Combobox!
Подскажите пожалуйста, а то доходить самому времени уже нет надо сдавать в пятницу!!!

вот кусок кода:

//формирование списка для "Наименования услуг" в "Просмотр нарядов"
ComboBox1.Clear;
ComboBox1.Items.Add('Все записи');
Table3.First;
-------------

procedure TForm1.Button21Click(Sender: TObject);
begin
Table1.Filter:='Kvartira='+QuotedSt r(Edit2.Text)+'and USLUGA='+QuotedStr(Combobox1.text);
Table1.Filtered:=true;
end;

Может из-за того что это поле лукаповское?

Выдает ошибку:
Изображения
Тип файла: jpg Безымянный.jpg (15.0 Кб, 126 просмотров)
Все когда нибудь начинаю, и становятся проффи

Последний раз редактировалось MARCH; 12.11.2008 в 22:30.
MARCH вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBLookupComboBox SunKnight Компоненты Delphi 6 25.02.2012 08:55
Dblookupcombobox значение по дефолту при условии 1sal1 Общие вопросы Delphi 2 12.12.2009 14:16
И снова DbLookupCombobox Loki БД в Delphi 5 18.11.2007 23:50
DBLookupComboBox Dunpeal Компоненты Delphi 5 09.08.2007 18:28
DBLookupCombobox??? Alexcandr Компоненты Delphi 2 05.04.2007 16:46