• ベストアンサー

AccessでのリンクテーブルとADO等の使い分け

同時接続数5程度の備品管理をしたいと思っています。 共有フォルダーとAccessで構築しようと思っていますが、いずれはDBをSQLサーバなどにしたいと思っています(その前にMSDEかもしれません)。 容易にDBを変更できるようにする方法として下記の2つを考えています。  1.リンクテーブルを用いてMDBからSQLサーバに切り替える。  2.ADOを用いる。 "2"を用いることにこしたことはないと思いますが、"1"が簡単なので、どちらにしようか悩んでいます。"1"の問題となる点がありましたら教えてください。

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

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

 リンクテーブル(…_be.mdb)を作って数台のクライアントから使用していますが、最近PCの大幅な更新が有りまして、_be.mdb がいつの間にかレプリカとなってしまうという問題が発生しました。原因はわかりませんが、データをインポートして新しいリンクテーブルを作って入れ替えました。  しかし、約1週間分の新規登録がはいっていませんでした。  こんなことは初めてでした。  ご参考の一助になれば幸いです。

rk46rpam
質問者

お礼

リンクテーブルは手の内にないところで動くので、なにか起きたときに対処しにくいですね。安心度からいってリンクテーブルは避けたほうがよいのかもしれません。

関連するQ&A

  • 別ドメインのAccessテーブルへの接続

    部内で使用しているAccessで構築したシステムを全社展開することになりましたが、 ドメイン(信頼関係なし)をまたいだ場合のテーブル接続で戸惑っています。 DBの知識が乏しいため、何卒ご教授下さい。 <全社展開対象Accessの概要>  フロントエンド:mdbファイル。バックエンド(サーバ上)のファイルに「テーブルのリンク」で接続  バックエンド :mdbファイル。フロントエンドが接続するテーブルを保持 フロントエイドのmdbファイルを他ドメインのユーザに配布し、 当部サーバの更新を行いたいと思いますが、現構成のままではテーブルの接続が出来ませんでした。 このため、接続の構成を再構築したいと思いますが 【質問1】 どのような方法があるのでしょうか? SQL ServerやMSDEでバックエンドを再構築することは 要件上出来ません。。。 【質問2】 テーブルの接続にADO(Provider:Jet.OLEDB)を利用すれば ドメイン間の信頼関係がなく、且つユーザに共有アクセス権限がなくても接続出来るのでしょうか? また、ODBCの設定必要だとしても各ユーザが行うことは出来ないため、 (対象人数が多くPCスキルが皆無なため)ODBCで接続するのであれば フロントエンドのソースに記述したいと思いますが、 【質問3】 ODBCの接続方法をソースに記述することは可能でしょうか? DB知識が乏しいため、トンチンカンな質問かもしれませんが 知恵をお貸し下さい。

  • Access起動中にエクセルからADOでデータの更新ができない

    こんばんは。原因がわからないので質問させてください。 SQLサーバーのデータをAccessのmdbへリンクテーブルしています。 (SQLサーバー → Access) 全て一つのパソコンで行なっています。(LANには接続していません) Accessのmdbファイルを起動している時に ExcelからSQLサーバーのAccessにリンクしている上記のテーブルへ ADOを使ってデータを追加しています。 (Excel → Access)  しかし、「rs.Update」の部分で  「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」 となってしまいます。 なので、一度mdbファイルを落として、コードを再開すると通るので ADOでExcel → Accessにデータを追加し終わってから再度mdbファイルを立ち上げています。 また同じ状態(mdbファイルを起動)で Excel → SQLサーバー へ更新クエリをしようとすると「時間切れになりました」となります。 (こちらもmdbファイルを落とすと再開できます。) いちいちmdbファイルを落とすのめんどうなのですが 回避する方法はありますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Users\Documents.test.mdb" rs.Open "テーブル", cn, adOpenStatic, adLockPessimistic rs("フィールド") = True rs.Update '保存 rs.Close: Set rs = Nothing というコードを書いています。 Accessを落とせば正常に動きます。 ご教授よろしくお願い致します。

  • ADO接続の共有

    ACCESS2007をフロントにしてDBをSQL-Server2005Expressにして開発を 行おうとしています。 できる限りネットワークの負荷を減らそうと、ADO接続/ADOレコードセットと フォーム連結で開発したいのですが、ネットで検索するとADO接続を各画面で 行わなければならないような記述しか見あたりません。  ・検索キーワード:ADO 接続 共有 できれば、ADO接続はプログラム起動時1回で、DBデータを表示する 画面等を開く場合は、起動時に取得した接続を使い回したいのですが、 当該方法が記載されたいるようなURL等をご教示願えないでしょうか?  ・他mdbのテーブルをリンクテーブルとして使用したいため、   AccessProject(.adp)の使用は断念しました。 上記よろしくお願いします。

  • Accessのテーブルへのリンク

    いま、ASPのDBとして使っているAccessのファイル A.mdbがあります その中の一つのテーブルを別のAccessファイル B.mdbにリンクして、参照したいと思っています。 しかし、B.mdbからリンクするときに インポートすると、A.mdbの変更が反映されず、 リンクすると、B.mdbで変更したものがA.mdbにも反映されて困っています. やりたいことはB.mdbから安全に(変更なしで)A.mdbのテーブルを 閲覧したいのです. ・A.mdbの変更をB.mdbに反映したい ・B.mdbのテーブルの変更はA.mdbに影響がない と言うことです. どうかお力添えを よろしくお願いします.

  • Accessのセキュリティ対策

    現在Accessで業務用のアプリケーションを開発しています。 一応サーバがある環境なのですが、Accessで作成したmdbは サーバの誰でもアクセスできるフォルダに置き、みんなが利用 できるようになっています。 しかし、これでは悪意のある者がmdbのあるフォルダにアクセスし mdbをそのままコピーして持っていってしまうことができます。 又、削除してしまうこともできます。 そこで、mdbのテーブル部分をMSDEを利用して、アップサイジングし 各クライアントにはadpファイルを設置しようかと思っています。 これであれば、データはサーバのSQLサーバ(MSDE)の中なので 心配ないと思っていますが、どうでしょうか。 それほど知識のない者でも、データを取り出せたり するのでしょうか。 宜しくお願いします。

  • Accessのリンクテーブル

    すみません、教えてください。 Accessで複数端末から一つのMDBにデータ登録をさせる為に、VBAでツールを作っています。以下のように記述をして いるのですが、MDBを閉じるたびに、リンク先のDBを認識しなくなってしまいます。テーブルでリンクを貼りなおすとまた動くようになるのですが、どうしたらリンクを貼りなおせずにできるようになるのか、どなたか教えてください。どうかお願いいたします。 Dim LinkDB as Database Dim RST AS Recordset Set LinkDB = WorkSpaces(0).OpenDatabase("リンク先のDBの名前") Set RST = LinkDB.OpenRecordset("テーブル名",DbOpenTable)

  • SQLサーバーにあるテーブルをaccessに「テーブルのリンク」をしたい

    こんばんは。 SQL Server 2005の中にある データベース名:test テーブル名:テーブル1 をアクセス2003にリンクしたいのですがどうすればいいのかわかりません。 データベースウインドウのテーブルのところの何もない所で 右クリック → テーブルのリンク をするとファイルを選択するダイアログが開きます。 「SQL Server Management Studio Express」を選択し そこからどうすればいいのでしょうか? また「ファイルの種類(T)」は何を選択すればいいですか? デフォルトでは 「Microsoft Office Access(*.mdb;*.mda;*.mde)」です。 以上よろしくお願いします。

  • パスワード付Access2010からリンクテーブル

    パスワード付Access2010のテーブルを別のAccessでリンクテーブルとして使用しています。 このリンクテーブルを使ったクエリの結果を、ADOを使ってExcelシートに書きだしたいのですが、このリンクテーブルを使ったクエリを動かすと 「SQLステートメントが正しくありません。DELETE、INSERT、PROCEDURE、SELECTまたはUPDATEを使用してください」 というエラーメッセージが出てしまいます。 リンクテーブルのあるAccessでクエリを動かすと普通に動くのですが、ExcelからADOで動かすとエラーがでるということです。 このような場合に、エラーにならずにExcelからクエリを動かして結果をシートに出力する方法が何かありますでしょうか。 ご教授よろしくお願いいたします。

  • accessのテーブルをテーブルリンクさせたい

    accessのテーブルのデータをSQLサーバーにテーブルリンクさせたいのですが どうやればいいでしょう? 新しいデータベースを作って右クリックしましたがそのようなメニューは探せません。

  • ネットワーク上でのアクセステーブルリンクについて

    よろしくおねがいします。個人事業で店舗内にLANでネットワークを つくっています。その中のAというパソコンにフォルダを作りアクセス ファイルmdbを入れました。そのフォルダを右クリックで共有とセキュリティを開き共有指定をして無制限にアクセスできるにチェックして 別のコンピューターからネットワークでAに入れたアクセスファイルのテーブルをリンクしようとするとフォルダ、ファイルは開けるのですが リンクを試みると他のユーザーが排他的に開いているか、データを読み取る権限ありませんとでてつなげません。どういった対処が考えられるでしょうか?よろしくお願いいたします。

専門家に質問してみよう