プロが教える店舗&オフィスのセキュリティ対策術

delphiを始めて3日目の初心者です。
質問があります。

同じフォーム内にDBGridとEditがあります。
DbGridには全部で3つフィールド「Ename」「Ejusyo」「Edenwa」があり全部で5行表示。
EditはそれぞれEdit1,2,3が3つあります。

例:
Ename Ejusyo Edenwa
青木  東京都  1234
木村  山梨   2223
佐藤  群馬   5555
斉藤  岩手   4444
高木  大阪   9999


例えば「青木」のレコードをマウスでクリックすると
Edit1に青木、Edit2に東京、Edit3に1234を1セットとして表示させたいのです。
ちなみに斉藤をクリックすれば
Edit1に斉藤、Edit2に岩手、Edit3に4444を表示する。

こう処理したい場合にはどう記述すればよいですか?
超初心者です。わかりやすく教えていただければ助かります。

A 回答 (2件)

No.1の訂正です。


DbEditにはテーブルとフィールドを予め関連付けるので
DbEdit1.Text := Table1.FieldByName('Ename').AsString;
は必要ありません。

DbGridのレコードをクリックすれば同時にDbEditに関連付けたフィールドの内容が表示されます。
    • good
    • 0

DBGridのレコードをクリックするとDBGridに関連付けられているテーブルまたはクエリのカレントレコードも移動します。


つまりクリックしたレコード=テーブルのカレントレコードということになります。
DBGridのセルの内容をEditに貼り付けるよりもDbEditを使用してテーブルのフィールドをDbEditに貼り付けた方がいいと思います。

やり方は以下の通りです。

DbEdit1.Text := Table1.FieldByName('Ename').AsString;

試してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!