こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VB6.0のシステムは何に移行するのが良いですか?

WinXPの環境で、VB6.0で作成したシステムがあります。(DBはACCESSです。)
現状、Win7では動作しているのですが、今後の事を考えると今のうちに作り直した方が良いと思っています。

そこで、質問させていただきたいのですが、
どのような言語で作り直すのが良いと思われますか?
一般的にはどうしているのでしょう。

システム自体は、ごく小規模なもので、複数のPCで受注の処理を行うようなものです。

開発用ソフトにあまり費用をかけなくて済むもの
VB6とACCESSの経験しかなくてもなんとかなりそうなもの
など、
教えていただけると助かります。
よろしくお願いいたします。

投稿日時 - 2011-10-24 16:07:24

QNo.7091604

困ってます

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

No1です。

私は質問文からは、Windowsが新しくなった時に今のシステムは動かないのでは?というのを気にされているように感じました。

Accessを提案した理由は下記の理由です。
・新しいWindowsでAccessが動くなら、Access上で作成したものもまず動くか簡易な修正で対応できる可能性は高い。
・AccessのVBAはVB6.0と基本的に同じなので、スキル的にも問題ない。

>Visual Studio 2010 Express(無償)でプログラミングして、
>DBには、SQL Server 2005 Express Edition とか
>     SQL Server 2008 Express
>を使用すると言う意味ですよね?
その通りです。時間に余裕があるならこれらを試してみたらどうか?というくらいの意味です。
ツール自体は無償ですから、だめだとなっても(時間は使っていますが)ツール代はかかりませんしね。

>Visual Studio 2010 Expressで、VB6で使用しているような普通の機能は大丈夫なのでしょうか?
現在のマイクロソフトの出しているWindowsでのメインの開発環境ですから問題ないと思います。
ただVB.NETはVB6.0とは結構違う言語です。

また、SQL Serverを使用する場合には、バックアップはAccessのようなファイルコピーではないことにはお気を付けください。

投稿日時 - 2011-10-25 22:11:30

お礼

的確な回答をありがとうございます。

>>私は質問文からは、Windowsが新しくなった時に今のシステムは動かないのでは?というのを気にされているように感じました。

その通りです。

何に作り変えておいたら(当面)安心なのか、
低コストで、スキル的に無理がないもの
はたまた、
皆さんは何に作り変えているのだろう・・・こんな路線が多いと言うものがあれば、それにしようかな(手に負えるようなら覚えよう)
と、言った考えでした。

ですから、提案してくださった Accessも納得!
Visual Studio + SQL Server の方法も、無償のものがあるんだ! と、勉強になりました。
(VB.NETは、使いづらいと言う不評を聞いている所が不安ですが・・・)

No2さんが記述してくださった C# と言うのも含めて、新しい事にチャレンジするつもりで、Visual Studio + SQL Server を勉強してみます。
(挫折したら、Accessで作ります! ・・・VBAなら大丈夫。)

どうもありがとうございます。
大変、参考になりました。

投稿日時 - 2011-10-26 00:09:36

ANo.4

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

>>C#は、JAVAと比較すると、取っ付きやすさから言ったら、どうなんですか?
>>lv4uさんが、JAVAでなくC#を選んだ理由など、参考に聞かせていただけると嬉しいです。

わたしの場合、仕事で何度かJavaのシステム開発を行ったのですが、そのたびごとに「もうJavaはまっぴらだ!」なんて感じてしまいましたね。なんというか、「屋根屋を重ねた環境」「設定ファイルの多さ」「漢字コード問題」「厳格すぎるルール」とか、まあ、イヤになる要素がイロイロありました。
たぶん、「クラスは世界の全ての問題を解決する!」という考え方の「クラス教信者」が言語を作っているからかも?なんて思っています。

その点、C#は、C++とJavaとRubyなどの言語のいいとこ取りをしたような言語で、なんというか変な堅苦しさのない言語ではないかと思えたのがC#を選んだ理由ですね。
もちろん、VB6やアクセスで開発している同僚のプログラマさんたちが、次のメインとする言語としての可能性が大きいだろうという理由もあります。(消去法で残った言語だという面もありますが・・・)
あと、「古くさいVB6での開発はもうイヤ!MSの新しい技術を使いたい」というのも理由ですね。

開発当初は、ソースコード管理としてTortoiseGitを初めて使ったため、ヘマしてソースが壊れたりとか、どのようにコーディングしていいかわからなかったりしました。

が、慣れてきて、ネットにあるコンポーネントをカスタマイズして使い、さらにC#の提供する標準のエラーメッセージ機能を活用すると、とても短いコードでプログラムが記述できるようになりました。
さらに、データベースの排他制御も自動生成されるADO.Netのコードをベースに作成すると、わりと簡単に記載できました。

VB6のプログラムでは、データベースを使うプログラムで延々と長いコードを記述していたのがバカバカしく感じましたね。

ただ、安上がりに学習しようとネットにある情報だけをたよるとか、書店の二千円前後の書籍では、どうもC#でデータベースを使いこなすのは無理な気がします。

ぶあつい「プログラミングADO.NET 2.0/日経BPソフトプレス(定価8,500円)」を読みこなす必要があると思えます。高度に便利な機能をC#やDotNetFrameworkが提供しているわけですので、やはりそれらを使いこなすには、それ相応の勉強が必要になるってことですね。


なお、Web関連がターゲットなら、「Ruby on Rails」での開発もお勧めだと思います。これもC#と同様に、フレームワークが提供されていて、コーディング量をすくなくしてWebシステムが開発できます。

ただし、これもネットや書店の本などだけを頼りに、趣味レベルで学ぼうとすると、なかなか難しい感じがします・・・。

まあ、考えてみればVBや、Cなども、仕事で使うことを通じて、それなりに使えるレベルに技術がアップした気がしますから、C#やRubyonRailsだけが学ぶのが難しいとはいえないでしょうね。

投稿日時 - 2011-10-25 22:02:33

お礼

丁寧な説明をありがとうございます。

どうやら、JAVAよりはマシな雰囲気がしてますが、
やはり一朝一夕には行かない感じですね。
(JAVAもこなせるなんて尊敬です。)

>>まあ、考えてみればVBや、Cなども、仕事で使うことを通じて、それなりに使えるレベルに技術がアップした気がしますから・・・

おっしゃる通りですね。
私も、書籍を買ったりネットで調べたりして、納期と戦いながらプログラムを作ってきました!

No1さんの教えてくださった方法と、C#と、両方とも調べてみます。
私も少しは前進しないとまずいですから。

ご教授くださって、ありがとうございました。
移行の方向性についての回答もさることながら、仕事への積極性にもとても感銘をうけました。
見習わなければ・・・。

投稿日時 - 2011-10-25 23:22:09

ANo.2

>>一般的にはどうしているのでしょう。

今後、開発をどうするか?という判断になると思います。
とりあえず現状維持でいいか、それとも、システムの機能をアップしたいとか、開発効率を上げたいと思うか?
ではないでしょうか?
私の場合、「今後は、C#が良いのでは?」という判断でACCESS+VBAのソフトをC#&SQLServerで作り直しました。

結構、C#の勉強や、VisualStudioの変(バグ?)な動きで悩んだりしましたが、ワンランク上のシステムを作り易くなったような気がします。ただ、これは先行投資って感じで、その開発では金銭的利益は出ていないですね。

とはいえ、いつまでもVB6にしがみついていると、時代遅れのシステムしか作れなくなる気がしますからね。

投稿日時 - 2011-10-25 12:32:15

お礼

まずは、
回答にお礼申し上げます。


そうですよね。
おっしゃること、ごもっともで、楽してなんとかしようと考えている自分には耳が痛いです!

年とともに、向上心が薄れ、新しい事を習得する根性がなくなっている自分がいます。

実は、JAVAにも取り組んでみた事はあるのですが・・・挫折。
(差し迫った要件でもなく勉強レベルだったのが敗因かもしれませんが。。。と思いたい。)

C#は、JAVAと比較すると、取っ付きやすさから言ったら、どうなんですか?
lv4uさんが、JAVAでなくC#を選んだ理由など、参考に聞かせていただけると嬉しいです。

投稿日時 - 2011-10-25 17:10:46

ANo.1

現状で機能等は問題ないということでしたら、AccessもVBAが使えますから、Accessだけで作ってみたらどうでしょうか?

ただ、主目的が今後動作しないかもしれないことを懸念されているのでしたら、今の時点では何で作れば大丈夫とは言いにくいとも思います。(つまり新OSが出てから考えるのもありという意味です)

また、無償ツールということなら、Visual Studio、SQL ServerにはExpress Editionという無償番がありますのでそれを使ってもいいかもしれません。

投稿日時 - 2011-10-24 21:10:34

お礼

回答をありがとうございます。

やはり、Accessで作ってしまうのがいいのかなぁ・・VBAならなんとかなるし。とも思いますが・・・。

参考にあげてくださった、Visual Studio、SQL ServerにはExpress Edition と言うのは、

Visual Studio 2010 Express(無償)でプログラミングして、
DBには、SQL Server 2005 Express Edition とか
     SQL Server 2008 Express
を使用すると言う意味ですよね?

Visual Studio 2010 Expressで、VB6で使用しているような普通の機能は大丈夫なのでしょうか?
まだ、ネットでちらっと見てみただけなので、もう少し研究してみようと思います。

参考になりました。
ありがとうございます。

投稿日時 - 2011-10-25 12:58:40

あなたにオススメの質問