Avatar billede denniss Nybegynder
19. oktober 2000 - 22:31 Der er 1 kommentar

Hvordan \'tuner\' jeg denne kode: ?

Hejsa, er der nogen der har foreslag til at \'tune\' denne kode:
En af de ting jeg godt kunne tænke mig at komme ud over, er den refresh der ligger nederst, skal man have en refresh, får at få nyeste data på skærmen, efter at have ændret noget. ?


  DM.IBQPersonale.Locate(\'MEDARBEJDERNR\', DM.VagtplanSource.DataSet.FieldByName(\'MEDARBEJDERNR\').AsVariant, [loCaseInsensitive]);
  DM.IBQKunde.Locate(\'KUNDENR\', DM.VagtplanSource.DataSet.FieldByName(\'KUNDENR\').AsVariant, [loCaseInsensitive]);

  DM.VagtplanSource.DataSet.Edit;
  If DBComboBox1.Text = \'SV\' then
  begin
  // Persoanle løn
  DM.VagtplanSource.DataSet.FieldByName(\'P_LON_DAG\').AsFloat :=
    (DM.PersonaleSource.DataSet.FieldByName(\'LONTARIF_SV_DAG\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_DAG\').AsFloat);
  DM.VagtplanSource.DataSet.FieldByName(\'P_LON_NAT\').AsFloat :=
    (DM.PersonaleSource.DataSet.FieldByName(\'LONTARIF_SV_NAT\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_NAT\').AsFloat);
  // Kunde pris
  DM.VagtplanSource.DataSet.FieldByName(\'K_PRIS_DAG\').AsFloat :=
    (DM.KundeSource.DataSet.FieldByName(\'PRIS_SV_DAG\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_DAG\').AsFloat);
  DM.VagtplanSource.DataSet.FieldByName(\'K_PRIS_NAT\').AsFloat :=
    (DM.KundeSource.DataSet.FieldByName(\'PRIS_SV_NAT\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_NAT\').AsFloat);
  end;

  If DBComboBox1.Text = \'SVV\' then
  begin
  // Persoanle løn
  DM.VagtplanSource.DataSet.FieldByName(\'P_LON_DAG\').AsFloat :=
    (DM.PersonaleSource.DataSet.FieldByName(\'LONTARIF_SVV_DAG\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_DAG\').AsFloat);
  DM.VagtplanSource.DataSet.FieldByName(\'P_LON_NAT\').AsFloat :=
    (DM.PersonaleSource.DataSet.FieldByName(\'LONTARIF_SVV_NAT\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_NAT\').AsFloat);
  // Kunde pris
  DM.VagtplanSource.DataSet.FieldByName(\'K_PRIS_DAG\').AsFloat :=
    (DM.KundeSource.DataSet.FieldByName(\'PRIS_SVV_DAG\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_DAG\').AsFloat);
  DM.VagtplanSource.DataSet.FieldByName(\'K_PRIS_NAT\').AsFloat :=
    (DM.KundeSource.DataSet.FieldByName(\'PRIS_SVV_NAT\').AsFloat *
      DM.VagtplanSource.Dataset.FieldByName(\'TIMER_NAT\').AsFloat);
  end;

  DM.VagtplanSource.DataSet.Post;
  DM.IBQVagtplan.Database.ApplyUpdates([DM.VagtplanSource.DataSet]);
  DM.VagtplanSource.DataSet.Refresh;
Avatar billede tlauri Nybegynder
20. oktober 2000 - 08:55 #1
Du kan bruge en TQuery og så konstruere de ønskede fields via SQL. Husk at hvis du skal gemme via TQuery så skal du have \'LiveQuery\' sat til true.

Der er også noget med at man kan lave fields af typen \'calculated\', hvis det bliver for uoverskueligt i SQL. Med calculated fields kan du danne det dataset du ønsker (fx hvor du ganger timer og timeløn sammen) og så bruge dette dataset som source til din DBComboBox.

- Torben
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester