外部ファイルの保存と読み込み

タグの編集
投稿者 初心者βⅡ  (社会人) 投稿日時 2008/12/25 01:45:19
はじめまして。
パソコン歴5年程度のVB初心者です。
(BASICリファレンスを片手にちょこちょことした簡単プログラムが
作成できる程度のスキルで難しい事はできません)

今回、VBで作られたアンケートを答えていき
最後にボタンを押すとアンケート内容が保存され、かつ
過去に答えたアンケート内容がページ送りボタンを押すと
次々と現れるプログラムが作りたいです。

そして、目的のアンケート内容を見つけた時に
プリンターで出力したいのです。

(現在はアクセスというプログラムを利用していますが、利用者全員が
アクセスを入手しなくてはいけないのと不要な部分があるので使用したくない)

アンケートはチェックボックス、リストボックス、テキストボックス等があり
全てが事前に用意された項目だけでなくアンケートに答える人の
所感等がテキストで入力される仕組みです。

どういった手段を踏めばできるのか
是非教えてくださいませ。
よろしくお願いします。
投稿者 くりす  (社会人) 投稿日時 2008/12/25 02:51:58
最初に、お考えになったプログラムのレシピを日本語で小学生にもわかるように
箇条書きで書いていくことではないでしょうか?
投稿者 るしぇ  (社会人) 投稿日時 2008/12/25 03:10:18
質問で出てるのはユーザ視点の用件定義であって、
このままだといわゆる丸投げです。プログラマを雇って作ってもらって
くださいってなっちゃうなぁ。

自分でプログラムを作るために必要なことを考えて、具体的な処理内容を
決めないといけませんね。。。
必要な処理を箇条書きするのは良い案だと思います。

まずは保存処理があるので、保存の形式とか、どこに保存するとかを決めてみては?
投稿者 レオ♪  (小学生) 投稿日時 2008/12/25 12:51:12
レオ&刑事のデカメロンです。
VisualBasicは5月から始めました。
経験値は8カ月ですかねぇ(笑)
5年?。。であれば、この程度のプログラムは屁のカッパかと。
リストBoxとテキストファイルの追加だけで作れますよ。
勉強法としては、たくさんの本を購入することを推奨します。
インターネットで調べてから、書店で予約して買うか、直接ネットで買うか。ですね。
本は低額ですから、おしまずに。
一つの本で壁にぶつかっても2冊目、3冊目でクリアできる場合もあります。
今回の質問レベルは、簡単なので、本をたくさん買うことで理解できると思います。
本は初心者用ですが、基本を覚えないと、VBヘルプも読めません。
投稿者 私もまだまだ初心者C  (社会人) 投稿日時 2008/12/25 18:01:49
比較的簡単なサンプル集を購入して、実際に打ち込んでいるうちに
作りたいものがひらめいたりすることもあります。
投稿者   (社会人) 投稿日時 2008/12/25 18:25:20
>どういった手段を踏めばできるのか
>是非教えてくださいませ。

まずどういった手段を思いついているのか書いてみよう。
それに対して回答があるかもしれない。
投稿者 初心者βⅡ  (社会人) 投稿日時 2008/12/25 18:50:25
お返事ありがとうございます。

パソコン歴は5年ですがVBは触ったばかりでいまいち良く分かってません。
ヘルプの解説も玄人相手の表現に思えて言葉の一つ一つが意味不明でどうしても
疑問に対しての回答に導く技術が私にはありません。

有る程度のニュアンスと、命令の持っている言葉と文法例で「!」と感じる事を
おさらいして「なるほどこう動くのか」と納得と感動を繰り返すような勉強法を
取っています。

このような少しかじっただけの人間が質問するべきなのかはお許し頂くとして
自分が今、一番知りたい事を記載させて頂きます。
------------------------------------
1:任意で書き込めるテキストBOXや候補から抜粋するリストBOXが有る窓が表示されます
2:それぞれのテキスト入力やリストを選択します
3:最後に終了のボタンを押します
4:入力した事がドコか(?)に保存されます
5:後日、その保存された内容が閲覧できる
6:目的の情報があればそれを印刷する
------------------------------------
上記が仕事としての流れです

1~3までは自分で作れると思います
問題は4の保存ですが、これは別ファイル(例えばテキストファイル)に書き込みイメージですか?
それともODBCやサーバーアクセス関連の知識が必要でしょうか?
それが分かれば5の問題も逆のリファレンスで辿れそうですが・・・・
6に関しては何かのプログラムでレイアウトを組んでから印刷となるのでしょうか?
それともVBが何らかの印刷ロジックを持っているのでしょうか。

ちなみにヒントを頂けるだけで十分です、こうした掲示板では上から視点の方が多く
答えをまるまる頂こうとも思ってません。
板独自のルールとかお持ちの様子なので質問もどこまで聞けばわからなかったので
とりあえずは概略を記載させて頂きました。

上記が仮に私にできる程度の内容であるのなら
勉強するべき命令文かそれらが記載されたお勧めの手引書をご紹介下さい。
できれば年内に購入し旅先の空いた時間を利用し勉強したいのですが・・・・

よろしくお願いします



投稿者   (社会人) 投稿日時 2008/12/25 21:27:22
おしい!どのバージョンのVBで作るのかも書いてたらもっとよかったのに。

まあ今さらVB6の可能性も低いと思うのでVB2005 or 2008と思って書く。

4に関しては個々のファイルに保存しても構わないけど、いろいろ面倒くさい。
なのでデータベースをお勧めする。
現在Microsoft Accessを使用しているということなので、単純なデータベースファイルとして
配布するなら利用者がMicrosoft Accessを入手しなくても使用できる。
その他にもSQLServer Express Editionとかもある。
この辺の利用方法が分かると必然的に5も解決される。

6に関してはサードパーティ製のものをお勧めする。
(クリスタルレポート、アクティブレポートなど)
.NET Framework自体にも印刷する機能はあるけど、結構面倒くさいらしい。


いくつかキーワードをちりばめてみた。
書籍の方はこのキーワードを元に探してみて。
読まないから何も勧められないしw
投稿者 るしぇ  (社会人) 投稿日時 2008/12/25 21:37:03
> 配布するなら利用者がMicrosoft Accessを入手しなくても使用できる。
ライセンスは問題ないものなの???
投稿者 るきお  (社会人) 投稿日時 2008/12/25 22:02:02
>> 配布するなら利用者がMicrosoft Accessを入手しなくても使用できる。
>ライセンスは問題ないものなの???
はい。問題ないのです。

便宜上、拡張子がmdbのデータベースファイルのことを人は「Access」と呼ぶことが多いですが、
本当はAccessとはデータベースアプリケーションを作るアプリケーションの名前で、
このアプリケーションを利用するのであれば当然ライセンスは必要です。

しかし、拡張子がmdbのデータベースファイルをプログラムから直接利用するだけなら
Accessを使用しないのでライセンスが要りません。

これはExcelも同じで、xlsファイルをADOなどから直接編集するのであれば
Excelのライセンスはいらないのです。
投稿者   (社会人) 投稿日時 2008/12/25 22:06:08
>ライセンスは問題ないものなの???

ファイル(.mdb)の配布だけなら問題ないはずだよ。
AccessのUIを使って開けないだけ。
データの読み書きはADO(.NET)とかがあるわけだし。
投稿者 るしぇ  (社会人) 投稿日時 2008/12/25 22:22:36
なるほど。
>(現在はアクセスというプログラムを利用していますが、利用者全員が
>アクセスを入手しなくてはいけないのと不要な部分があるので使用したくない)
質問者の前提が半分崩れちゃったわけか。
ランタイムくらいは知ってたけどファイルだけ配ったことは無かったなー。
http://www.naboki.net/access/heaven/heaven_01.html

ちなみに
> こうした掲示板では上から視点の方が多く
この表現は事実でしょうが、ボクを含め上から視点の人を敵にまわすでしょうね。
プログラミングは専門的なスキルであって基礎的な知識は自分で身につけるもの
という考え方が根底にあります。ボクはそのためにお金を出して学校に行きました。
そんなボクの目に『医学書の1冊も読まないで手術しようとか言ってる医者の卵』
に見えるような人と、同じ目線で話す道理がありません。
※実際には人の命が掛かってる訳ではないので、そこまでひどくはありませんが、
 場合によっては PC の命を左右したり金銭的な大損害を引き起こすことはあります。

ただし、それはボクの価値観であり、このサイトの方針とは違います。
で、こちらもある程度は妥協してますが、やっぱり言葉の節々に棘はあるでしょう。
茶々しか入れませんので他の人がんばれw
投稿者 るきお  (社会人) 投稿日時 2008/12/25 22:31:49
>問題は4の保存ですが、これは別ファイル(例えばテキストファイル)に書き込みイメージですか?
>それともODBCやサーバーアクセス関連の知識が必要でしょうか?
データ量と、後日どのような形式で見たいかによります。

データ量が少なく、集計や統計といった操作も単純なものでよいならば、
テキストファイル等を利用すればよく、VB標準の機能で可能です。
入門レベルの書籍でもファイル入出力として扱っていると思いますし、
MSDNライブラリを参考にするのであればSystem.IO名前空間以下、特にStreamWriterクラスあたりの知識があればなんと中ると思います。

データ量が多かったり、複雑な集計を処理するのであれば、
既出のmdbやSQL Server Expressを使ってデータベースとした方がよいでしょう。
現在ではSQL Server Expressの方が情報も手に入りやすいように思います。
MSのMSDNサイトからたどれば情報源やチュートリアルのようなものもあったのではないかと思います。

VBのデータベースアプリケーションの入門レベルの書籍を探してもいいかもしれません。
投稿者 santa  (社会人) 投稿日時 2008/12/26 00:49:39
ここで質問されたのが間違いだと思います。
VBの掲示板はこういう人間ばかりです。
他の言語(CやDelphiなど)の掲示板などにこういう人はほとんどいないです。
たぶんVBのプログラマは会社では低い仕事しか回ってこないので、同僚の別の言語のプログラマに対していつも劣等感を感じているので、そのストレスをこういった掲示板で発散しているだと思います。

「おしえてBP!」 を利用されることをお勧めします。(「OKWave」と同じものですが「OKWave」に比べて表示が速い。)
http://oshiete.nikkeibp.co.jp/205/221/c257.html

ここは登録制なのでそういう人間は来ないので、快適に利用できます。
投稿者 るしぇ  (社会人) 投稿日時 2008/12/26 01:21:08
ごめん。ボク普通にCできる。。。VC6とかからやってる
Cこそ勉強しなきゃできない言語だから、こっちから文句言わなくても
自分で調べる下地ができてるだけ。
投稿者 レオ♪  (小学生) 投稿日時 2008/12/26 01:30:29
santaさんこそ、バグ鳥専門の下っ端じゃないの?(笑)
趣味の人は、ほとんどBasicですよwww
投稿者 初心者βⅡ  (社会人) 投稿日時 2008/12/26 01:33:04
多くの皆さんからお返事を頂き有難うございました。
VB自体の本って出てるのですね。
(てっきり言語専門の書物だと思ってました。今からビックカメラに買いに行きたいと思います)

あと、私が愚痴を言ったばかりに変な書き込みまで現われてしまいすみません。
あくまでどういう質問をすれば受け入れて頂けるか分からなかったのであんな書き方をしてしまいました。

学校で勉強された方にも失礼しました。
我々PCに中々縁の無い事務職サラリーマンでも何か作りだす創意工夫する良いチャンスかと
思い手だししてしまった次第です。
確かに医学の勉強をしてない分際の人間がメスを握るような行為はナンセンスでした。

PCが高スペックになり自由度も上がりついついプログラムに興味を持ってしまい
自分で作った何かを誰かが便利に使うという事が嬉しくて出しゃばったような事になりました。
今後、質問は控えるようにしたいと思いますので趣味程度で利用運営できる手引書タイトル等が
あれば是非ご指導願いたく思います。
(まさかそれまでは制限されませんよね?。それとも素人立ち入り禁止域でしょうか)

今からビックカメラ行ってきます。


投稿者   (社会人) 投稿日時 2008/12/26 01:33:20
>VBの掲示板はこういう人間ばかりです。
>他の言語(CやDelphiなど)の掲示板などにこういう人はほとんどいないです。

どこでも一緒だと思うよ。

>たぶんVBのプログラマは会社では低い仕事しか回ってこないので、同僚の別の言語のプログラマに対していつも劣等感を感じているので、そのストレスをこういった掲示板で発散しているだと思います。

あなたのことですね、分かります。

>ここは登録制なのでそういう人間は来ないので、快適に利用できます。 

だからどk(ry



ちなみに初心者(笑)程度ならC、C++、C#、Java、COBOL辺りができるかな。



スレ主へ:
上から視点に見えるのはしょうがないと思うよ。
どうしても「教える人>教わる人」が成立すると思うし。
ただ、必要以上に自分を卑下しなくてもいいと思う。

ただ、質問の仕方で相手の対応が変わるのも事実。
最初の書き込みで、2回目の1~6が書かれていたらまた対応が違ったかな。

・どこまでは分かる。
・どこからが分からない。
・こういうことをしたいけどこうやってもできない。
等々の細かい情報を最初から出してってこと。
細かいことが書かれてないと、「分かりません」と書かれても何が分からないのかも分からないし。

で、こういうところで回答している人は、質問の内容でその人のやる気を判断してる。
自分で頑張ろうとしているのか、それとも丸投げなのか。
実際に自分がしたの人間にそんな質問されてみ?
ある程度態度が変わると思うよ?

やる気の見える人への回答は厳しくともやさしさが見えると思う。
やる気の見えない人への回答は厳しさだけ。
投稿者   (社会人) 投稿日時 2008/12/26 01:38:40
入れ違いw


質問するなとは誰も言わないと思うよ。
質問の仕方は注意すると思うけど。


本に関してはやっぱ自分で探したほうがいいかなあ。
どういうのが分かりやすいかは人それぞれだし。
近くの書店で内容を立ち読みできるならなおさら。

後は、Amazonとかのレビューを参考にするぐらいかな。
投稿者 るしぇ  (社会人) 投稿日時 2008/12/26 04:21:05
事務職って他人の話を詳細まで聞かなくても成り立つ職業なのかな?。。。

ボクはボクがなぜ上から視点なのかを説明しただけで、
ボクはこのサイトの管理者でもなんでもない。
このサイトの方針はTOPページに書いてある。
>初心者 評価版を使っている人 小学生 中学生 高校生に優しいページを目指しています。 

ボクは気に入れば回答つけるし、気に入らなければ放置。それだけ。
それはボクの回答をあてにしなけりゃいいだけ。何の問題も無い。
制限なんてはじめから無い。

たとえ制限かけられたところで掲示板はここだけじゃない。
santa さんの言うことが本当かどうか試すのもいいと思う。
ポイント貯めて報酬があるようなサイトだと、確実に営業
スマイルで迎えてくれると思うよ。

それに上から視点の人からは回答もらえないの?そんなことも無い。
これまたボク理論だけど、媚びへつらってでも回答を引き出せば
勝ちだと思ってます。
ボクは自分を卑下してでも、それが回答につながるならつなげたもん
勝ちだとさえ思ってます。
santa さんみたいに確実に回答をもらえない書込みをするのは
実に不器用な生き方だと思います。
それはそれで上から視点のボクらと同類な感じw

もっと目の前にあるものをそのまま見たほうがいいよね。

ボクは具体的な書籍を紹介することはありません。
掲示板荒らしの宣伝書き込みと区別できないからです。
タイトルに『入門』と書いてある書籍を選んでください。
どの書籍も内容は50歩100歩です。

それよりも先にVBのバージョンをはっきりさせるべきでは?
VB6.0・VB.NET2003・VB2005・VB2008・・・色々あるよ?
内容は全然違うよ?基本構文は同じだけど。。。
そのへん、TOPページに全部説明あるよね?このサイト親切だからw
書籍の紹介もある。。。
読まないのまでは責任持てないです。読んできたら?
投稿者 初心者βⅡ  (社会人) 投稿日時 2008/12/26 05:28:33
ビックカメラ行ってきました。
すごく良い店員さんで詳しく話を聞いてくれて
簡単なコードを書いてくれました。
あと、エクセルとリンクさせて保存もできました。

本を見つけるのも手伝ってくださり超初心者用の本を薦められましたが
本当に判り易くいま、熱中モードです。

色々お手数をおかけしましたが全て解決です。
ありがとうございました。

投稿者 あにす  (社会人) 投稿日時 2008/12/26 06:12:41
コード書ける店員って…
投稿者 レオ♪  (小学生) 投稿日時 2008/12/26 13:22:48
santa君はなんのプロなんだろねwww
Basicと言っても、結構バカにならんのだが・・
BasicでどんなGameが作れるか?
何回も書いてるけど♪
標準Basicの低レベルで以下の物が1人で作れる。
日数的なもんは、多少かかる。
ドラゴンクエスト1~5
ファイナルファンタジー1~5
ぷよぷよ
ボンバーマン
テトリス
麻雀
将棋
オフラインの製品版が1人で作れます。
嘘ではないぞ。
この1人で作れるとゆう意味が理解できないsanta君は、すくなくともゲーマーではないなwww