• ベストアンサー

TXTファイルをMDBファイルに取込みたい

VB6を勉強しながら、実際の実務に役立つVB6のプログラムを作ろうとしていた者です。 実際に、他の外部委託のシステムと一緒に社内ユーザーに渡すものなのです。 しかし、この10月から人事異動で他の部署に異動となり、1ヶ月掛けてゆっくりやろうと思っていたのものの、それでは引継ぎ者に迷惑を掛けてしまうことになります。 すみませんが、どなたか教えて下さい。 タイトル行の無い2項目程のTXTファイル(固定長)をMDBファイルのテーブルに取込みたいのです。 宜しくお願いします。

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

  • ベストアンサー
  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

参考URLのAccessサンプル2番目あたりがいいかも Accessでできているけど、VBに移植できます。

参考URL:
http://www.geocities.co.jp/SiliconValley-Cupertino/8157/
imachan_net
質問者

補足

ありがとうございます。 ACCESSでは出来ました。 もう少し頑張って、VBでやろうと思うので、 お付き合い頂けますか? どれ位いじれば、いけるのかがわからないですけど・・・ '*****起動時に各パス設定を行っています***** Private Sub Form_Load() 'アプリケーションパス Dim AppPath As String Dim CurrentDb As String '一時ワークの変数 Dim wkStr As String Dim wkVal As Variant '現在のDB名を得る wkStr = CurrentDb '現在のパスを得る wkVal = Split(wkStr, "\") wkVal(UBound(wkVal)) = "" AppPath = Join(wkVal, "\") With Me 'インポート元の固定長テキストファイル名 .txtTextName.Value = AppPath & "sk.txt" 'インポート先のMDB名 .txtMdbName.Value = AppPath & "skconv.mdb" 'インポート先のMDBのテーブル名 .txtTableName.Value = "品番対比" End With End Sub の.txtTextNameの所でコンパイルエラーになります。 それまでも2箇所エラーが出ましたが、 合ってるのかはわかりませんが、切り抜けました。 どうか宜しくお願いします。

その他の回答 (3)

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.4

付き合ってあげたいのは山々ですが、質問のレベルを掘り下げてくれないと、結局全部書くハメになりそうなので、ご勘弁。。。 質問のレベルが「教えて」の許容範囲を外れて、「作って」レベルに達しています。 やはり、手順を追って順次詳細な部分での質問をしていけば、できるとは思いますが。。。 厳しい事を言います。 発生しているエラーは決して難しい事は言っていません。 望む機能は、ここのHPの履歴に出ている技で絶対に解決できるレベルです。 引継ぎに間に合わないとかで、どうしても解決しなければいけないのであれば、学生バイトを雇って仕上げたほうが良いと思います。

imachan_net
質問者

お礼

どうもありがとうございました。 とりあえず、ACCESSので引継をしました。 これから、自分なりに勉強していきます。 忙しくて、ここになかなか来れなくて、 お礼が遅くなりました。

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.2

てっとり早いのは#1のとあわせて、VBでAccessコマンドを走らせる VBでアクセスを開く。 アクセスオブジェクトを変数に収める。 アクセスオブジェクト.DoCmd.TransferText acImportFixed ~~~~ って感じにする。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=37226 参考URLはフォームを開く例 《アクセスオブジェクト.DoCmd.OpenForm ~~~~》 それとも、完全にVB6でファイルを読み込み、MDBに書くのであれば、質問を細分化した方がよかいと。。。 一応簡単に、、、 テキストを読む (FREEFILEで検索したら、いっぱい履歴が出ます。) 必要であればバイト長で細分化 (http://oshiete1.goo.ne.jp/kotaeru.php3?q=172521) ACCESSに接続し、MDBに書き込む (http://oshiete1.goo.ne.jp/kotaeru.php3?q=896612) どこかでつまずいたら、再度質問してみては?

imachan_net
質問者

補足

有難うございます。 引継ぎ資料を作りながら・・・ いろいろと見させてもらいました。 でも、VB6のスキルの低い私には、 その関連具合がわからず、 まだ、各々(3つのステップ)の中で、 コーディングレベルでやるべきことが想定出来ません。 わかるひとには、わかっちゃうのかも知れませんが・・・ もう少し分かり易く教えてもらえないでしょうか? わがままを言ってすみません。

  • palmmy
  • ベストアンサー率38% (841/2169)
回答No.1

一度[ファイル]-[外部データの取り込み]-[インポート]で固定長のテキストを手動で取り込み、定義を作成。 あとは、VBAで DoCmd.TransferText acImportFixed, "定義で作った名前", "テーブル名", "C:\HOGEHOGE.TXT" でよいかと。

imachan_net
質問者

お礼

すみません。 ちんぷんかんぷんです。 ACCESSでの操作ですか? VB6で作りたいのですが・・・

関連するQ&A