Конференция "Прочее" » Определить измененое поле [D7, access]
 
  • clocker (09.10.11 11:23) [0]
    Я не могу определить какое поле было изменено. Пробовал делать так:
    void __fastcall TfrmMain::ADOQuery2AfterEdit(TDataSet *DataSet)
    {
    ...
    frmInformer.ADOQuery1.FieldByName("Измененное поле")->AsString = DataSet.FieldName;



    Structure required on left side of . or .*
    Пожалуйста расскажите как можно решить эту проблему?
  • clocker (09.10.11 11:25) [1]
    Извиняюсь не то написал
    frmInformer.ADOQuery1.FieldByName("Измененное поле").AsString

    Проблема там где я отметил жирным шрифтом в первом сообщении
  • Игорь Шевченко © (09.10.11 12:15) [2]
    у TdataSet нет свойства FieldName, это свойство есть у TField
  • clocker (09.10.11 12:53) [3]
    Спасибо, побробую там
  • clocker (09.10.11 12:53) [4]
    Удалено модератором
  • clocker (09.10.11 13:52) [5]
    Пробовал так:
    1.
    DataSet.DataSetField.FieldName


    2.
    ADOQuery2.IndexFields[DataSet.DataSetField.FieldNo].FieldName


    Результат - Access Violation
    Если кто нибудь, узнает или вспомнит как это делается, напишите сюда пожалуйста.
  • Cobalt © (10.10.11 14:12) [6]
    А с чего ты взял, что датасет запоминает, какое поле было изменено?
    Ты нашел это где-то в справке?
  • Cobalt © (10.10.11 14:13) [7]
    и потом,
    > Write an AfterEdit event handler to take specific action
    > immediately after dataset enters edit mode. AfterEdit is
    > called by Edit after it enables editing of a record, recalculates
    > calculated fields, and calls the data event handler to process
    > a record change.
  • OW © (10.10.11 15:18) [8]
    точно не помню, в oracle писал как-то, для анализа, работало
    DataSet.Fields[i].CurValue);
    DataSet.Fields[i].OldValue);
    DataSet.Fields[i].NewValue);
    там режим кэширующий должен быть, естественно


    > Cobalt ©   (10.10.11 14:12) [6]

    может, в зависимости от режима? а зачем такие св-ва тогда?

    автору
    в BeforeEdit(DataSet: TDataSet); можно все поля прочитать, потом сравнить..
 
Конференция "Прочее" » Определить измененое поле [D7, access]
Есть новые Нет новых   [134431   +14][b:0][p:0.001]