同じデータ入力を省略するには?

解決


万年中年  2004-09-01 09:07:29  No: 10764  IP: 192.*.*.*

同じデータ入力の再入力を省略するには?

DBEdit1.text          会社名
DBEdit2.text          金額
comboBox1.items      品名
を使ってデータ入力しています。
順序よく入力するには問題がないのですが、
Edit2.text 金額  と  comboBox1.items品名が
同じデータの場合は入力を省くのにはどのように
考えたらよいのでしょうか?

一応最初の入力に入る前(DBEdit1.text)に変数を
用意して
  DBEdit2:=金額と
  comboBox1.text:=品名で
  入れることはできるのですが
  カーソルが金額のところでENterのみを押すと
  データが消えてしまいます。
  又、データは代入で見た目で入っているのですが,DBGridで
  確認しても保存されません。

説明があやふやかもしれませんが。
解決策がありましたらお願いします。

編集 削除
@っしー  2004-09-01 10:05:10  No: 10765  IP: 192.*.*.*

下記URLを参考にしてみてください。

[DBEditに値を代入する]
  http://www.wwlnk.com/boheme/delphi/dbtips/css0070.htm

編集 削除
HOta  2004-09-01 10:59:52  No: 10766  IP: 192.*.*.*

データーベースは何をお使いでしょうか?
TQuery->TDataSorce->TDBEdit
だとしますと、まずTDBEditに値を入れると、
TQueryが編集状態に(Query1.StateがdsEditかdsInsert)になります。
このままではDataSetにあるだけで、データーベースには反映されていませんので、Postを行います。DBGridの場合は、編集状態から他のレコードに移動すれば、反映されます。
TQueryとTTableはTDataSetとしては同じです。

編集 削除
万年中年  2004-09-01 13:55:55  No: 10767  IP: 192.*.*.*

早い回答ありがとうございます。

前のデータを再利用できました。
DBEdit1.text :='delphi'; でなくて
Query1.FieldByName('品物').AsString:='book';で
フォーカスが来ても消えずに残っています。
助かりました。
ありがとうございました。

編集 削除
HOta  2004-09-01 15:47:02  No: 10768  IP: 192.*.*.*

>Query1.FieldByName('品物').AsString:='book';
の代わりに、
DataSorce.DataSet.FieldByName('品物').AsString:='book';
も同様に使えます。
TQuery->TDataSorce->TDBEdit
であれば、DataSorce.DataSetはTQueryを指します。

編集 削除
万年中年  2004-09-03 08:37:32  No: 10769  IP: 192.*.*.*

TQuery->TDataSorce->TDBEdit
であれば、DataSorce.DataSetはTQueryを指します。
そうなんですね。ありがとうございました。

編集 削除