• ベストアンサー

Data gridについてなのですが、、、

またまたお世話になります<(_ _)>VB6にて、社内の生産計画補助ソフトを作ってる素人です(>_<)パーツ名と個数を入力し、追加ボタンを押すと、アクセスに追加されていくようにしました。しかし、これでは何てパーツを追加したかそこではわかりませんので、これはマズイと思い、Data gridの存在を知り、見よう見まねで表示させようと思いました。しかし、実際には一旦メインフォームに戻って登録フォームに入ると表示されてるのですが、そのフォームで追加しても反映されません(>_<)これを追加してすぐにData gridに反映させる方法ってあるのでしょうか?追加ボタンおしたらすぐにData gridに表示させたいのですが、わかりません(>_<)できるのかどうかすらわかりません。Data grid以外でも良い方法があるのなら教えてください<(_ _)>

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

  • ベストアンサー
  • skink
  • ベストアンサー率38% (7/18)
回答No.3

こんにちは。 私がやっているのは、SQL文での検索結果をMSFlexGridに表示させるということです。 Data gridは使用したことないので、MSFlexGridの使用例を参考までに。 再描画というのは、任意のタイミングでSQL文を発行して、その結果を表示させるという意味で、接続しなおすということではありません。 テーブルの中身がそのまま表示されるのではなく「自分で文を発行して表示」ということをしています。 たとえば、form_load時に"SELECT * FROM emp"の結果をグリッドに表示させているとしたら、データを入力した時にもう一度、SQLを発行してその結果を表示させるということです。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/MSFlexind.htm
satoshi777
質問者

お礼

わかりました!!!常識であるような専門用語がわからないので、何のことかわからずにやっているので、申し訳ありませんでした<(_ _)>フォームロードでまさしくSQLを使ってました(>_<)とてもわかりやすい説明ありがとうございます<(_ _)><(_ _)><(_ _)>

その他の回答 (2)

  • morika
  • ベストアンサー率20% (1/5)
回答No.2

mdbへの接続環境を書かれていないので、どうかわかりませんがNo.1の方のようにMSFlexGridを使い追加ボタンをクリック時に、同時に抽出をおこなってはどうですか?例えば、「入力日」、「パーツ名」等色々考えられますが。

satoshi777
質問者

補足

おはようございます。御回答ありがとうございます。接続環境はADODBのProvider=Microsoft.Jet.OLEDB.4.0ってやつです。サンプルの本のをそのまま使いました(>_<)No1の方にも書きましたが、どのような方法があるのかもよくわかりません。テーブルのデータをそのまま持ってくると一番簡単かなと思いそうしてました。フォームをロードした際に、テーブルのデータをDataGridに表示させます。前回の状況を知りたいのと、途中になってもいいようにと思ったので。で、そのフォームに新規、追加、戻るってボタンつけました。新規で、テーブルのデータを削除します。パーツ名、個数を入れて、追加ボタンでテーブルに書き込みます。それがDataGridに即反映されると思っていました(>_<)繋がってんだからそうだろうと・・・MSFlexGridだとできるのでしょうか?

  • skink
  • ベストアンサー率38% (7/18)
回答No.1

こんにちは。 私はMSFlexGridを使用していますが、再描画しています。 ただ、描画の処理は時間がかかるので、データ数が多いとストレスになります。 ので、データ数や使い方に応じて描画のタイミングを考えた方がよいです。 んー。あんまり参考になりませんですね。すみません。

satoshi777
質問者

補足

MSFlexGrid!?そんなのもあるんですねぇ(>_<)何も知らなくて。。これは、DataGridと同じで、テーブルの情報をまるまる引っ張ってこれるのでしょうか?なおかつ、追加していったら、再描画(これは一旦データベースを閉じて開き直すという作業でしょうか?)すると、すぐに反映されるのでしょうか?素人ですいません<(_ _)>

関連するQ&A

  • Gridのカウントについて

    データセットにテーブルをつくり、それをグリッドに表示した後、グリッドの中身を一行削除して、グリッドをカウントしても正しい数が帰ってきません。 例えば、テーブルに ID|名前 01|aaaaa 02|bbbbb 03|ccccc となっており、それをGrid1に表示します。 その後、 ID|名前 01|aaaaa 03|ccccc のように1行削除した後、 MessageBox.Show(Grid1.DataSource.Rows.Count) を行うと、「3」と表示されます。 「2」と表示するための方法を教えてください。

  • VB6.0 Datagridに関する質問

    いつもお世話になっております。 以下のことをVB6.0上で実現させたいとかんがえています。 1.VB6.0のフォームにDataGridを貼り付けて そこにEXCELファイルからDataを読み込んで表示させる。 2.表示されたDataの一部をGRID上で変更し、 決定ボタンを押すことで、EXCELファイルに上書きする。 FLEXGRIDを使用して試してみたところ、READONLYで 変更できないようでしたので、 DataGridで試しています。 上記2点を実現させることは可能ですか? また、GRIDにADOなどを使わずに FILEOPEN、INPUTで取得したDATAを表示させることはできますか? また実現させるにあたって参考になるサイト、情報を頂ければ助かります。 乱文でわかりずらい点があったらすみません。 なお、ファイル形式はEXCELにこだわらず、CSVでもいいです。 GRIDの使用についても表として使用するのみで、 ソートなどは必要ないので 他にいい方法があればお教えください。

  • GridでSQLを使うのに苦労してます。

    SQL文を試行錯誤して、テキストボックス(伝票番号)とGrid(行番号・商品コード・数量)を連携させ(同じテーブル(MS-access))、 VB上で操作(追加・修正・検索・削除・表示etc)しようとしています。 本来ならば、クエリで望みのSQLを作成してから、コピーすれば良いのでしょうが、 伝票番号が1に対し、Grid内(行番号etc)が多の関係にある為、どのようなSELECT文を作成すればよいのかわかりません。 ユニオンクエリやらサブクエリやらなんのことやら…。 わかりにくい質問で申し訳ありませんが、 答えられる方、いらっしゃいましたら、よろしくお願いします。

  • DBグリットコントロールについて

    OSは、Meを使っているVB初心者なのですが、 DBグリットコントロールMicrosoft Data Bound Grid Control 5.0(SP3)を表示したかったのですが見つかりませんでした。仕方なくMicrosoft Data Grid Control 6.0(OLEDB)を使用したのですが、メッセージが・・・このコントロールには互換性のあるデータソースがありません。プロジェクトまたは、フォームにDataEnvironmentのようなOLEDBデータソースまたはADOデータソースコントロールを追加してください。と表示されました。どういうことなのでしょうか? あと、Microsoft Data Bound Grid Control 5.0(SP3)はどのファイルにあるのでしょうか?

  • DataSetの内容がDataGridViewに反映されない

    現在、VB2005でアプリケーションの開発をしているのですが DataSetの内容がDataGridViewに反映されなくて困っています。 表示させたいデータをデータセットにとってくるところは問題ないようで 1回目は上手く表示されるのですが、データセットの中身を変更して セットし直しても表示が変わりません。 以下がソースを抜き出したものになります。 Grid.DataSource = Nothing Grid.DataMember = Nothing Grid.DataSource = DataSet Grid.DataMember = "M_kbn" よろしくお願いします。

  • Accessのフォームによる、データ登録についての質問です。

    Accessのフォームによる、データ登録についての質問です。 フォームを作成して、データを入力して、フォームの画面を消すボタン(右上にある×)を押すと、テーブルに入力したデータが反映されるようですが、自分で作成したボタンを押すと反映するようにするには、どうしたらよいでしょうか? また、フォームの画面を消すボタンを押しても、反映されないようにするにはどうしたらよいでしょうか?

  • Access2016 外部データを

    こんにちは。よろしくお願い致します。 エクセルデータをインポートしましたところ(追加データとして) テーブルには反映されるのですが クエリやフォームには追加したデータが反映されません。 どこが悪いのでしょうか? お分かりになられる方、ご教示くださいませ。 よろしくお願いいたします。

  • フォームからのデータを繰り返し受けたいのですが・・・

    phpでフォームのポストからデータを受け取る方法しか知らない初心者ですが、以下のことについて教えてください。 フォームでユーザーが文字を入力して、追加を押すとその文字が表示されます。ここまでは、普通に受け取って表示するだけなので出来るのですが、このデータを一時的に保存したい場合どうすればいいのでしょうか? また、ユーザーが1回入力後追加でデータを送り、数回繰り返したとします。そのデータを1回目から数回送ったデータを整理して表示し、さらに、jsファイルを生成してDL出来るようにしたいのですが、方法がありましたら教えてちた抱けないでしょうか? データの表示ですが、追加を押すごとにデータが表示されていくようにしたいです。 説明が足りず分かりにくいと思いますので以下にサンプル的なものを書いておきます。 1回目 「あいうえお」と入力し追加を押すと 1回目 あいうえお と表示 2回目 「かきくけこ」と入力して追加を押すと 1回目 あいうえお 2回目 かきくけこ と表示します 最後にDLボタン的なものを作って、その文字を処理して拡張子がjsファイルでダウンロードします。 実際は、追加を押した時に文字を処理するのですが、そこは何とかできそうなので、数回データを受け取るのと、受け取ったデータの表示と一時的保存方法(数回になって来ると初めのデータの記憶方法という意味です)を教えていただけないでしょうか? よろしくお願いします

    • ベストアンサー
    • PHP
  • VB6で2つのFormを使ってプログラムについて

    環境:WindowsXp VB6(SP?) 操作:2つのフォーム(1と2)1からエクセルのデータを呼び込み⇒表示⇒さらにデーター追加⇒     コマンドボタンを押して2を表示⇒一部1のデータをラベルに表示してさらにデータ追加⇒     コマンド」ボタンを押して1と2のデータをエクセルの帳票に登録・保存     以上のことを繰り返す。     この間2フォームの登録・保存で2のフォームはアンロードする。 質問:1順目はうまくいくのですが、2順目になると、パブリック変数を使用して、テキストやラベルに表    示された、ものはうまくデーターが反映されるが、それ以外は、フォーム上では表示されていて     もdebug.printすると、データーが空欄になっているため、登録・保存できない。     例:'****Form1***** Public ex As String Form2.Show End Sub '******Form2******** Private Sub Form_Load() Label1 = Form1.ex End Sub このとき、2順目のForm1.exは””でもForm2のLabel1にはデーターが表示されている。             なにがいけないのかが、いろいろネットで調べてもよくわからないので、どなたか教えてくだ      さい。(initilizeとかをせっていすべきなのか?)      ただ、まだVB6をはじめて半年ほどですので、よろしくおねがいいたします。

  • よくわかってないので、漠然とした質問になるんですが。。。。

    VB6にて社内の生産管理のソフトを作れと言われて、その仕様を渡されたのですが。まず、メインメニューに材料指定、パーツ入力、リスト閲覧、って感じのコマンドがあります。材料フォームには、材料名をコンボボックスに入れておいて、選択させました。選択すろと、サイズですとかがテキストボックスに表示されます。で、確定すると、その情報をmdbに渡します。次に似たような感じで、パーツは、パーツ名を入力して、確定で、同じくmdbに渡します。問題は、リスト閲覧なんですが、入力した情報を一覧で表示させ、入力したパーツ名など、実際にあるものと情報が間違っていたら、(実際にあるものとは、CADで作ったデータなのですが、そこのフォルダを見にいかせてです。)そこを強調表示させ、さらに、一番左にチェックボックスをつけておいて、その行を削除させたりとしなければならないのですが、(ようは、そのパーツ名のものはあるけど、サイズが違うよとか、材料が違うよってことです。)VB6で作成可能でしょうか?また、できるとしたら、最も簡単な方法などありましたら、教えていただきたいです。初心者で、うまく説明できなくてすいません<(_ _)>

専門家に質問してみよう