|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
Цитата:
Другими словами если на Delphi писать программу по правилам Delphi, то такая ошибка не возникнет. |
#17
|
||||
|
||||
Цитата:
|
#18
|
||||
|
||||
Цитата:
Код:
procedure TForm1.DataSetAfterScroll(DataSet: TDataSet); begin case DataSet.FieldByName('ПлатДок').AsInteger of 1: Edit1.Text := 'СЧЁТ'; 2: Edit1.Text := 'СЧЁТ ФАКТУРА'; 3: Edit1.Text := 'АКТ ВЫПОЛНЕННЫХ РАБОТ'; else Edit1.Text := '???'; end; begin if DataSet.Locate('Фир_ID', DataSet.FieldByName('НазФирм').AsInteger, []) then begin Edit2.Text := DataSet.FieldByName('СуммаДок').AsString; end else begin Edit2.Text := '???'; end; end; end; Я уточнить: Получается что ID - что менять, Текст - на что менять? (Убедиться правильно ли я тебя понял). Мне нужно чтоб из поля(Столбца) Фир_ID, бралось данное из тойже строки что данное для Едит1 и менялось на Поле(Столбец) СуммаДок, согласно ID. Т.Е. если в поле Фир_ID данное равно 4 (или 1, или 12 неважно) в Едите2 показывается запись из поля(столбца)СуммаДок, а цыфра ровнялась строке этого поля. |
#19
|
||||
|
||||
Цитата:
Код:
if Table1.Locate('id', DataSet.FieldByName('ПлатДок').AsInteger, []) then Цитата:
Код:
if Table1.Locate('ID', DataSet.FieldByName('Фир_ID').AsInteger, []) then begin Edit2.Text := Table1.FieldByName('СуммаДок').AsString; end else begin Edit2.Text := '???'; end; |
#20
|
||||
|
||||
Сначало данные для уточнения: У мну две таблицы "Платежи" и "Фирмы" Платежи соеденены через ADOTable1, а Фирмы через ADOTable2. В Платежах один столбец (гипотетически) Фир_ID, в Фирмах тоже один столбец Firm. Другими словами берётся данная из поля Фир_ID, меняется на данную из Firm (цыфра в Фир_ID равняется строке в поле Firm) и отображается в Edite2.
Цитата:
Код:
if ADOTable2.Locate('Firm', DataSet.FieldByName('Фир_ID').AsString, []) then begin Edit2.Text := ADOTable2.FieldByName('Firm').AsString; end else begin Edit2.Text := '???'; end; end; А если записать так: Код:
if DataSet.Locate('Фир_ID', ADOTable2.FieldByName('Firm').AsString, []) then begin Edit2.Text := DataSet.FieldByName('Фир_ID').AsString; end else begin Edit2.Text := '???'; end; Последний раз редактировалось BRESKON, 30.10.2012 в 18:50. |
#21
|
||||
|
||||
Цитата:
Код:
if ADOTable2.Locate('ID', DataSet.FieldByName('Фир_ID').AsInteger, []) then begin Edit2.Text := ADOTable2.FieldByName('Firm').AsString; end else begin Edit2.Text := '???'; end; |
#22
|
||||
|
||||
Цитата:
|