最近勉強を始めた初心者です。
以前最終的にテキストファイルに落とすデータベースをアクセスで作っていたのですが、うまくいかないためVBで作ろうと思うのですが、それは可能でしょうか?
毎月新しいデータを入れていって、入力が終わった時にテキストで出したいのです。
解説本を見ると、あらかじめあるデータをVBで表示するのはできるようですが、新しくテキストファイルを作るのは無理なように書いてある気がします。
全くの初心者なので、簡単な言葉で説明してください。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

Private Sub~自体が理解できない状態ですと、ちょっと難しいかもしれませんね。


初心者向けの参考書は読まれましたか?
サブプロシージャ(サブルーチン)の事や、変数の宣言などが理解できていないと
データの入出力はできないと思います
アドバイスとしては、一番やりたいことに近い操作の載っている参考書の
サンプルプログラムを書いて、実行させてみることです。
プログラムはVBに限らず、一定の法則で動いています。必要なコードを
記述せずには動きません。
ヘルプに書かれている言葉は難しいので、ぜひ参考書を読んでみてください。
私自身も独学で身につけました。頑張ってください!
    • good
    • 0
この回答へのお礼

ほんとの初心者向けの本を見ながら勉強中です。
もっと勉強して頑張ります。
本当にどうもありがとうございました。

お礼日時:2001/02/05 22:46

書いたファイルをまた読まないといけませんから、下記のような情報をいただけると、適切なアドバイスができるかと思います。



□読むときにファイルをどのようにOpenしているか
□命令は何をつかって読んでいるか
□可能なら、そのデータのファイルをメモ帳で開くとどのように見えるか(文字として読めるか、データとデータの間には、区切り文字があるか、あれば、その文字はなにか)

以上、補足お願いします。

この回答への補足

実は私の知識では、arataさんの質問の意味さえよくわかりません。
読む、というのはどういう意味ですか?実行させることですか?ファイルをVBで開くという意味ですか?それとも違う意味があるのでしょうか?
(3)データをファイルで開く、というのは4つできるファイルのどれを指すのでしょうか?ひとまず全部開いてみると、どれも文字として読めて、1文ごと改行されていました。
おそらく全く話にならないほど私は解っていません。もっとじっくり本を読んで勉強します。

補足日時:2001/02/04 21:51
    • good
    • 0

VBでのテキスト形式のデータ作成は



Open ファイル名 For Output As #1
Print #1, 変数名
Close #1

抜き出しは

Open ファイル名 For Input As #1
Line Input #1, 変数名 (Input #1, 変数名)
Close #1

これで通常のテキストデータの入出力はできます
データベースソフトでデータ形式のコンバートができるかと思います
その際カンマやスペースが入ってしまいますがそういったデータを使用する場合
Line Inputで取り込み、If~やWhileを使いカンマに出会ったら次のデータだと
認識させます

マイクロソフト社製品ならデータを共有できますが、バグもあるようです
私はデータベースをテキストファイルで管理しています。
その際の利点は、修正などがエディターで簡単にできます。
大きなデータを扱う前に一つずつサンプルプログラムを作って、動作確認をすると
わかりやすいかと思います
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。
書いていただいたコードを入力してみましたが、うまくいきませんでした。
何かを間違えているのだと思うのですが、今の私の知識ではどうしたらいいのかわかりません(すごく初歩的なことだと思うのですが、Private Sub・・・・という最初の行をどうしたらいいのかもわからないのです、上のコードの前にも要るんですよね?)。
ほんとに解らないので、おかしな事を書いてるかもしれませんが、もう1回本を読んでじっくり勉強しなおしてみます。すみませんでした。

お礼日時:2001/02/04 21:51

CSV形式(カンマ区切りのテキスト形式)で良ければ、


Accessのエクスポートから簡単に書き出しできますよ

Access97/2000でしたら、VBA(Accessでいうモジュール)でデータベースの内容を好きな形式でテキストファイルに書き出すことは可能です。
(WriteLineメゾットを調べてもらえば良いかと思います)

当然、Visual Basicでもテキストファイルの書き出しは可能です
(Print#、Write#、WriteLineなどをキーワードにして調べてもらえば良いかと思います)

VBAやVBを一から解説しようと思うと、それこそ本一冊という説明が必要になりますので、後はご自分で苦労して作られた方がご自分の為にもなりますし、ちゃんと覚えることも出来ると思います。
    • good
    • 0
この回答へのお礼

ひとまずできることが確認できて嬉しかったです。ありがとうございました。いろいろ試行錯誤してみようと思います。

お礼日時:2001/02/04 21:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QAccess97で作ったデータをWord97であらかじめ作成した表の該当部分に落としたい

こんにちは。Accessについての質問です。

Access97で作ったデータベースがあるのですが、
それをAccessのレポートに出すのではなく、
あらかじめ作ったWordの表(レポートのようにレイアウトしてあるもの)の
該当する部分へデータを選択してそれぞれ落としたいのです。
何か方法があるでしょうか。
よろしくお願いします。

Aベストアンサー

Wordのツールから
差込印刷ヘルパーでできませんか?

Qマクロで、数値データをテキストデータにするには?

テーブルのあるフィールドを、テキストデータから数値データにデータ系列を変更したいのですが、それを「マクロで」実行したいんですが、できますでしょうか?
どうぞよろしくお願いいたします。m(__)m

Aベストアンサー

 マクロでなくとも、以下のようなクエリーを応用してはいかがでしょうか。なお、テーブルの更新は経験的に怖いので、別のテーブルで作業をやられるといいでしょう。

●「テーブル文字」のフィールド「文字」のデータを「テーブル数字」のフィールド「数字」に格納する。
 クエリーは以下のようになります(クエリーの画面を出せないので、SQLで記します。クエリーでSQL画面を表示して以下をコピーペーストするといいでしょう)。
 

INSERT INTO テーブル数字 ( 数字 )
SELECT テーブル文字.文字
FROM テーブル文字;

 さて、事前に、フィールド「文字」(文字型)のある「テーブル文字」とフィールド「数字」(数値型)のある「テーブル数字」を作ります。何かの数字を「テーブル文字」のフィールド「文字」に入れてクエリーを実行すると、自動で型変換され、テーブル数字に格納されます。なお、型変換ができないほど、数字とは似つかないデータの場合には、その行はエラーとなりnullかなにかが格納されると思います。

 オーム社のSQL Server 7 MSDE対応という本が、いろいろなSQLの例が出ていて便利です。Access97以降でならば使えると思います。

 マクロでなくとも、以下のようなクエリーを応用してはいかがでしょうか。なお、テーブルの更新は経験的に怖いので、別のテーブルで作業をやられるといいでしょう。

●「テーブル文字」のフィールド「文字」のデータを「テーブル数字」のフィールド「数字」に格納する。
 クエリーは以下のようになります(クエリーの画面を出せないので、SQLで記します。クエリーでSQL画面を表示して以下をコピーペーストするといいでしょう)。
 

INSERT INTO テーブル数字 ( 数字 )
SELECT テーブル文字.文字
FROM ...続きを読む

QCSVファイルを固定長のテキストファイルに変換する。

CSVファイルを固定長のテキストファイルに変換したいのですがEXCEL、ACCESSで変換してもノートパッドで見ると長さが換わっていたりします。
何か良い方法があったら教えてください。

Aベストアンサー

下記を参考にやって見てください。
エクセルのVBAで、下記を標準モジュールに貼りつけて、実行すれば出来ます。
項目数(フィールド数)が増えた場合どこを増やすか
判りますね。String * 7は桁長を指定してください。
文字列は左詰、数字は右詰にしてます。
MsgBoxの行は確認に使いました。
メモ帳で3項目の簡単な例を作り、テストして見てください。私がしたサンプル例
1,2,a
34,43,ccc
42,3,xcd
’---
Sub test02()
Dim x As String * 7
Dim y As String * 7
Dim z As String * 7
Open "c:\My documents\test3.csv" For Input As #1
Open "c:\My documents\test3.prn" For Output As #2
'-----
While EOF(1) = False
Line Input #1, s
a = Split(s, ",")
RSet x = a(0)
RSet y = a(1)
LSet z = a(2)
'MsgBox "=" & z & "="
u = x & y & z
' MsgBox "=" & u & "="
Print #2, u
Wend
'-----
Close #1
Close #2
End Sub

下記を参考にやって見てください。
エクセルのVBAで、下記を標準モジュールに貼りつけて、実行すれば出来ます。
項目数(フィールド数)が増えた場合どこを増やすか
判りますね。String * 7は桁長を指定してください。
文字列は左詰、数字は右詰にしてます。
MsgBoxの行は確認に使いました。
メモ帳で3項目の簡単な例を作り、テストして見てください。私がしたサンプル例
1,2,a
34,43,ccc
42,3,xcd
’---
Sub test02()
Dim x As String * 7
Dim y As String * 7
Dim z As String * 7
Open "c:\M...続きを読む

Qエクセルでテキストファイルからフォームのテキストボックスにテキスト挿入するマクロ

マクロでフォームのテキストボックスに直接テキストファイルからテキストを挿入したいのですが出来ますか?
opentextでエクセルシートに入れてからフォームにコピーすることはできたのですが、それだと重くなってしまうので直接取り込みたいんですがうまくいきません。
VBやJAVAのreadlineのようなものは使えないんでしょうか。

Aベストアンサー

>VBやJAVAのreadlineのようなものは使えないんでしょうか。

LineInput がありますよ。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_030.html
http://rd.search.goo.ne.jp/click?DEST=http%3A%2F%2Fofficetanaka.net%2Fexcel%2Fvba%2Fstatement%2FLineInput.htm&no=2

Q図の貼り付けデータからテキストデータを抽出できますか?

エクセルで"図の貼り付け"を使って貼られた画像データがあるのですが、
このデータからテキストとしてデータを抜き出すことは可能でしょうか?

画像データ自体はエクセルから貼られたもので、変形などしていないので、
何かよい方法があればお教えください!
お願いします。

Aベストアンサー

私もOCRソフトで文字認識させるしか思いつきませんが、
Office2003なら、Micrsoft Office Document Imagingに
OCR機能があるそうです。
Excelに貼ってあるという画像をコピーし、ペイントにでも
貼り付けしtifで保存、
Document Imagingで開いてツールからOCR、Wordへ転送
という手順です。
ちなみにOCRソフトは読んde!!ココとかe.Typistとかになります。


このカテゴリの人気Q&Aランキング

おすすめ情報