Como selecionar dados gravados usando if no before post
Eu tenho uma tabela onde estão sendo gravadas as matérias e notas dos alunos.
TAB_ BIMESTRECOD_BIMESTREMATERIAPETCTTMB
Pois bem... eu gravo os dados através deste código
procedure TBIMESTRE1.FormKeyPress(Sender: TObject; var Key: Char);beginif Key = #13 thenBEGIN if (DBLookupComboBox1.Text = '') then //Verifica se o campo "matéria" foi preenchido begin Messagedlg('O campo "Matéria" deve ser preenchido!', mtInformation, [mbOk], 0); if DBLookupComboBox1.CanFocus then DBLookupComboBox1.SetFocus; EXIT; END;TAB1.Edit;TAB1MAT.Text := DBLOOKUPCOMBOBOX1.Text;TAB1.Post;master.Next;utilizando-me do FormKeyPress
A média bimestral e o arredondamento eu faço através de código no BeforePos da tabela.
Acontece que quando a matéria for Educação Fícia (EF) as notas de TC, TT, MB devem ser iguais à nota de PE. Quando não devem estar dentro da operação normal como toda matéria.
Não está dando certo...
Dêm uma olhada no script... onde estou errando?
TAB1.Edit; TAB1MB.AsFloat:= ((TAB1PE.AsFloat0.9)+(TAB1TC.AsFloat0.1)+(TAB1TT.AsFloat*1.2))/2; if (TAB1MB.asfloat - Int(TAB1MB.asfloat)) >= 0.75 then TAB1MB.asfloat := TAB1MB.asfloat + (1 - (TAB1MB.asfloat - int(TAB1MB.asfloat))); if (TAB1MB.asfloat - Int(TAB1MB.asfloat)) < 0.75 then if (TAB1MB.asfloat - Int(TAB1MB.asfloat)) >= 0.5 then TAB1MB.asfloat := TAB1MB.asfloat - ((TAB1MB.asfloat-int(TAB1MB.asfloat))-0.5); if (TAB1MB.asfloat - Int(TAB1MB.asfloat)) < 0.5 then if (TAB1MB.asfloat - Int(TAB1MB.asfloat)) >= 0.25 then TAB1MB.asfloat := TAB1MB.asfloat + (0.5 - (TAB1MB.asfloat-int(TAB1MB.asfloat))); if (TAB1MB.asfloat - Int(TAB1MB.asfloat)) < 0.25 then TAB1MB.asfloat := TAB1MB.asfloat - (TAB1MB.asfloat - int(TAB1MB.asfloat)); if TAB1MB.asfloat > 10.00 then begin TAB1MB.asfloat:= 10.00; TAB1MB.asfloat:= TAB1MB.asfloat;IFTAB1MAT.Text = 'EF' THENTAB1TT.AsFloat := TAB1PE.AsFloat;TAB1TC.AsFloat := TAB1PE.AsFloat;TAB1MB.AsFloat := TAB1PE.AsFloat;END;END;
Discussão (3)
Carregando comentários...