Autor Beitrag
Talbot
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win 2000, Win98, WinXP Prof, Linux(Suse, Gentoo, Debian, RedHat)
D6 Enterprise
BeitragVerfasst: Do 08.09.05 10:38 
Ich habe eine ADO Datenbank in mein Projekt eingebaut. Die meisten Felder werden über ein DBGrid vom Benutzer gefüllt. Jedoch soll ein Feld automatisch vom Programm gefüllt werden. Dazu setze ich zur Laufzeit die Eigenschaft 'DefaultExpression' des entsprechenden Feldes auf den Wert. Ich habe sowohl versucht, den Wert in '' also auch ohne '' anzugeben. Wenn ich aber zur Laufzeit einen neuen Datensatz anlege träft das Programm gar nichts ins Feld ein. Der Benutzer selber soll von der eingabe gar nichts mitbekommen.

Hat jemand ne Idee warum das nicht funktioniert? Oder eine andere Lösung für das Problem?
Talbot Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win 2000, Win98, WinXP Prof, Linux(Suse, Gentoo, Debian, RedHat)
D6 Enterprise
BeitragVerfasst: Do 08.09.05 14:16 
Hab das Problem bereits selber gelöst:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.tbl_sdaEMBeforePost(DataSet: TDataSet);                        // Before Post Event der ADOTable
  var sname : String;
begin
  if NOT ( (DataSet.State = dsEdit) OR (DataSet.State = dsInsert) ) then begin  // Prüfung ob Datensatz editiert werden kann
        DataSet.Edit;                                                           // Ansonsten Editiermodus einleiten
  end;
                        
  DataSet.FieldByName('Benutzer').AsString := sName;                            // Feld mit Wert belegen.

end;


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.