• ベストアンサー

VB6について漠然とした質問なのですが、

こんにちは。よろしくお願いします。僕は、ほぼ素人なのですが、ひょんなことから会社でVB6を使用し、簡単なプログラムを作ることになりました。今までサンプルを見ていただけなので、何が出来て何が出来ないのかもわかりません。では、本題に入ります。あるテキストファイルから4番目に出てくる#(その時によって何行目かはわかりません)の文字の次の行の30番目から50番目までをテキストファイルの残り全てを読み込み(具体的には製品名です)、その読み込んだデータ(パーツ名)が今までに生産したことがあるかどうか判断させ(これはアクセスのデータと比べるようにしたいです)、生産したことがないパーツだけ印刷し、それをアクセスに追加書き込みしたいのです。できるものでしょうか?よろしくお願いします。

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

  • ベストアンサー
  • lord_chan
  • ベストアンサー率24% (20/82)
回答No.3

とりいそぎ open "c:\file1.txt" for input as #1 input #1, sFileStr 30番目から50番目まで: str = mid(文字列,何番目から,何文字) 具体的には dim str str = mid(sFileStr, 30, 20) MSDNライブラリみてください 詳細は後ほど

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

その他の回答 (2)

  • takasebou
  • ベストアンサー率42% (61/144)
回答No.2

可能か不可能かでいえば、可能です。 と、いうか。これくらいなら別にVB6を使ってアプリを作らなくても、アクセスだけでも可能です(VBAは使いますけど)。 テキストファイルをオープンしたり読み込んだりするのは Openステートメント等々(方法はいろいろあります)で可能です。 読み込んだデータに # があるかどうかを判断するには instrなど いくつかの関数やステートメントを覚える必要はありますが。 まったく知らない状況からですと、ちょっと大変かと思いますが、その辺は参考書でも読みながらがんばってください~。

satoshi777
質問者

お礼

難しいですね(>_<)

全文を見る
すると、全ての回答が全文表示されます。
  • SAY_MAN
  • ベストアンサー率41% (14/34)
回答No.1

こんにちわ。 出来るかとうかで答えると、出来ます。 VB6からファイル操作とAccessの操作、印刷もできますので可能かと思います。

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

関連するQ&A

  • VB6にて、”の文字を入力したいのですが。

    おはようございます。 早速ですが、教えてください。 VB6にて、テキストファイルの内容を変更しながらコピーしてます。 例えば、パーツ数=5ってのをパーツ数=8とかって感じで、 修正しながらコピーしてます。 しかし、パーツ名="テスト"というのを、変更したく、パーツ名=""テスト2""という感じにしたら、書き込みも行われません。ソースに"の数が変に増えたりもします。"のような文字の場合、何かルールというのがあるのでしょうか?プログラム初心者なんで、そんなことかと思われる質問かと思いますが、どうぞよろしくお願い致します。

  • VB6でデータの読み込みと追加、印刷がしたいのですが、

    おはようございます。 会社で使用しているキャドソフトが作成する、結果ファイルからパーツ名(複数有り)を読み込み、そのパーツ名が以前に生産したものなら印刷しない(これはアクセスで作ります)、新規のパーツ名なら印刷、新規のパーツ名は既存のデータベースに保存というのを作りたいのですが、以前質問したところ、下記のようなお助けを頂きました、ありがとうございました。非常にわかりやすく頭では理解できているのですが、ソースが書けません(>_<)なら、VBやるなよと怒られそうですが、なんせ始めて10日なんで、経験積ませてください<(_ _)>下記のものをソースにするとどうなるでしょうか?端的なヒントでもいいんでよろしくお願いします。 1.パーツ名をファイルから読み込み、保存する。 2.ACCESSから既存のパーツ名を全件読み込み、保存する。 3.1.と2.を比較する。 このとき、2.を配列でなくCollectionオブジェクトを使用するようにしておき、追加する時にパーツ名をキーとして使用する(セットする値は別に何でも良い。あるかないか判断できればOK)。 そうすれば Collection("ファイルから読み込んだパーツ名") としたとき、2.に無ければエラーとなるのでそれを利用する。 いちいち2.の全件を舐めてもいいけど、こっちのほうが件数が多くなれば多く なるほど速いはず(メモリは食いますが)。 4.2.にあるものは1.から除去する。 5.1.に残ったデータを全てInsertする。

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

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

  • MS Access と VB6

    現在、VB6とMSAccessを連動させたプログラムを作成し、 お客様のPCにて使っていただいているのですが、 VB6からAccessのテーブルに、 テキストファイルから取り込んだデータを書き込む際、 エラーコード3027と3343が起こったり、起こらなかったりとしています。 調べたところ、 3027は「データベースまたはオブジェクトは読み取り専用なので、更新できません。」 3343は「データベースの形式 <ファイル名> を認識できません。」 となっていたのですが、そのエラーは初めて書き込むときではなく、 テキストファイルからデータを読み込み、 何行か読み込んだ際に初めて出てきます。 テキストファイルは、外部ソフトからそのプログラムを使用して 取り込んでおり、取り込んですぐにデータベースに書き込んでいるのですが、 その際にエラーが起こることが多いようです。 ボタンにそのデータを取り込むだけの処理を入れ、 処理を走らせた場合はそのエラーは発生しません。 取り込み後、下記処理で書き込み処理へ向かっています。 ボタンに設置した処理は、下記処理で呼び出している AddUriageです。 Dim fso As New FileSystemObject If fso.FileExists(HtRecv & "Uriage.txt") Then     ErrMes = "Uriage"     Call AddUriage End If AddUriageだけ走らせればきちんと動くので、 AddUriageの処理は合っていると思います。 お客様のPCはWin XPです。 こうではないか、という曖昧な意見でもかまいません。 ご意見お待ちしております。

  • VB6側からテキストファイルをクリアにする方法

    VB6.0を使用しております。SP6です。 今現在、テキストファイルに書き込まれている10行ぐらいのデータを ListBox に読み込ませております。 そこで、困っている点が1点あります。 プログラムを終了した時点で、テキストファイルの内容を全て消去したいのですが、そのようなプログラムの作り方がわかりません。 そのようなことは可能ですか?

  • CSV形式で編集された項目をVBからEXCELシートへ編集し印刷

    CSV形式で編集したテキスト項目(7項目,300行)を、EXCELファイルへ編集し、印刷する方法を教えて下さい。(VBでEXCELシートへ編集し印刷したが、編集から印字までの処理時間が大きいため、帳票データをCSV形式化し、処理速度を高速化したい)簡単なサンプルがあれば助かります。 処理の概要は、以下の通り。 (1)VBで、CSV形式のテキストファイル作成後、 (2)VBからEXCELファイルを開いて (3)CSVのテキストファイルをEXCELシートへ編集 (4)VBから印刷プレビューを出し (5)印刷指示することで 全て、VBから制御する方法

  • VBAでの構築の質問

    VBAの初心者ですが、データの抽出をしたいと考えています。 フォルダの中に、複数のテキストファイル形式のデータがあり、 その中にあるファイル毎の一部データのみ抽出できないかと考えております。 元データ(1)(テキストファイル形式) 10行目にあるデータ A TOKYO 20行目にあるデータ 100 200 1000 2000 (データの間には、スペースがあります。) 元データ(2)(テキストファイル形式) 10行目にあるデータ B Fukuoka 20行目にあるデータ 300 400 3000 4000 (データの間には、スペースがあります。) 編集後のデータは、それぞれのテキストデータ ・10行目データの2番目の抽出 ・20行目データの2番目の抽出 ・20行目データの4番目の抽出 を抽出できないかと考えています。 編集後データ(エクセルファイル形式に出力)は、下記のような感じできないかと考えてます。     (A列) (B列) (1行目)TOKYO Fukuoka (2行目)200 400 (3行目)2000 4000 皆さんからのご回答、 よろしくお願いいたします。

  • VBの文法について質問です。

    Visual Basicのコードの文法がよく分かりません。 ネットや購入したテキストのサンプルコードを比較しても法則性のようなものがまったく見えてきません。 例えば Integer.Parse(Textbox.text) などの『.』での繋ぎにはどんな意味があるのでしょうか? 上のコードでは「型.関数.(変数)」といった感じですが e.Data.GetDataPresent(DataFormats.FileDrop) や Dim stbFiles As New System.Text.StringBuilder() での『e.』や『System.』の『.』の意味がよく分かりません。 おそらくVBに精通している方からすると 的外れな質問に見えるかもしれませんが VBにおける文法の法則性について教えて下さい。

  • HPのデーターをACCESSとVBで使用するには?

    教えていただきたいのですが、 ホームぺ?ジにあるソース(文字と数字混在)をテキストファイルに 貼付けて、そのデーターをACCESS2000のテーブルに取り込んで その取り入れたデーターをVB6で使用したいのですが。 隠しファイルがあるとか聞いた事があるので? スマートな方法を教えていただきたいと思います。 お願いいたします。

  • VBでCSVファイルを読み込む方法(最速方法は?)

    こんにちは。VB6.0(SP5)、Windows2000でVBの勉強をしています。 VBのテキストボックスに入力したデータをCSVファイルに保存する時、もうすでに登録されていたらエラーを出したいと思っています。 そこで、CSVファイルを読み込み、同じかどうか確認したいと思っていますが、どの方法で処理するのが早く効率的なのでしょうか。 ファイル形式・・・csvで50行×3列 ----------- aaa,1,2 bbb,3,4 ・・・50行程度のデータ ----------- テキストボックスに入力したデータ・・・例えば"ccc" 1.Open ファイル名 For Input As #fileNum でEOFまで読み、配列に入れ、その後1列目のデータが"ccc"かどうか確認する 2.Open ファイル名 For Input As #fileNum で読みながら、1列目のデータが"ccc"かどうか確認し、EOFまで繰り返す 3.DAOを利用し、SELECT文であるかないか確認する(DAO2.5) の3つの方法を試してみましたが、あるパソコンで行うとDAOが早いのに別のパソコンだとDAOが1番遅いなど、どれが効率的なのかよくわかりませんでした。 このような処理をしたい場合、みなさんはどのような方法で処理されますか? 上記以外の方法でも構いません。アドバイスよろしくお願いします。

このQ&Aのポイント
  • 写真の金具の名前が知りたいです。
  • 閉まる間際に優しく締まるイージークローサーの名称も知りたいです。
  • 建具の金具に関する疑問があります。
回答を見る

専門家に質問してみよう