同じデータ入力の再入力を省略するには?
DBEdit1.text 会社名
DBEdit2.text 金額
comboBox1.items 品名
を使ってデータ入力しています。
順序よく入力するには問題がないのですが、
Edit2.text 金額 と comboBox1.items品名が
同じデータの場合は入力を省くのにはどのように
考えたらよいのでしょうか?
一応最初の入力に入る前(DBEdit1.text)に変数を
用意して
DBEdit2:=金額と
comboBox1.text:=品名で
入れることはできるのですが
カーソルが金額のところでENterのみを押すと
データが消えてしまいます。
又、データは代入で見た目で入っているのですが,DBGridで
確認しても保存されません。
説明があやふやかもしれませんが。
解決策がありましたらお願いします。
下記URLを参考にしてみてください。
[DBEditに値を代入する]
http://www.wwlnk.com/boheme/delphi/dbtips/css0070.htm
データーベースは何をお使いでしょうか?
TQuery->TDataSorce->TDBEdit
だとしますと、まずTDBEditに値を入れると、
TQueryが編集状態に(Query1.StateがdsEditかdsInsert)になります。
このままではDataSetにあるだけで、データーベースには反映されていませんので、Postを行います。DBGridの場合は、編集状態から他のレコードに移動すれば、反映されます。
TQueryとTTableはTDataSetとしては同じです。
早い回答ありがとうございます。
前のデータを再利用できました。
DBEdit1.text :='delphi'; でなくて
Query1.FieldByName('品物').AsString:='book';で
フォーカスが来ても消えずに残っています。
助かりました。
ありがとうございました。
>Query1.FieldByName('品物').AsString:='book';
の代わりに、
DataSorce.DataSet.FieldByName('品物').AsString:='book';
も同様に使えます。
TQuery->TDataSorce->TDBEdit
であれば、DataSorce.DataSetはTQueryを指します。
TQuery->TDataSorce->TDBEdit
であれば、DataSorce.DataSetはTQueryを指します。
そうなんですね。ありがとうございました。
ツイート | ![]() |