• ベストアンサー
  • 困ってます

VBでSQL-serverをプログラムする

VBでmdbファイルを操作するプログラムを勉強していますが、データベースをサーバー管理するならば、AccessではなくSQL-serverなどを使った方が良いと聞きました。 質問なんですが、 SQL-serverには、Accessと同じようにユーザーフォームを使ってデータベースシステムを構築するような機能が付いているのでしょうか? そもそもOracle、dBase、SQL-serverといったデータベースソフトは、DBそのものを作成するソフトであって、DBシステムを構築するにはVBなどによるプログラム開発が必要なのでしょうか? 分かりにくい質問ですみません。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数778
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
noname#22222

Access.mdb は、基本的にスタンドアロンを想定。 SQL Server は、クライアント/サーバーソリューション向けの言語。 よって、サーバーを構築・管理する SQL Server xxxとクライアントアプリケーションを開発するツール群という関係が存在。 さて、SQL sever と親和性が高いフロントエンド開発ツールはAccessかと思います。 以下、この辺りの事情をまとめた文章を紹介しておきます。  「Access97以前のバージョンでは、データベースアクセスのプログラムにDAO(Data Access Object)が推奨されていたが、 Aceess 2000からは、ADO(ActiveX Data Object)が推奨されるようになった。これは、mdbデータベース、SQL Severともに対応し、一応はDAOとRDO(Remote Data Object)もサポートされているものの、今後の開発は基本的にADOに集約される。 ADOは、・・・適応領域がRDBMSだけでなく、さまざまなデータソースに対してOLE DB(Object Linking and Embedding DB)を経由してアクセスできる。今後の開発には、なるべくADOを利用すべきだろう。」(クボタシステム開発 河端善博氏)  「Aceess 2000から『Microsoft Accessプロジェクト』形式による保守が可能となりました。 Accessプロジェクトを使うとAceess 2000とSQL Server7.0の親和性をより向上させ、Accessデータベースを作る感覚でC/Sシステムの構築ができます。・・・Accessプロジェクトは、C/Sシステム構築の新たな開発環境として、大きな進化を遂げたのは確かです。今後にも大いに期待できるものであることは間違いありません。」(インフォネット開発 本田剛氏)  「Microsoft Office 2000/Visual Basic プログラマーズガイド」(以下、「Office 2000 ガイド」と略)をみて見ましょう。  「ADOは、各種データベースを利用できるように、Microsoftで新しく開発された上位レベルプログラミングインターフェースです。 ADOは、Microsoftの強力な最新のデータアクセステクノロジーであるOLE DBを利用するための、アプリケーションレベルの使いやすいプログラミングインターフェースとして設計されています。」(Office 2000 ガイド 622頁)  「Accessの以前のバージョンでは、SQL ServerなどのデータベースサーバーへリンクするためにODBCドライバを使用する、リンク付けされたテーブルが含まれた.mdbファイルを作成するというのが唯一のクライアント/サーバーソリューションの作成方法でした。・・・Aceess 2000では、・・・新しいファイル形式およびデータアクセス構造にも対応しており、jetデータベースエンジンを読み込むことなく、 OLE DBを介してSQL Server6.5またはSQL Server7.0に接続するクライアントアプリケーションを作成できます。それには、.adpの拡張子で保存するAccessプロジェクトファイルを作成します。 Accessプロジェクトでは、フォーム、レポート、マクロ、VBAモジュールをローカルでクライアントソリューションファイルに保存でき、 OLE DB接続を使用してSQL Server に保存されているテーブル、ビュー、リレーションシップ、ストアドプロシージャを表示し、またそれらを使用した作業を行います。そして、Accessデータベースでフォーム、レポート、マクロ、VBAモジュールを作成します。これにより、SQL Serverバックエンドに直接アクセスするクライアント/サーバーソリューションを素早く作成することができます。」(「Office 2000 ガイド」772頁)  このようにAceess 2000は、「SQL Serverバックエンドに直接アクセスするクライアント/サーバーソリューションを作成する環境を提供した」と見ることができます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ちょっと難しいです・・・。ですが、大体分かりました。SQLはAccessのようなスタンドアローンのDBソフトではないのですね。 ありがとうございました。

関連するQ&A

  • oracle,sql-server,DB2,フリーDB

    oracle 10g sql-server 2005 DB2 フリーDB(mysqlなど) はどれがいいでしょうか? 一応3年ぐらい前までは開発現場にいたので一通り知っています。 すべて経験ありますが管理はしたことはありません。 価格ならフリーが一番でしょう。信頼性で言うとoracle でもコストが高い。 MSとくっつくならsql-serverだと思うのですが。 まだ社内でどの程度の規模になるかも把握し切れていませんが、 やはり無難にoraが一番でしょうか?? 後々に業務システムの開発をします。 javaにするかVB,delphiなどにするかも決まってません。 DB2なら一応資格も持っているんですけどね。 管理、構築の容易さなどそれぞれの特徴も教えてください。

  • Oracle8.0.5の延命策はあるのでしょうか?

    1999年にソフト屋さんに、WindowsNT4.0Server上にOracle8.0.5をインストールしてもらい、フロントエンドはVBの6.0で作ってもらった社内LAN上で使うデータベースシステムを構築してもらいました。 システムは今も元気に動いてはいますが、何ぶん10年以上経っていますのでシステムあるいはハードウェアの更新を考えています。 ソフト屋さんは新しいサーバOSと新しいバージョンのOracleを導入し、フロントエンドもVB.NETで作りましょうと言っています。が、費用の総額も大きくなりそうだし、私自身もVBの6.0のスキルはそこそこあるのですがVB.NETはこれから覚えなくてはならないので、大変そうでいやです。 しばらく前はVMwareもWindowsNT4.0Serverをサポートしていたようですが、どうも今はダメなようです。 何らかの方法、環境で安直に現在のOracle8.0.5の環境を移すことは無理なのでしょうか?

  • VBでSQLサーバーへ接続できない

    WVD2008ではSQLサーバーへ接続できて、データも表示できるのに、 VB2008からは最初の設定画面がわかりません。 添付の図は 右:WVD 左:VB です。 WVDは データソース:Microsoft SQL Server (SqlClient) サーバー名:○○○\SQLEXPRESS データベース名:master と入力しテスト接続すると「成功」します。 しかしVBは データソース:Microsoft SQL Server Compact 3.5 データベースファイル名:○○○\SQLEXPRESS もしくは データソース:Microsoft SQL Server データベース ファイル (SqlClient) データベース:○○○\SQLEXPRESS と入力しテスト接続すると「見つかりません」となります。 アクセスへなら データソース:Microsoft Access データベース ファイル (OLE DB) データベースファイル名:C:\\Desktop\Documents\○○○.mdb として接続できます。 接続できないというよりもVBにおいてのSQLサーバーへの設定方法がわかりません。 VBにて サーバー名:○○○\SQLEXPRESS データベース名:master へ接続したい場合はどうすればいいでしょうか? ご教授よろしくお願い致します。

  • VBからCrystalReportsへSQL文を渡すには?

     VBからCrystalReportを呼び出し、CrystalReports側でSQL文実行させたいのですが、ヘルプ等を見ても方法がわかりません。  例えば・・・ 1 VBで入力画面を用意し、抽出条件を入れさせる。 2 入力された条件にてSQL文を生成しSQL-Serverから該当行を抽出する。 3 CrystalReportsで作表する。  VBでSQL文を生成し、例えばMDBに書き出し、それを単純にCrystalReportsで読むということは出来たのですが、中間ファイル(この場合はMDB)を作らずに同様のことができるのでしょうか?  つまり、VBから制御されたCrystalReportsでDBから条件抽出をかけつつ作表するということが可能か否か、可能であるならばその方法をご教授いただけると幸いです。

  • VBとSQLで、、、、

    私は最近ソフトウェアの開発に携わることになりました。 私自身プログラミングの経験は全くありません。 何を命じられたのかといいますと、VBとSQLをつかって、サーバー上の  データベースにクライアントからアクセスして、ほしいデータだけをもってくる  業務を支援するようなソフトを作るのです。 例えば、ユーザーが日付の範囲だけをいれると、その間に店を訪れた人のすんでい  る地域別、さらにそのお客の年代別で何人いるのかというようなものが  ボタンひとつでだせるようなものなんです。 まったく知識がなくてとりあえずVBの基本とSQLコマンドの本を片手に  やっています。(あと、アクセスでおおよそのデータベースについて学びまし  た) で、結局何がいいたいのかと申しますと、VBとSQLを利用したデータベースの  構築に関する良い文献を紹介していただきたいのです。 VBは初心者なのでとりあえず、それようのものを。 あと、ストアドというものを駆使するらしいので、それについての詳しい本を  紹介してください。サイトなんかでもよいです。 それでは、よろしくお願い致します。  (多分、質問の内容もわけのわからないことを言ってるかもしれません^^;)

  • ACCESS+VBの開発は業界の方はどう見られますか!?

    現在、社内でデータベース開発をしております。この業界は初心者に近いのですが、 現在の開発環境はVB+ACCESでデータベースを作成しております。 フォームをVBで作成し、データはACCESに格納しております。 そこで、質問なのですがACCESSにはフォーム作成の機能もありますし、 VBA機能もあるので、単純に私は、ACCESだけで作成しても同じじゃないの?? そもそもVB+ACCESSの開発はメジャーなのでしょうか??現在ならば、VB.netやOracleなどの方が・・・ と思う気持ちもあり、この先自分のスキルアップの為にも、このままでいいのかな?? と迷っております。 詳しい方、アドバイスを頂けたらと思います。 何卒よろしくお願い致します。 また現在、よくデータベースでOracleという言葉を聞きます、Oracleはこのソフト1つで DB作成が可能なのでしょうか?プログラムは何を使っているのでしょうか??

  • Oracle SQL/Server

    Oracle SQL/Serverの勉強をしたいのですが、市販で、売っているソフトがたくさんあるので、どれを買ったらいいか迷ってます。どのソフトがいいのか教えてください。

  • VBでデータベース構築

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

  • ACCESS97をVBへトランスレート

    ないと思うのですが、ACCESS97で作ったMDBをVB+なんらかのデータベースソフトに書き換えるようなソフトが存在するのでしょうか?

  • VBを使ってる初心者です【SQL】【Access】

    VisualStudio2008で、Access2010のデータベースからデータ抽出を行えるアプリを作っています。 このときSQL文を用いてAccessからデータ抽出を行うんですかね? そもそもVisualStudio、SQL、Accessそれぞれがどのように関係しているのかわかりません。 いくつかサイトを見て回ったのですが・・・ 教えてほしいこと 1. データ抽出アプリを作るにあたってVisualStudio、SQL、Accessの各々がどのような役割を果たすか 2. Accessのデータベースの形式は空or Webどちらが有効なのか 3. VisualStudioでデータの抽出を行う方法 長くなりましたがよろしくお願いします。 開発言語はVBで、私自身は簡単なプログラムであれば理解できるレベルです