• ベストアンサー

VBはどのくらいで習得するものでしょうか

某化石言語を使ってましたが、仕事でVBをはじめて三ヶ月、やっとの思いで基本がわかって、データベースに接続できて、FTP、ActiveXを使う、テキストの加工・VBAはそこそこ、ができました。WindowsAPI、クラスモジュール、帳票印刷システムなどはまったくわかりません。 これって物覚えが遅い方でしょうか、毎日怒られてます。これから何を練習し、作れば技術が向上するんでしょう。 取り合えず、今依頼されたプログラムの半分はおれにはできないと投げ返していますし、いつクビになるか心配で、質問させてもらいました。 お願いいたします。

noname#147912
noname#147912

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

  • ベストアンサー
noname#221739
noname#221739
回答No.3

具体的にどんな言語で開発経験を積んだのかは不明ですが。 社内の“できる”若いスタッフと組んで、導師・弟子の関係を築くことができれば、上達が見込まれるか、と。 1. 渡された『製造用詳細設計』が、日本語として、すんなりと読解できない。or日本語は判るのだが、頭の中に、ビジュアルで、再現できない。   ←これは、詳細設計を担当した人の、資質に関係するのかな。    もしかしたら、UMLに則って、書き直してもらった方が、読解しやすいこともあるか、と。 2. 帳票印刷は、基本的に、言語に関係なく、↓のような処理フローを辿りますよね。   こういうのは、先達の“美しい”見本プログラムを解析して、それを模倣すれば良いように思います。  ・指示画面の画面項目の Validation。  ・それに入力された値を SELECT 文にはめ込んで、Query する。  ・0件だったり、そもそも接続できなければ、相応しいメッセージダイアログを表示する。  ・1件以上あれば、中間ワークテーブルに DELETE-INSERT する。  ・全てINSERTし切れば、必要に応じて、DBの関連テーブルの印刷済みフラグに、“このレコードは印刷済み”とフラグを立てるように、UPDATE を発行する。  ・(予め、帳票デザインを済ませた)帳票ファイルを表示するように Crystal Report なり Super Visual Formade 等の帳票エンジンをキックする。 3. Windows API。これは、う~ん。どうなんでしょ。   基本的に、社内共通部品・フレームワークを整備する立場なら、深い部分まで識るべきですが、そうでなければ、VB標準の関数と社内共通部品、で事足りるかと。 4. クラス/モジュール   暫く前から、オイラは VisualBasic .NET 2003 を使う機会が増えてきましたが、クラスを使う方が断然、組みやすいのだな。   この辺は、“UMLとセットで理解する、オブジェクト指向設計の神髄”“機能指向開発との対比で理解する、オブジェクト指向開発の神髄”ってなアプローチで、学ばれると良いかも。

その他の回答 (2)

回答No.2

ご使用になられているのが、VB6.0なのかVB.NETなのかわからないのでVB6.0でお話しします。  私は、30歳になってからようやくこの業界に入りました。 はじめて6ヶ月でようやくVBがわかるようになりました。 あなたがどれだけ勉強してらっしゃるのかわかりませんが、6ヶ月といっても会社だけでなく家に帰ってからでも、休日でも死にものぐるいで勉強をして習得しました。 WindowsAPIは使っていましたが、本当にわかるようになったのは、 1年後ぐらいじゃないでしょうかね。 クラスモジュールは、あまり使っていなかったので未だに使い方を知らないかもしれません。 (ちなみに.NETの場合は、基礎的なものは、1年ぐらいやってますがまだわかってないかもしれないです)  プログラミングの答えじゃないのですが、できないできないと思っていたらできないと思いますよ。  それとですが、あなたの場合、情報処理の基礎を勉強してないのではないかなと思われます。VBやC、Windwos、UNIX、何でも情報処理の基礎がわかっているとある程度勘が働くようになります。(ただし、資格試験の勉強ではなく理解をする勉強です)そこからスタートしてはどうですか?

回答No.1

個人差はあるとは思いますが、あなたの年齢は20代であれば、 「今依頼されたプログラムの半分はおれにはできないと投げ返しています」 はという対応はしない方がよいかと、、、 頭がまだ柔らかいと思いますので、調べながらでも完成をさせる努力をした方がよいと思います。 わたしも15年以上この業界におりますが、技術が日々進化するために、「習得」ということはなく、日々が勉強です。 ・WindowsAPI、クラスモジュール これらは、Cでの基本的なことを学んでいる機会に恵まれている人は、習得が早いです。確かにいきなり「やれ」と言われて、瞬時に理解できる人など、あまりいません。もしそういう人が周りにいるのであれば、その人が特別であって、あなたが特別に悪いわけではないと思います。 ・帳票印刷システム これはまた別のスキルだと思います。 私も帳票の雛形作成は今まで、1度しか経験していなく、あまりよくわかっていません。また、今までの業務でいろいろの人と出会い、帳票周りと画面周り専門という人もいました。 だからといって、やはりあなたの年齢と経験にもよると思いますが、一度は何でも経験をしておいた方がよいと思います。 「できない」から「やらない」では、スキルが伸びません。 そのスキルに直結するのが、年収です。 SEになるには、さまざまな知識が必要ですし、SE職にならなくとも、SEから設計の相談を受けるようなプログラマは、いろいろな経験を積んでいます。そういうプログラマは、右肩上がりの年収となっています。(社外出向者に多い、影のSEですね) あなたが伸びようとする努力を怠るのはいけないことと思いますが、そのように仕向けた、上の人間にも責任があるように思います。 それを理解したうえで、上を負かす知識を努力をし、今年の忘年会には間に合わないでしょうが、来年の忘年会という酒の場で、「おれは努力し、あんたよりできるようになった」と毒づくぐらいになれたらすごいことだと思いますよ。 あなたの発言は、多くの新人が感じることを代表して言っているようなものですし、特別の感情だとは思いません。同様な状況に置かれている人は多いと思います。 私は個人的に、この分野の職人職は 「まんべんなく業務を覚えたら面白い分野」 だと思っております。 もう少しだけ、がんばってみましょうよ。

関連するQ&A

  • VB6.0 VB.NET2003とのクラスの違い

    こんにちは VB6.0でデータベースのソフトを作成しています。 当初VB6.0はVB.NETと違い完全なオブジェクト指向言語ではないと聞いていたので、 フォームの画面ごとに検索、追加、更新、削除、入力チェック,印刷のコードを書いていこうとしました。 しかし、最近そうでもないことがわかりました。 そこで、画面ごとではなく機能ごとに検索、追加、更新、削除、入力チェック,印刷のクラスモジュールをつくり、 どこに何が書かれているかわかるようにコーディングしたいと思います。 VB.NET2003は学生のころやっていたのですが、VB6.0は最近やりだしたのでよくわかっていません。 VB6.0の入門書をみてもクラスについては2~3ページしか触れていません。 VB.NET2003にはできるがVB6.0にはできないクラスの大きな違いを教えてください。 いまのところコンストラクターとオーバーロードはできないということだけわかっています。

  • VBの将来性について

    エクセルスキルを向上させようと思い立っています。 そこで白羽の矢を立てるのがVBEです。 しかし、ネット情報をあさると、新しい言語(例えばpythonなど)が広まる中、VBAの存在感は薄れているようです。 エクセルでpythonが使えるようになるという記事も有りました。 このような状況下の中、今、VBを学ぶことは将来的に(飯の種になるかどうかという視点で)有用でしょうか? ご意見お待ちしております。

  • VB.NETからVBAマクロ(引数)を呼び出す方法

      VB.NETから参照型引数付きのFunctionのVBAマクロを呼び出す方法 Excel2003のVBEの標準モジュールModule1にあるFunctionのマクロtest(引数)をVB.NETから呼び出して、引数に設定した値をVBA側で加工して、加工された値をVB.NETで取り出したいのですが、VB.NET側でどのように記述してよいのかがよく分かりません。 具体的には、以下のVBAをVB.NETから呼び出すにはどのように記述すればよいのでしょうか。できましたらそのままVB.NETのConsoleApplicationのModule1のSub Main()の中にコピーペーストして動くコードと参照設定を教えていただけると助かります。 ---Excel2003のVBA(C:\test\Book1.xls)---------- Function test(ByRef data As Long) As Long  If data = 0 Then   test = 0   data = 0  Else   test = 1   data = 100 / data  End If End Function ---------------------------------------------- よろしくお願いします(WindowsXP,VisualStudio2010,Excel2003VBE)  

  • ウェブアプリケーション開発の定番は何ですか?

    データベースと連携したショッピングカートのウェブアプリを開発しようと思います。 自分は、今までウェブアプリを開発したことはなく、Access(VBA)とSQLServerによるデータベースシステムの開発経験しかありません。 VBの開発経験があるという事で、ASP.NETをVB.NETでプログラミングを考えましたが、VBとVB.NETは言語体系が異なるのと、またVB.NETが将来的に普及せず人気がなくなるか不安です・・・。 一番不安なのが、せっかく勉強して覚えた言語が、不安定だったり、あまり役に立たなかったり将来的に人気がなくなってしまう事です。 聞くところによると、JAVAとORACLEの組み合わせが定番というか需要が多いと聞きますがPHPもいいかなと思います。 以下の条件に当てはまるものでオススメの【開発言語】と【データベース】を教えてください。 ★OSはWINDOWS SERVERのみ。 ★開発言語は、とにかく将来的に人気がある言語がいいです。ただし、C言語は難しそうなので避けます。 ★データベースはSQL SERVERを使用。ただし、オラクルの方が将来性があってパフォーマンスもずっと良くて今後も人気があるということであればオラクルを選択します。 ★WEB SERVERはIISのみ。アパッチにGUIがあってマニュアル本も充実してて扱いが難しくないならアパッチを選択します。 また、VB2005というのは.NETの表示がありませんが、言語体系的にVB.NETの後継ではなくVB6の後継と考えていいのでしょうか? よろしくお願いします。

  • VBでデータベース構築

     このたび、配布型データベースを構築する事になり、質問させていただきます。  今まで私は、某カード型データベースソフトを使用しておりましたが、新たに新規から作り直すことになりました。システムが古くなり、近いうちに作り直さなければならない事、ソフトウエアに既存するシステムしか作れない事(使用環境としてそのソフトが入っていないといけない)などが原因です。  上記理由によりDB構築に使用するソフトを検討しているのですが、まずデータベースソフトということで真っ先に浮かんだのがAccessなのですが、配布型ということで目をつけたのがVBです。今までにテキスト加工ソフト等作成・配布でVBプログラムの経験はあります。  そこで質問なのですが、下記条件を満たすソフトとしてVBは妥当か等ご意見や、VBのこのバージョンで使用できるなどご助言を頂ければ幸いです。よろしくお願いします。 ●データ入力は親DBにて行い、定期的に不特定多数の子DBにテキストもしくはエクセル形式にてデータ配信を行う。 ●子DBはネットワーク内外を問わず、時にネット環境を持たない端末での使用も想定する。(その場合はデータの受け渡しはフロッピーなど記憶端末を使用する) ●子DB使用時に、このソフトが入っていないと動かないなど制限をつけない。 ●子DBにおいて、検索・抽出、一覧表作成、集計など一般的なDB機能をつける。 ●データ件数は何万件もある事を想定する。 ※ 現状環境としてはVB6.0 LE、Access2000がインストールされていますが、バージョンアップも視野に入れております。

  • WEBシステムに使用する際のC#とVB.net

    お世話になります。 VisualStudio2008を使用してASP.netでWEBシステムを構築しようと考えております。 しかし、ASP.netはC#言語かVB.net言語のソースを組み込むことができるらしく、 どちらを使おうか検討しております。 前述したとおり、今回作成するのはWEBシステムで、不特定多数の人間が操作する 可能性があり(大体100人前後。もっと増える可能性はあります。)、業務で使用する システムなので、データベースを検索しエクセル形式の帳票類を作成してクライアントマシン に提供する機能を実装する予定です。 私は、どちらの言語も文法が理解できる程度なので、どれを使うことになっても良いのですが、 レスポンス・汎用性・サーバ/クライアントで使用するときどうなる事が予想されるかなど、 色々な面で2つの言語を理解しておきたいと考えています。 ちなみに対象OSはWindowsXPとWindows7で、WEBブラウザはIE8です。 よろしければ皆様のご意見をお聞かせください。 よろしくお願いいたします。

  • プログラム言語を覚えるならどれか?

    プログラム言語を覚えるならどれか? 現在これが得意と言えるほどのプログラム言語がありません。 今後(10年くらい)、ある程度の期間に渡って使い続けるために プログラム言語を新たに覚えるとしたら、何が良いですか? 候補は以下のものを考えていますが、これ以外のものでも かまいません。 1:C# 2:SQL言語(いっぱいあるらしく、何が良いのかわかりません) 3:JAVA 4:VB (VB.NETとかの.NETって言うプログラムは覚えたほうが良いでしょうか?) できれば有名な参考書とかも教えてください。 なお、学生時代はUNIXのGCCを使用して簡単なプログラムを組んでいました。 今はACCESS(VBA含む)を用いてデータベースを作ることがあります。 社内SEの駆け出しです。

  • VisualBasicへの取っ付き辛さ。応援して下さい!

    漠然とした書き込みで申し訳ありません。 わたくしはAccessにて我流でVBAを使いまくっています(開発畑の人間ではありません)。 最初はAccessのカスタマイズで、必要あってVBAを学んだのですが、今に至ってはAccessは必要なくVBだけで済むようなものもわざわざAccessのVBAで作っています。 理由は自分でもよくわからない壁を感じるからVBを使う気になれないのです。ですので、利用者はAccessをインストールした人に限定されるわけで... これについて、皆さんの意見とか応援とかアドバイスがほしいです。 何なんでしょうかね。 クラスとかモジュールとか、宣言とか今まで意識していなかったことを学びなおすのにとてつもない壁を感じているのか。 データベースを扱うSQLもcsvファイル一つ読み込むのでも、Accessなら簡単にできるけど、VBだと凄い複雑な作業が必要そうで... VBAでしらべれば、コードはわかるんですが、VBとかVB.netで同じこと調べると、コードを見る気にもならない複雑さで抵抗感を感じます。 誰かこの謎を教えてください。 そして、乗り越えるアドバイスを頂けないでしょうか?

  • 帳票出力システム構築のためのプログラミング言語

    私はプログラミングはさわり程度しか知らない初心者なのですが、この度大学の授業で商品の受注システムを作ることになりました。 楽天みたいに顧客が注文を入力するのではなく、電話注文を受けたスタッフが帳票出力に使用するシステムです。 そこで、顧客の電話番号・住所をデータベース化して検索・追加できるようにしたいと思っているのですが、この場合プログラミング言語はVBとVBAどちらの方が適切でしょうか。 ・テキストボックスに電話番号を入力し、2回目以降の注文であれば住所のテキストボックスに以前登録された住所を反映する。 ・初めてならば手動で住所を入力してデータベースに追加 と言った単純なものを考えているのですが・・・。 よろしくお願いします。

  • EXCEL・ACCESSファイルをクラウド上で・・

    説明下手かもしれませんが EXCEL・ACCESSファイルをクラウド上で引き取り それをクラウド上で計算して PDFでダウンロードさせるプログラム言語は 何が良いのでしょうか? VB.NET?C#?それともJS?PYTHON? どの言語からやり始めればよいかわからないので どうかご教授よろしくお願いいたします。 ちょっとしたEXCELのVBAで自動化のプログラム作れたので それを発展させて商品化したいのですが。 管理権は自分にあるようなデータベースのサイトを作りたいのですが EXCELファイルACCESSファイルをWEBのデータベース上で計算し PDFで表記することでダウンロードだけ可能にすることはできるのでしょうか? どんな言語がお勧めですか? 支離滅裂な文章かもしれませんがよろしくお願いいたします。

専門家に質問してみよう