• ベストアンサー

VBでMDBテーブルのKEYを指定した参照をしたい

こんにちわ マスタデータのメンテナンス処理をVBで作ろうと思ってます。 MDBの顧客テーブルがあります。検索画面で顧客コードを入力して顧客テーブルより情報を表示して変更入力し、結果を顧客テーブルに反映更新する処理です。 検索画面で指定されたコードでテーブルを読むにはどのように書いたらよいのでしょうか。 皆様よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.1

盆休みに、VB6.0 でネットワーク上のDBにアクセスして検索し表示する「検索君」なるものを作りました。 私が、真っ先に作ったのは、接続テストする以下の関数。 Public Function CNNTest(ByVal strCNNString As String) As Boolean On Error GoTo Err_CNNTest   Dim isNotOK As Boolean   Dim cnn   As ADODB.Connection      Set cnn = New ADODB.Connection   With cnn     .ConnectionString = strCNNString     .Open   End With Exit_CNNTest:   CNNTest = Not isNotOK   Exit Function Err_CNNTest:   isNotOK = True   Resume Exit_CNNTest End Function まず、一切合切を ADODB と SQL文だけで済ます方向性か否かです。 そして、その方向性として、DisplayRecord()、UpdateRecord() の開発をテーマとするか否かです。 ' ----------------------------------------------------------------------------------------- ' フォームに読み込んだ列情報を表示します。 ' ' 【要件】 ファームのフィールド名が、<"field_" + 列名>であること。 ' ----------------------------------------------------------------------------------------- Public Function DisplayRecord(ByVal frm As Form, ByVal strQuerySQL As String) As Boolean 例えば、こういう事も可能であって、非連結フォームの開発者ならば誰もが採用している手法でしょう。 それに、VBと言っても VB6.0とも限らないでしょう。 チクット、質問が大雑把すぎます。

akatuka
質問者

お礼

書き方不足申し訳ありません、VB6.0です。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mdbのテーブルを別のmdbのテーブルに追加

    2種類のMDBがあり 一つは 毎日の入力にて使用、もう一つは 累積として使用している。 それぞれに 同一デザインのテーブルがあります。 毎日の入力用のMDB内ののテーブルのデータをすべて 二つ目のMDBのテーブルに 追加したいのですが 一件読み込んで 一件書き込むなどと プログラムしていましたが 毎日の入力用のMDBが たくさんになったため 処理が遅くてたいへんです。 なにか 簡単に かつ 高速にすることは可能でしょうか? 開発環境は VB6 SP6 WindowsXP ADOを使用しています。 よろしくお願いします。

  • VBからMDBのアクセス

    VB初心者質問です。 開発環境 VB6 SP6 WIN2000  VB6からMDBの検索の手順について教えてください。 (質問) フォームに検索値用のテキストBOXを配置し、 その値でMDBのテーブルを検索し1件抽出する。 (検索値はテーブルのキー項目のため重複なし) 現在 Microsoft DAO 3.6 Object Library を参照しているので DAOで検索を行いたい。 知りたいことは検索の方法と 見つからなかった場合の判定についてです。 サンプルなどあればお願いいたします。

  • 【VB】データグリッドに読み込んだテーブルの変更を元のデータベースに反映させたい

    VB歴6ヶ月です。 VBのバージョンは2005です。 mdbから読み込んだデータベースをデータグリッドビューコントロールで表示しました。 CNには接続パスが入っていてmdbとの接続は確立しています。 データグリッドビューコントロールのオブジェクト名はDGVです。 読み込むテーブル名はt社員マスターです。 Private sub メンテナンス() Dim DS As DataSet = New DataSet("社員マスター") Dim SQL As String = "SELECT * FROM t社員マスター" Dim DA As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(SQL, CN) DA.Fill(DS, "社員マスター") Dim DV As DataView = New DataView(DS.Tables("社員マスター")) DGV.DataSource = DV End sub これでグリッドに読み込ますことはできたのですが、 読み込んだデータをグリッド上で変更したら元のデータベースにも反映したいのですが やり方がわかりません >< 具体的なコード、やり方を教えていただけたらありがたいです。

  • マスタテーブル使用時のデータテーブル設計について

    皆様こんにちは、失礼致します。 現在、ASP.NET+SQLServerで業務用帳票アプリの開発を行っています。 DBを使用した開発は初めてで、テーブルの設計手法について 経験者様のご指導を頂きたく、宜しくお願い致します。 まず、マスタテーブルは以下とします。 【顧客マスタテーブル】 ・顧客マスタID ・顧客名 ・顧客名(英語名) 帳票データ入力画面で、顧客マスタ検索ボタンから別画面を起動し、 そこで選択した顧客名を帳票データ入力画面に反映させます。 そして、帳票データ入力画面のデータをデータテーブルへ格納する のですが、その際には顧客名そのものか、マスタIDのどちらを 格納するのが好ましいのでしょうか? 要件としては以下を満たす必要があります。 1.帳票データ入力画面で格納したデータは   別の帳票データ入力画面でも使い回す。 2.帳票印刷時にのみ、顧客名を対応する顧客名(英語名)で   出力する。 3.データテーブルに格納されたデータは後々参照して使い回す。 顧客名で格納しておけば使い回しは楽ですが、2.のケースで 顧客名から顧客名(英語名)をselectした場合に、顧客名は一意でも 顧客名(英語名)が一意ではなかった場合に問題が起きます。 マスタIDで格納しておけば、対応する顧客名(英語名)は検索 できますが、マスタを修正した場合には3.で過去データを 参照する時に修正後のマスタ情報が表示されてしまいます。 結論としましては、両方とも格納しておくのが好ましいのでは、 と考えておりますが、メンテナンス性の観点から、データテーブルの カラム数はできるだけ少なくしたいとも考えております。 周囲に経験者がいなくて困っております。 ご指導頂けますと幸いです。 以上、宜しくお願い致します。

  • VB2005でDBのドライブ指定の方法

    VB2005初心者です。 MDBと接続してテーブルデータを参照・更新するプログラムを作っていますが、接続先の指定を「C:\\アプリ\VB¥支払先.mdb」と記述していますが、プログラムの保存先と同じフォルダなので省略した記述にしたいのですがでのように書いたらよいかわかりません。 省略したい理由はプログラムの保存先を移動(例えばCドライブをEドライブに「アプリ」のフォルダ名を変更)した場合でもMDBの接続部の記述を変更することなく動かしたいからです。 よろしくお願いいたします。

  • VB2005のデータグリッドビューとデータテーブルについて

    いつもお世話になっています。 独学でVBの勉強をしているのですが、 どうしてもわからないことがあるので教えて下さい。 現在行なおうとしていることは、 mdbからデータテーブルにレコードを取得して、 それをデータグリッドビューに設定し、 値の一部をコードで変更するということです。 DataGridView1.DataSource = DataTable1 とすれば、データテーブルのデータを データグリッドビューにて表示させることができるのですが、 コードでデータグリッドビューの値を変更すると、 データテーブルの値も一緒に変更されてしまうんです。 DataGridView1.DataSource = DataTable1.Clone とすると、今度はレコードが表示されなくなってしまって・・・ 何か良い方法がありましたら、教えて下さい。 よろしくお願いします。

  • VB2008で、VB画面上の入力項目から、検索結果画面のURLを取得→HTML反映

    以前の質問で指定したURLをVB画面にHTMLを反映表示させる処理を教えていただきました。 そこからの発展になるのですが、VB2008でコマンド実行時にテキスト項目に 入力しておいた指定文字列を読み込み、指定文字列をYahooとGoogleの二つの 検索エンジンで検索実行し、HTMLをVB画面上に反映させたいのですが、 詳しい方がいらっしゃいましたら教えていただけますでしょうか。 現状では上記の処理がわからないので、ブラウザ上からURLを 手動でコピー&ペーストしてHTMLをVBに表示させている状況です。

  • VB2005を使ってACCESSのテーブルを別のデータベースにエクスポートさせるには?

    例えば、VB2005を使ってACCESSのA.mdbにあるテーブルをB.mdbにエクスポートさせるには、どのようなプログラムを書けば良いのでしょうか? ちなみに、ACCESSのテーブルをデータセットに取得して、別のテーブルに書き込むと言うようなものを書いて見ましたが、処理が非常に遅いので使えませんでした。

  • mdbからのデータ取得をSQLで行いたいのですが・・・

    VB.NETで開発中です。 “TEST”という名称のmdb(MS-Access)のDBに接続し、“区分マスタ”というテーブルからデータを取得したいのですが、これをSQL文で行いたいと思っています。 サンプル的なコードを記述して教えていただけると助かります。 よろしくお願い致します。

  • Accessで別mdbのテーブルをコピー

    VBで同じような質問をされている方はいたのですが、 ACCESS VBAでの方法がよくわからないので、教えてください。 別フォルダにあるmdbからテーブルをコピーしたいのですが、 どのようにしたらいいのでしょうか。 DoCmd.CopyObjectを使うと、コピー先を指定することはできるようですが、 コピー元を指定してコピーする方法を教えてください。 よろしくお願いします。