• ベストアンサー

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

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

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

  • ベストアンサー
回答No.5

私の考えを述べる前に、簡単に個人情報公開(抹消覚悟w) ・会社勤合計 約1.5年 ・SOHO(?)暦 約8年(学生時代含む) ・昨年、念願のマイホームを手に入れた3児のパパ こんな私の作業工程は自己流ですが、参考までにドゾ 要件まとめ(画面や実現方法は無視) ・やりたい機能をやたらと箇条書き 簡単な規模と日程を決定(機能概略) ・実現方法の概略をここで考える ※DB  おおよそ登録や履歴の行われるボリュームなどを概算(導入するDBを決定) ※開発言語  簡単な画面イメージを作成(開発言語を決定) ※開発工数の算出  導入・稼動と開発人員やボリュームから、無理の無いX(エックス)デーを決定  それに伴い、期日に間に合わない余分な機能は、後付けにしたりする 機能設計(DB) ・業務特有の動きを考慮し、DB周りの環境を整備 ・特に膨らみそうなテーブルは細分化を行い、フィールドを多くさせないように設計 機能設計(画面) ・画面イメージを作成 ※その画面が行う機能の概略を決定する ・(主に)DBのどのテーブルに結びつくのかを書いておくといい ※(登録/参照/更新を明示すると、さらにいい) 外部設計(その1) ・各画面の役割を、詳細に明示 ※どの画面から遷移されるのかなど ・各画面に存在するボタンの機能も明示 ・業務的なチェック処理が行われてからの起動する画面が多いのであれば、起動時チェックパターンを別表にまとめる 外部設計(共通項目) ・外部設計(その1)を行った事で、共通化できる部分があれば、共通処理としてまとめる ※チェック処理、入力制限などなど 外部設計(その2) ・外部設計(共通項目)を元に、外部設計(その1)を手直し 詳細設計は、別会社に納品というわけでもなさそうだし、機能~外部設計を自分でやっているならば、書くのは時間がもったいないです。 反論もあるとは思うけど、社内業務アプリでは、あまり聞かないです。 社内物であれば、上司も外部設計資料で、普通は承認してくれるはずです。 それに「新規開発の詳細設計はコロコロ変わるもの」なので、それをいちいち反映していたら、キリがありません。 しかし上流設計者が別人だったり、普段会社にいない、開発人員が多いのであれば、絶対に書いた方がいいです。

satoshi777
質問者

お礼

ありがとうございます<(_ _)>大変参考になります。内容をコピーして印刷しました<(_ _)>会社で使っているCADソフトのメーカーの方にこのようなソフトを作ってくれと言ったところ、高額だったらしく、上司に命令されてしまいました(>_<)ここで、できませんと言えない自分が情けないのですが・・・(>_<)とにかく頑張ってみます。またよろしくお願いします<(_ _)>

その他の回答 (4)

回答No.4

>お久しぶりです こちらこそです。 いろいろ問題が述べられていますが、全てO_cyan さんの言われているとおりです。 あなたが私を信頼してくれている(?)ように、私もO_cyanさんを信頼しております。 ちょっと出張で出ますので、プチアドバイス。 回答をくれている人のスキルを過去の発言から理解し、信頼できる回答をしてきている人を見つけて仲良くなりましょ。 以上w

satoshi777
質問者

お礼

アドバイス、ありがとうございます。現場が忙しかったので、見れませんでした<(_ _)>0_cyanさんにも書いたのですが、非常に複雑でしたので、1から設計し直そうと考えております。まとまってまたわからないことが出てくると思いますので、その時はまたお願いします<(_ _)>いきなり質問なのですが、設計する場合、最初に全ての設計をしてしまった方がいいのでしょうか?例えば、いくつもフォームがある場合、ひとつのフォーム単位で考えていって、最後に必要なものをつなげるってのが一般的なのでしょうか?1050YENさんはどういう順序で考えていくのでしょうか?

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>表形式で各行にチェックボックスを入れたのですが >一個にチェック付けると全部についてしまいます これはフォーム上でチェックボックスを作り非連結状態なので1箇所をチェックすると全てチェックされてしまうのです。 テーブルにYes/No型のフィールドでも追加してそのフィールドをコントロールソースにすれば大丈夫です。またはテーブルに使用していないフィールドがあればそのフィールドでもかまいません。 >Aフォルダの中に1~100までの子フォルダがあってその1~100の中にそれぞれ・・ パーツ名を1~100の中のパーツ名フォルダを全てみに行くのは処理効率が悪いですね。 パーツ名は何かのリストで持っているのでしょうか?数個のテーブルなどならユニオンクエリで結合できますが100個では無理ですね。パーツ名のテーブルを作ってそこにパーツ名など取り込んでそこを見に行く方が早いと思いますが。

satoshi777
質問者

お礼

返事遅れました。今、現場が忙しいのと休みがあったのとで、見るのが遅れました。ありがとうございます。今、よくよく考えてみたら、思ったより複雑でしたので、もう一度、ゆっくり設計してみたいと思います。また質問することになると思うのですが、よろしくお願いします<(_ _)>

回答No.2

>DataGridとはVB.NETだけのものなのでは!? いえVB6にもあります。 例は、DataGrid@VB6 + ADOControl@VB6 + SQL-Server http://homepage2.nifty.com/inform/vbdb/adodc_sqlserver.htm Adodc1.ConnectionString内容をAccess用に改造する必要あり >社内 もしVB6で作ろうとしているツールを利用する端末全部に、Accessが入っているのであれば、DataGridを利用する必要もなく、Accessフォームを利用した方が、コーディングが非常に楽チンだと思います。 そーでなければVB6でシコシコ作成。Fightです。

satoshi777
質問者

補足

あ、1050YENさん、お久しぶりです。全てにAccess入っています。そっちの方が簡単ですか?フォームを調べていたんですが、表形式で各行にチェックボックスを入れたのですが、一個にチェック付けると全部についてしまいます(>_<)目的としては、実際に存在しないパーツ名や、材料が間違っているものの行を赤くし、ここがおかしいよって目立たせ、チェックボックスにチェック付けて、削除ボタンを付けて、削除したいってのが目標です。えぇっと、その前に新たなる問題が出てしまいました(>_<)そのパーツ名を調べに行く場所なんですが、例えばAフォルダの中に1~100までの子フォルダがあって、その1~100の中にそれぞれパーツ名ってフォルダを持っていて、その中にあるんです(>_<)で、パーツ名指定だけでは、Aの何番のフォルダの中にあるかはわかりません。こういう場合って、読み込むことは可能なんでしょうか?僕にとってはかなりハードです(>_<)

  • 50100
  • ベストアンサー率28% (99/351)
回答No.1

DataGrid(VB6付属のコントロール)を使用すると最も簡単に作成できるでしょう。 詳しい作成方法については以下のURLなどを参考にしてみてください。

参考URL:
http://www.int21.co.jp/pcdn/vb/
satoshi777
質問者

補足

ありがとうございます。しかし、DataGridとはVB.NETだけのものなのでは!?VB6なんですけど、DataGridってどこかに隠れているんでしょうか??超初心者意見でごめんなさい。しかし、わからないのです(>_<)

関連するQ&A

  • 再質問 コンボボックス リスト部分の残像

    3/4に質問したものと同一内容ですが、解答が付かず、また納期が迫りましたので、困り度を上げて再質問させて頂きます。  WinXP環境下でVB6sp5+Access2002で開発を行っています。 コンボボックスAで条件設定(確定はロストフォーカス/又はクリック)を行い、アクセスmdbから抽出した情報をコンボボックスBのアイテムへ取込んで表示をさせています。共にIntegralHeightはTureです。  複数回実行する時、コンボBの抽出結果リストが前回より少ない(リストの高さが低い)場合、余剰部分が画面上に空白のまま残ってしまう様です。  画面を「最小化」後、「元のサイズに戻す」等行えば消えます。…が、いかにも抜け道臭いので、解消方法を教えてください。

  • ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使っ

    ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使って登録 ACCESSのフォームを使ってデータ入力を作成しています、"顧客名"をコンボボックスを使って選択するようにしていますが。 リスト外の新規顧客を入力する際には別の"顧客登録"フォームが開いて、顧客情報(読み仮名、顧客名、都道府県コード、所在地)を入力して、閉じると登録した"顧客名"がコンボボックスから選択できるようにしたいと思い、マクロを使用して(VBはよくわからないので) イベント→リスト外入力時→”顧客登録”フォームが開く 必要事項を入力し、閉じるボタンをクリック。 してみたのですが、コンボボックスのリストに先に入力した新規データが出てきません。 何が足りないのかご教授お願いいたします

  • EXCEL リストボックスについて

    現在、エクセルであることをしようとしているのですが、どうやってやったらいいのかわからないので、ぜひ教えてください。 それと出来るかどうかも教えてください。 内容といたしましては、エクセルのシートの中にあるセルを選んだときにリストボックスを表示して、そのリストボックスにある内容を選んで確定するとその選んだ文字が入るようにしているのですが、入力規則からのリストボックスだとシート自体を小さくすると中の文字が見えなくなり、選びづらくなります。 そこで、コンボボックスで同じことをすると、文字のサイズが大きくなるのですが、印刷時に下向きの矢印も一緒に表示されてしまいます。 そこで、別の視点から考えて、セルを選んだ時にリストボックスみたいなユーザフォームをだし、そこで選んだ文字を選んだセルに表示すれば、印刷時に表示もしないし見た目も良くなると思うのですが、出来そうですか? 出来るのであれば、ぜひ教えてください。 出来れば、VBかVBAで出来るのか、教えてください。

  • リストボックスから選択したデーターの一つだけを取得する

    VB5.0を使っています。 WIN2000です。 MDBとVBを使っています。 まず、顧客ID・顧客氏名・電話番号  この3つが1つのデータとして横並びの文字列で、リストボックスに表示されてゆきます。 リストボックスに表示したデータを選択し、その選択したデータの”顧客ID”だけを取り出して同じフォーム内のテキストボックスにいったん出し、そこから別のフォームに飛んでその”顧客ID”を元にデータの詳細を出す、といったものを作っていますが、 今のわたしの書いてるコードだけでは、何番の顧客IDを出しても、 別のフォーム(契約入力)に行くときには同じ1番の人のデータ詳細しか出ません。 「リストボックスから選択したデーターの一つだけを取得する」 には、どのようなコードを書けばいいか、教えていただけないでしょうか・・。 リストボックス(List1)から選択してテキストボックス(Text5)に取得する際にはすでに”顧客ID”だけを取り出したいのです。 今のコードでは、顧客ID・顧客氏名・電話番号 とすべてテキストボックス(Text5)にでてきてしまいます。 Private Sub cmnd2_Click()’選択ボタンclickでリストボックスのデータを取得。 Dim ListIndex As Integer Dim SelectedIndex As Integer Text5.Text = List1.List(List1.ListIndex)'→ここでリストボックスからデータを取得しています。 End Sub

  • VB6.0 コンボBOXからのリスト表示について

    たとえば画面からの伝票入力処理などで... 「商品コード」の入力域を、コンボBOXにして、直接手入力でも、リストからの マウスクリック選択でも入力できるようにするとします。 この様な場合リストには、通常は「商品マスタ」の「商品コード」を、リスト表示 しますね。 実は今回、このリストにコードだけでなく横に並べて「商品名」も表示したいの です。もちろん「商品マスタ」に「商品名」を持っているものとします。 但し、もともとのコンボBOXの幅はコード文字数分のみとし、「商品名」分の 長さは、取っていないものとします。 以上、Accessでは標準機能で当たり前のように簡単にできる事ですが、 VB6.0ではどうなのでしょうか? 出来るのであれば、教えて下さい。

  • VB6 ファイルのリネームの仕方

    VB6で、ドライブリストボックス→ディレクトリリストボックス→ と順に選択していくとファイルリストボックスにファイルが見えるようになるのですが、 そのディレクトリにあるファイル名を全部テキストボックスに表示して、 ファイル名の変更をできるようにしたいのですが、どのように記述すればいいのでしょうか? 分かる方いましたらよろしくお願いします。

  • フォーム、サブフォーム間のデータ渡し

    いつもお世話になっております。 Form1で、いろんなデータを入力し、DBに登録するプログラムを作っています。 ある項目のみ、サブフォーム(Form2)を表示し、そこに選択の候補となるデータを表示しています。(リストボックス) そのリストボックス選択値を、Form1のテキストボックスに代入したいのですが、その方法がわかりません。 VB.NETのお詳しい方、よろしくお願いいたします。

  • accessでの画像表示

    Access初心者です。 知り合いに頼まれ、「お客さんの情報を選択すると、その人が買った商品の画像が表示される」というのを作ろうとしています。 データから検索して、リストボックスに「特定のお客さんが購入した商品を表示する」ところまではできたのですが、そこから画像を表示する方法がわかりません。 理想としては、リストボックス内の購入商品を選択すると、OLEオブジェクトのところに、リストボックス内で選択した商品の画像が表示されるというものです。 商品のデータテーブルに、画像のファイル名を入れて、mdbファイルと同じ階層にあるフォルダにjpg形式で商品画像を保存しておき、それを表示する。という感じでしたいです。 どんな風にやれば良いのでしょうか? 参考になるコードなどがあれば是非知りたいです。 それと、今回はAccessでやろうとしていますが、これってExcelでやった方が良いんでしょうか・・・?

  • 2つのテーブルのデータをそれぞれリストに表示して選択したい

    VB6で以下のようなプログラムを作っています。 Aテーブルのデータを一覧表示するリスト1とBテーブルのデータを表示する リスト2があって、リスト1で選んだデータとリスト2で選んだデータの 組み合わせによって、エクセルにデータを出力します。 ・MS-ACCESSのmdbのテーブルからデータを表示(DAOを使っているようです。) ・リストは表示のみ、入力はなし ・複数行選択あり ・初期表示時に、あらかじめあるデータを選択状態にして表示 ヘルプをあちこち見た結果、LISTVIEWが近いかなと思って、やってみている のですが、リスト1で選択しても、リスト2を選択すると、リスト1の反転 が消えてしまうんです。両方選択状態にしておきたいんですけど、LISTVIEW じゃできないんでしょうか?ただ、業務で作成されているコントロールなども 使っているので、その影響がないとも言えません。なので「できるはずだ!」 という回答でも構いません。 あと、リストに入力できてしまいます。選択はできるけど、入力は不可という 状態にできるのでしょうか? ヘルプをあちこち見てみたんですけど、ヘルプ自体がよくわからなくて。。。 アドバイスよろしくお願いします。

  • エクセルシートでVBAについての質問です。

    VBA初心者です。 エクセルのシート上にコンボボックスを配置してリストを選択すると同じシート上のセルに選択されたリストが表示されるようにしたいのですが、よくわかりません。 コンボボックスのオブジェクト名は名前ボックスに表示される名前でいいのでしょうか? 詳しい方ご教授お願いします。

専門家に質問してみよう