<br>Hallo H.Schmidt,
<br>
<br>nochmals danke für den Code.
<br>
<br>hier noch eine Ergänzung (inkl. Bsp.), damit das auch mit berechneten Feldern und Left Rigth Joins funktioniert.
<br>
<br>procedure TForm1.Button1Click(Sender: TObject);
<br>resourcestring
<br> cRC = 'select tbl_test.*, tbl_test.Preis * 1.16 as GPreis from tbl_test Where tbl_Test.ID = ';
<br>var
<br> sRC : String;
<br> Old_Resync_Command, Old_Unique_Table : String;
<br>begin
<br> sRC := cRC + ADODataSet1ID.AsString;
<br> with ADODataSet1 do
<br> begin
<br> CheckBrowseMode; //if modified then post
<br> UpdateCursorPos;
<br> Old_Unique_Table := Properties['Unique Table'].Value;
<br> Old_Resync_Command := Properties['Resync Command'].Value;
<br> Properties['Unique Table'].Value := 'tbl_test'; //muß sein auch wenn man keinen Join verwendet
<br> //Muß damit die berechneten Felder aktualisiert werden
<br> Properties['Resync Command'].Value := sRC;
<br> Recordset.Resync(adAffectCurrent, adResyncAllValues);
<br> Resync([]);
<br> Properties['Resync Command'].Value := Old_Resync_Command; //muß sonst bekommt man beim Scrollen nur noch einen Datenzatzangezeigt
<br> Properties['Unique Table'].Value := Old_Unique_Table; //muß anscheinend nicht umbedingt sein aber ...
<br> end;
<br>end;
<br>
<br>procedure TForm3.DBLookupComboBox1CloseUp(Sender: TObject);
<br>resourcestring
<br> cRC = 'select d.id, d.MasterID , m.name, d.email from tbl_detail d Left join tbl_master m ' +
<br> 'on m.ID = d.MasterID Where d.ID = ';
<br>var
<br> sRC : String;
<br> Old_Resync_Command, Old_Unique_Table : String;
<br>begin
<br> sRC := cRC + ADODataSet1ID.AsString;
<br> with ADODataSet1 do
<br> begin
<br> CheckBrowseMode; //if modified then post
<br> UpdateCursorPos;
<br> Old_Unique_Table := Properties['Unique Table'].Value;
<br> Old_Resync_Command := Properties['Resync Command'].Value;
<br> Properties['Unique Table'].Value := 'tbl_Detail'; //muß sein auch wenn man keinen Join verwendet
<br> //Muß damit auch berechneten Felder aktualisiert werden
<br> Properties['Resync Command'].Value := sRC;
<br> Recordset.Resync(adAffectCurrent, adResyncAllValues);
<br> Resync([]);
<br> Properties['Resync Command'].Value := Old_Resync_Command; //muß sonst bekommt man beim Scrollen nur noch einen Datenzatzangezeigt
<br> Properties['Unique Table'].Value := Old_Unique_Table; //muß anscheinend nicht umbedingt sein aber ...
<br> end;
<br>end;
<br>
<br>Quellcode Stammt aus den Diskusionen:
<br><a href="/webx?14@@.ee7df2e">Patrick Sack "Refresh/Resync auf berechnetes Feld" 05.04.2001 15:41</a>
<br><a href="/webx?14@@.ee7e01c">Patrick Sack "Refresh auf ADODataSet "...Left Join...."" 05.04.2001 15:49</a>
<br>
<br>mfg
<br>P
<br>
<br>nochmals danke für den Code.
<br>
<br>hier noch eine Ergänzung (inkl. Bsp.), damit das auch mit berechneten Feldern und Left Rigth Joins funktioniert.
<br>
<br>procedure TForm1.Button1Click(Sender: TObject);
<br>resourcestring
<br> cRC = 'select tbl_test.*, tbl_test.Preis * 1.16 as GPreis from tbl_test Where tbl_Test.ID = ';
<br>var
<br> sRC : String;
<br> Old_Resync_Command, Old_Unique_Table : String;
<br>begin
<br> sRC := cRC + ADODataSet1ID.AsString;
<br> with ADODataSet1 do
<br> begin
<br> CheckBrowseMode; //if modified then post
<br> UpdateCursorPos;
<br> Old_Unique_Table := Properties['Unique Table'].Value;
<br> Old_Resync_Command := Properties['Resync Command'].Value;
<br> Properties['Unique Table'].Value := 'tbl_test'; //muß sein auch wenn man keinen Join verwendet
<br> //Muß damit die berechneten Felder aktualisiert werden
<br> Properties['Resync Command'].Value := sRC;
<br> Recordset.Resync(adAffectCurrent, adResyncAllValues);
<br> Resync([]);
<br> Properties['Resync Command'].Value := Old_Resync_Command; //muß sonst bekommt man beim Scrollen nur noch einen Datenzatzangezeigt
<br> Properties['Unique Table'].Value := Old_Unique_Table; //muß anscheinend nicht umbedingt sein aber ...
<br> end;
<br>end;
<br>
<br>procedure TForm3.DBLookupComboBox1CloseUp(Sender: TObject);
<br>resourcestring
<br> cRC = 'select d.id, d.MasterID , m.name, d.email from tbl_detail d Left join tbl_master m ' +
<br> 'on m.ID = d.MasterID Where d.ID = ';
<br>var
<br> sRC : String;
<br> Old_Resync_Command, Old_Unique_Table : String;
<br>begin
<br> sRC := cRC + ADODataSet1ID.AsString;
<br> with ADODataSet1 do
<br> begin
<br> CheckBrowseMode; //if modified then post
<br> UpdateCursorPos;
<br> Old_Unique_Table := Properties['Unique Table'].Value;
<br> Old_Resync_Command := Properties['Resync Command'].Value;
<br> Properties['Unique Table'].Value := 'tbl_Detail'; //muß sein auch wenn man keinen Join verwendet
<br> //Muß damit auch berechneten Felder aktualisiert werden
<br> Properties['Resync Command'].Value := sRC;
<br> Recordset.Resync(adAffectCurrent, adResyncAllValues);
<br> Resync([]);
<br> Properties['Resync Command'].Value := Old_Resync_Command; //muß sonst bekommt man beim Scrollen nur noch einen Datenzatzangezeigt
<br> Properties['Unique Table'].Value := Old_Unique_Table; //muß anscheinend nicht umbedingt sein aber ...
<br> end;
<br>end;
<br>
<br>Quellcode Stammt aus den Diskusionen:
<br><a href="/webx?14@@.ee7df2e">Patrick Sack "Refresh/Resync auf berechnetes Feld" 05.04.2001 15:41</a>
<br><a href="/webx?14@@.ee7e01c">Patrick Sack "Refresh auf ADODataSet "...Left Join...."" 05.04.2001 15:49</a>
<br>
<br>mfg
<br>P
Comment