連結するには

解決


琅珎  2002-12-10 08:41:17  No: 76549  IP: [192.*.*.*]

リストボックスとDBGridの連結を考えているのですが。
リストボックスにはメモ帳からLoad時にcsv形式のデータを読み込んでいて、DBGridにはアクセスのデータから読んでいます。
アクセスはcsv形式のデータをインポートさせたものです。
ここで、FormにおいたリストボックスとDBGridについてですが、
リストボックスの内容を更新させるとDBGridの内容も同時に更新されるようにしたいのです。
この場合どのようにすれば連結させる(互換性を持たせる?)ことができるのでしょうか?

編集 削除
Say  2002-12-10 20:22:13  No: 76550  IP: [192.*.*.*]

>リストボックスの内容を更新させるとDBGridの内容も同時に更新されるようにしたい。
そういうコードを書いてください。
具体的には、
リストボックスの変更内容に従って、インポートされたmdbテーブルを書き換え、
レコードソースをRefresh(またはRequery)すればよろしいかと・・・。

編集 削除
琅珎  2002-12-11 08:47:40  No: 76551  IP: [192.*.*.*]

>Sayさん
まだリストボックスとDBGridを直接つなげることができていないので書きかえるということができません。
この2つをつなげるにはどうしたらよいのかアドバイスなどあれば教えてください。

編集 削除
とろ  2002-12-11 09:16:08  No: 76552  IP: [192.*.*.*]

リストボックスの内容を更新させた時に、データベースを更新し、
その更新された内容を DBGrid に反映させて下さい。

『リストボックス -> データベース (Access) -> DBGrid 』という感じです。
『リストボックス -> DBGrid 』ということはできません、多分。

編集 削除
琅珎  2002-12-11 09:31:12  No: 76553  IP: [192.*.*.*]

上に書いてあるようにリストボックスとDBGridの読み込み先は異なっています。
リストボックスのデータを更新するとメモ帳に書き込みに行くのですが、そのときにAccessを更新させることはできるのでしょうか?

編集 削除
とろ  2002-12-11 09:58:18  No: 76554  IP: [192.*.*.*]

> リストボックスのデータを更新するとメモ帳に書き込みに行くのですが、
> そのときにAccessを更新させることはできるのでしょうか?

データの中身は、
csv (リストボックス)も mdb ( DBGrid )も同じですよね。
csv を更新する時に、同じ内容で mdb の方も更新するだけです。

mdb の更新の仕方は DAO や ADO について調べて下さい。

編集 削除
琅珎  2002-12-11 10:23:28  No: 76555  IP: [192.*.*.*]

csvもmdbも同じです。
csv更新時にmdbも同じになるように更新する・・・。
リストを更新したら自動でmdbも同じように同時更新させるというのはやはり難しいのですね。
mdbの更新のやり方がいまいちわからないのですが。
調べてはいるのですが、なかなか見つからなくて・・・。

編集 削除
琅珎  2002-12-12 11:53:21  No: 76556  IP: [192.*.*.*]

調べてみたのですがmdbの更新のやり方がわかりません。
リストとDBGridの同時更新もできない状態です。
どなたかわかる方がいれば教えてください。

編集 削除
moge  2002-12-12 11:59:18  No: 76557  IP: [192.*.*.*]

素朴な疑問としては、
そもそも何故同じデータをMDBとCSVで持っているのか?
同じデータを何箇所にも重複して持たないようにするのが情報処理の基本です。
MDBに一元化しちゃえば同時更新がどうのこうのという心配はなくなりますが...

編集 削除
Say  2002-12-12 20:44:22  No: 76558  IP: [192.*.*.*]

csvは更新処理には向きません。

csvをmdbにテーブルとして取り込み、
そのテーブルにリンクさせたDBグリッドやリストボックスで表示や更新を行い、
最後にmdbのテーブルからcsvに書き出すようにすればいかがでしょう?

編集 削除
琅珎  2002-12-13 08:40:14  No: 76559  IP: [192.*.*.*]

>Sayさん
そうですか。わかりました。
mdbで行っていきます。

編集 削除