• ベストアンサー

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

WinXPの環境で、VB6.0で作成したシステムがあります。(DBはACCESSです。) 現状、Win7では動作しているのですが、今後の事を考えると今のうちに作り直した方が良いと思っています。 そこで、質問させていただきたいのですが、 どのような言語で作り直すのが良いと思われますか? 一般的にはどうしているのでしょう。 システム自体は、ごく小規模なもので、複数のPCで受注の処理を行うようなものです。 開発用ソフトにあまり費用をかけなくて済むもの VB6とACCESSの経験しかなくてもなんとかなりそうなもの など、 教えていただけると助かります。 よろしくお願いいたします。

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

  • ベストアンサー
  • sppla
  • ベストアンサー率51% (185/360)
回答No.4

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のようなファイルコピーではないことにはお気を付けください。

rikapoi
質問者

お礼

的確な回答をありがとうございます。 >>私は質問文からは、Windowsが新しくなった時に今のシステムは動かないのでは?というのを気にされているように感じました。 その通りです。 何に作り変えておいたら(当面)安心なのか、 低コストで、スキル的に無理がないもの はたまた、 皆さんは何に作り変えているのだろう・・・こんな路線が多いと言うものがあれば、それにしようかな(手に負えるようなら覚えよう) と、言った考えでした。 ですから、提案してくださった Accessも納得! Visual Studio + SQL Server の方法も、無償のものがあるんだ! と、勉強になりました。 (VB.NETは、使いづらいと言う不評を聞いている所が不安ですが・・・) No2さんが記述してくださった C# と言うのも含めて、新しい事にチャレンジするつもりで、Visual Studio + SQL Server を勉強してみます。 (挫折したら、Accessで作ります! ・・・VBAなら大丈夫。) どうもありがとうございます。 大変、参考になりました。

その他の回答 (3)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.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だけが学ぶのが難しいとはいえないでしょうね。

rikapoi
質問者

お礼

丁寧な説明をありがとうございます。 どうやら、JAVAよりはマシな雰囲気がしてますが、 やはり一朝一夕には行かない感じですね。 (JAVAもこなせるなんて尊敬です。) >>まあ、考えてみればVBや、Cなども、仕事で使うことを通じて、それなりに使えるレベルに技術がアップした気がしますから・・・ おっしゃる通りですね。 私も、書籍を買ったりネットで調べたりして、納期と戦いながらプログラムを作ってきました! No1さんの教えてくださった方法と、C#と、両方とも調べてみます。 私も少しは前進しないとまずいですから。 ご教授くださって、ありがとうございました。 移行の方向性についての回答もさることながら、仕事への積極性にもとても感銘をうけました。 見習わなければ・・・。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

>>一般的にはどうしているのでしょう。 今後、開発をどうするか?という判断になると思います。 とりあえず現状維持でいいか、それとも、システムの機能をアップしたいとか、開発効率を上げたいと思うか? ではないでしょうか? 私の場合、「今後は、C#が良いのでは?」という判断でACCESS+VBAのソフトをC#&SQLServerで作り直しました。 結構、C#の勉強や、VisualStudioの変(バグ?)な動きで悩んだりしましたが、ワンランク上のシステムを作り易くなったような気がします。ただ、これは先行投資って感じで、その開発では金銭的利益は出ていないですね。 とはいえ、いつまでもVB6にしがみついていると、時代遅れのシステムしか作れなくなる気がしますからね。

rikapoi
質問者

お礼

まずは、 回答にお礼申し上げます。 そうですよね。 おっしゃること、ごもっともで、楽してなんとかしようと考えている自分には耳が痛いです! 年とともに、向上心が薄れ、新しい事を習得する根性がなくなっている自分がいます。 実は、JAVAにも取り組んでみた事はあるのですが・・・挫折。 (差し迫った要件でもなく勉強レベルだったのが敗因かもしれませんが。。。と思いたい。) C#は、JAVAと比較すると、取っ付きやすさから言ったら、どうなんですか? lv4uさんが、JAVAでなくC#を選んだ理由など、参考に聞かせていただけると嬉しいです。

  • sppla
  • ベストアンサー率51% (185/360)
回答No.1

現状で機能等は問題ないということでしたら、AccessもVBAが使えますから、Accessだけで作ってみたらどうでしょうか? ただ、主目的が今後動作しないかもしれないことを懸念されているのでしたら、今の時点では何で作れば大丈夫とは言いにくいとも思います。(つまり新OSが出てから考えるのもありという意味です) また、無償ツールということなら、Visual Studio、SQL ServerにはExpress Editionという無償番がありますのでそれを使ってもいいかもしれません。

rikapoi
質問者

お礼

回答をありがとうございます。 やはり、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で使用しているような普通の機能は大丈夫なのでしょうか? まだ、ネットでちらっと見てみただけなので、もう少し研究してみようと思います。 参考になりました。 ありがとうございます。

関連するQ&A

  • VBの不安点

    こんにちは。 4拠点計500ユーザ規模のシステム構築(ホストの焼き直し)を考えています。 上司から開発言語にVB(.NET)を提案されたのですが、元々ホストがCOBOLなので、PC版のCOBOLでやればバッチ処理もカバー出来、資産の流用もある程度は可能かと私は考えております(PC版のCOBOLはこれ以上の規模で数年開発をやっておりました)。 そこで皆さんにご質問させていただきたいのですが、VBでこの規模のシステム開発は可能なのでしょうか?私はVBだと小さなものしか作ったことがなく、不安です。 Windows、Office、Ie等、別製品のバージョンに依存したりして動作しなくなるといったことはあるのでしょうか? どなたか経験ある方、回答をお願いします。

  • システム移行開発をしたいのですが・・

    現在というか、いまだにGUIではないコマンドライン入力のDOSでBASIC言語(コンパイルしてEXEプログラム使用)のシステム運用をしています。 ついにハード面での限界が来たので移行を考えています。 そこで新PCのOS・開発言語・DBを検討しているのですが、皆様のご意見等をお聞きしたいと思ったのですが、いかがでしょうか。 システムの概略・条件等は以下の通りです。 1)プログラム数200本位(サブルーチン含む) 2)スタンドアローン 3)画面入力処理は1・2本しかありません。ほとんどがいわゆるバッチ計算処理です。 4)ファイルはテキスト形式、一部一時的に索引ファイルを作成・使用しています。 5)一回の処理件数は1万~20万件。 6)売上・経理・在庫の様な日々のデータの蓄積は無く、一回の処理で完了します。   但し、正しい結果が出るまで何度も繰返し行います。 7)DBは現在は使用していませんが、今回使えるならば使っていこうと思っています。 8)印刷物はほとんどが表形式。現在印刷制御も全てBASICプログラムでやっています(罫線、字体、字の向き等)。なお印刷物は今回Excelでやろうと考えています。 現在の私の状況は以下の通りです。 1)経験OS:汎用機、オフコン、Windows 2)経験言語:アセンブラ、COBOL、VB5.0 3)経験DB:ACCESS 4)移行作業は全て私が行います。 5)想定OS:WindowsXP、LINUX 6)想定言語:VB6.0、VB.NET、VC++6.0、VC++.NET、VC#.NET、JAVA   (言語の選択に非常に迷っています!) 以上、いかがでしょう。 システムの条件等で判らない事があれば書いて下さい。 できる限りお答えします。 よろしくお願いします。

  • 小さなシステムを構築する方法

    何百万が使うような大規模なシステムばかり経験して来ましたが、今ほんとに駄菓子屋のおばちゃんが使うようなどうでもいい、小さなシステムを頼まれて作ろうとしています。 エクセル版の試作品は、相手がAccessとExcelすら持ってなくて却下、VB6.0で試作品を作ったんですが、仕様の古さやVistaでの未対応問題で頭を抱えてます。VB2005は使いづらくて、今奮闘中です 大規模では、Cobol+Oracle+JP1ばかりで、小規模では言語・DB・帳票など、何を使いますか?そもそもデータ量が30行くらいで、DBを使う必要あるかなと。ほんとに小さなシステムで、帳票はどうするのみたいな・・・まったく見当がつかなくて。よろしくお願いいたします。

  • VB6.0からVB.NETへ移行する利点

    VB6.0は何年か開発してきたのですが、VB.NETは開発経験はほとんどなく、ネットなどで見聞きした程度しか知識はありません。 現在、人事の社内システムがあるのですが、そのシステムがその部長さんが趣味がプログラミングで、それが高じて何年もご自分でVB6.0で開発したものをずっと使っているんです。確かに、色々勉強して作ってあるだけあって、すごいんですが、社内開発でその部長さんしかシステムの仕様を知らないということが問題になってきて、外部に発注して新たにシステムを開発してもらうか、私が所属している情報システム部で開発する、ということになりました。 私としては、VB.NETで開発をしようと思ったんですが、その人事の部長さん(趣味:プログラミング)から「.NETだと遅いからよくない。」とか言われてしまいました。 私からすると、その部長さんが自分がVB6.0でしか開発したことがなくて、VB.NETだと自分がかかわれなくなるのがいやなのかなぁ。と思ってしまっています。 VB6.0はもう販売も中止されていて、今後開発しようにも、社内にはライセンスが2つしかなく、規模的にも2つじゃ足りないし、その点を進言したのですが、「使うのはうちの部署だから、今より遅いのは嫌だ」と言われてしまいました。 なんとか部長を説得したいのですが、毎月山のように雑誌や書籍を買いあさり、相当勉強もしているみたいなので、私にはとても説得できる材料がありません。 私もVB6.0で進めていった方がいいのかなぁ、と悩み始めています。 やはりVB6.0の方がいいんでしょうか? 色々アドバイスいただけると幸いです。

  • VB6かVB.netか

    初歩的なことですが教えて下さい。 現在、VB6(SP5)で開発したアプリ(製品)があります。これはJet(Access2000)を使用したDBや自作のActiveXを使用して構築されております。今度この製品の改良を行う予定で、新規開発(但し使えるものは流用したい)を考えています。ここで使用する開発言語をVB6かVB.netのどちらにするべきか悩んでいます。世の中の流れが.netに進んでいる為.netで開発した方が良いとも思いますし、その反面VB6で開発したアプリが今後発売されるOSなどの環境で使用できなくならないのであれば使い慣れたVB6にしようかなとも思っていいます。何か良きアドバイスなどあれば教えて下さい。

  • VB6の移行

    情シスとしてシステム会社から最近中途入社しました。 年配の担当者が内作して色々とプログラムを作っていますが、未だVB6で作っています。 今更VB?という感じですが、win7でもwin10でも動作するので、イマイチ.NETに替えるメリットが見出だせません。 結構そういう会社多いような気がするんですが、皆さんどういう対応してますか? ご意見ください。

  • access → Oracleへのデータ移行(VB.NETで)

    お知恵を貸してください。 ただ今、VB.NETでアクセスで開発されたアプリケーションを、 VB.NETに移行する開発をしているのですが、その中で、 現在のDBはアクセス、移行後のDBはオラクル10gなんですが、 何か良い移行方法は無いでしょうか? ちなみに、テーブル名、レコード名は変更しますので、そのまま移行ではありません。 私が考えているのは、アクセスのデータをエクセルにコピペし、 それを.NETで読み込んでテープルに入れて1レコードずつ オラクルに書き込んで行こうと考えております。 しかし、上記の方法でエクセルの読込方法が良く分かりません。 一旦、エクセルに取込む方法の場合の読込方法を教えてください。 また、もっと効率の良い方法をご存知でしたら教えてください。 開発環境は  OS : windows XP Pro 開発ソフト : VB.NET DB : Access 2003 SP2 DB : Oracle 10g です。なにぶん、VBでの開発経験が浅いので、 猿でも分かるように(W)お教えいただけると幸いです。

  • 小規模なシステム開発(15万)を行う場合は、費用処理でしょうか?資産処

    小規模なシステム開発(15万)を行う場合は、費用処理でしょうか?資産処理でしょうか? 過去に1億円くらいかけて開発したシステムがあります。当然資産として扱っています。 そのシステムに対して小規模なシステムの改定を行うべく、15万円のシステム開発を行った場合、 この15万円は、費用処理でしょうか?資産処理でしょうか? 新規にシステム開発を行う場合、20万円未満の開発費用は会計上は費用扱いで良いと思いますが、 既に大規模なシステムがあり、そのシステムに改定をする場合の20万円未満の扱いについては 会計上費用にすべきか、資産にすべきかを教えてください。

  • VB6でSQLServerへADO接続するとOPENがすごく遅いんです。

    お世話になってます。 今、VB6.0で作成したシステム(ADOでACCESS2000に接続)をSQLServerに移行しています。 しかしDBの初回OPEN時に5秒くらいかかってしまいます。 原因を探しているのですが、どうしても見つかりません。 誰かご存知の方がいらっしゃいましたら、ご教示お願いします。 開発環境は以下の通りです。 OS:WindowsXP SP2 開発言語:VB6.0 SP5 データベース:SQLServer2005 ADO:ADO2.5

  • VB6で作成したMDBが開けない

    初めまして。初めて投稿します。 今までWINXPで動作していたシステム(開発言語:VB6.0 データベース:ACCESS・MDBファイル)を、XPが終了するのでWIN7に載せ替えをしたいのですがエラーが発生してできません。 何かいい対策方法があれば教えてください。 エラー内容:「ファイルxxxxは既に使用されているため、使用できませんでした」 エラー発生ポイントは、上記ファイルをプログラム内で作成してそのファイルを使用してグリッドを表示使用とした時に発生しているみたいです。 (作成コマンド:Set wkdb = hkws.CreateDatabase(TMP_DIR & "WKDB.MDB", dbLangJapanese)) フォルダはPGMが動作しているパソコン内で、ルートの直下に新規作成しています。 PGM終了させた後にACCESSで該当するファイルを開くと、エラーなく開くことができます。 パソコン環境:WIN7-Pro(SP1)32Bit VB:6.0