具体的なアプリケーション開発

 

データモジュールの設定と初期処理実行
受注登録画面の設定
社員検索
- Tableを使って
受注明細画面の
呼び出し
単価検索
- SQLを使って
商品検索
- CALL400を使って
カレンダーの利用
メニューを作成
別EXEを呼び出す
Excelに出力
 
受注明細画面の呼び出し 5/10
5/10

[OK]ボタンをクリックしたときに、クライアントデータセットの明細データに追加または修正を行うことでメインの受注画面に反映させます。

FormCloseQueryイベントで次のように記述します。


procedure TfrmMeisai.FormCloseQuery(Sender: TObject;
                                   var CanClose: Boolean);
  function Hizuke_Chg(hizuke:string):integer;
begin
if hizuke = '' then
Result := 0
else
Result := StrToInt( StringReplace(hizuke,'/','',[rfReplaceAll]));
end;
begin if ModalResult = mrOK then begin with frmJuchu.cdsJuchuM do begin //ファイル更新 //【登録時】 if SINSFLG then begin Active := True; Insert; //商品名 FieldByName('SHOHINNM').AsString := EditShoNm.Text; //商品コード FieldByName('SHOHINCD').AsString := EditShoCd.Text; //数量 FieldByName('SURYO').AsInteger := StrToInt(StringReplace(EditSuryo.Text, ',','',[rfReplaceAll, rfIgnoreCase])); //単価 FieldByName('TANKA').AsFloat := StrToFloat(StringReplace(EditTanka.Lines.Strings[0], ',','',[rfReplaceAll, rfIgnoreCase])); //納期 FieldByName('NOUKI').AsInteger := Hizuke_Chg(EditNouki.Text); end else begin Edit; //商品名 FieldByName('SHOHINNM').AsString := EditShoNm.Text; //商品コード FieldByName('SHOHINCD').AsString := EditShoCd.Text; //数量 FieldByName('SURYO').AsInteger := StrToInt(StringReplace(EditSuryo.Text,',','', [rfReplaceAll, rfIgnoreCase])); //単価 FieldByName('TANKA').AsFloat := StrToFloat(StringReplace(EditTanka.Lines.Strings[0],',','', [rfReplaceAll, rfIgnoreCase])); //納期 FieldByName('NOUKI').AsInteger := Hizuke_Chg(EditNouki.Text); end; end; end; end;

 
5/10