マイクロソフトアクセス2000でデータベースを作成していますが、フォームにサブフォームを組み込んでいます。今まで順調に入力できていたのですが、突然「OLEサーバーもしくはActiveXと通信しているときにエラーが発生しました OLEサーバーを終了し単独でアプリケーションを起動してから、同じ操作をしてください」とでて、入力を続行すると、リンクフィールドに値が入力されません。
ちなみに、同じパソコンで、他のサブフォームを使っているフォームを使用すると、問題なく動きますが、このファイルを他のパソコンにコピーしても、同じエラーがでます。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

恐らく、フォームが部分的に壊れてしまったのでしょう。



1:データベースを別の場所に同じ名前で新規作成する。
2:[ファイル]-[外部データの取り込み]-[インポート]で、元のファイルから全てのオブジェクトをインポートする。
3:正しく動作することを確認後、元のデータベースと置き換える。

ってな手順で直ることがあります。
もしVSS(Visual Source Safe)をお使いでしたら一旦VSSに全てのオブジェクトを格納した後、[Visual Source Safeのプロジェクトからデータベースを作成]を実行してもいいです。(こちらの方が直る確率は高い。)

あるいは、問題となるフォームをコピー後、元のフォームと置き換える、って操作で直る場合も…


普通使ってる限りではこのエラー(参照設定が壊れる)は起こらないんですが、VBAを編集後に保存したりすると、たまぁにこういうエラーがファイルの中に埋め込まれてしまうんですよねぇ。
ですので、データベースを作成中はバックアップは頻繁に取っておいたほうがいいです。できればVSSを使うとバックアップや復元の操作が楽に、確実になりますので、もしお持ちでしたら、そちらを使うのがいいです。
(VSSはOfficeのDevelopper EditionやVisual Studioなどに付属しています)
    • good
    • 1
この回答へのお礼

おおっ、、、直りました。
ありがとうございます。
助かりました。

お礼日時:2001/11/30 20:25

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccessのOLEオブジェクトについて

いつも大変お世話になっております。m(_ _)m
Accessで以下のようなDBを作りました。

(1)Access2003で、OLEオブジェクト型のフィールドを作る。
(2)OLEオブジェクト型のフィールドプロパティは以下のように設定
 1)OLEサイズ・・・クリップ
 2)OLE表示の種類・・・アイコン
 3)OLE更新設定・・・自動
 4)作成可能OLE・・・リンク
(3)このフィールドには、TIFファイルを挿入していきます。
 (2)の設定により、オブジェクトの挿入時は
 指定したパスにあるファイルをリンクで結び、
 アイコンが表示されます。

Access2003のPCで設定したオブジェクトは、どのバージョンのPCからも閲覧できます。しかし、Access2000のPCで同じことをやろうとすると、オブジェクトの挿入はでき、2000のパソコンではダブルクリックで閲覧可能ですが、2000で設定したオブジェクトを2003で見ようとすると
「OLEサーバーが登録されていません」
「OLEサーバーを再セットアップしてください」
と出て開くことができません。

これはどういうことなのでしょうか?

まとめます。
・2003で挿入したオブジェクトは、
 2003でも2000でも閲覧可能。
・2000で挿入したオブジェクトは、
 2000では見れるが、2003では見られない。
・エラー内容は、「OLEサーバーが登録されていません」です。

どうしたらいいのか教えてください。
よろしくお願いします。

いつも大変お世話になっております。m(_ _)m
Accessで以下のようなDBを作りました。

(1)Access2003で、OLEオブジェクト型のフィールドを作る。
(2)OLEオブジェクト型のフィールドプロパティは以下のように設定
 1)OLEサイズ・・・クリップ
 2)OLE表示の種類・・・アイコン
 3)OLE更新設定・・・自動
 4)作成可能OLE・・・リンク
(3)このフィールドには、TIFファイルを挿入していきます。
 (2)の設定により、オブジェクトの挿入時は
 指定したパスにあるファイルをリンクで結び、
...続きを読む

Aベストアンサー

「OLE」は、Access限定の機能ではなく、Windows自体の機能になり、どのプログラムで、動作するかデータを保持しています

・閲覧する際、起動するプログラムは?

と、言う事でファイル名で指定した場合、どのプログラムで使用するかは、Windows自体に依存します

OLEサーバに登録が無いと言うことは、多分閲覧で起動しているプログラムが違うものを使用している、プログラムが導入されていないと言う事だと思います

手としては、両方に導入されているペイント等でOLEを指定して登録するのが、良いのだと思いますがリンクの場合、それが可能だったか出来た記憶がないです

リンクにしている理由とかあります?
リンクで行うなら、ピクチャフレームでVBAにて自動読み込みを使用した方が、MDBファイルが小さく済む反面、共用ディスク上にファイルを置いておかないと、読込が出来ないとかの欠点が出てきたりします

現在のままでは、どういう解決へ持っていくのかも判らないですが・・・
・同じプログラムを導入する
・リンクをやめて、ペイント等のどのPCにも入ってるものを使用する
・MDBから、絵のファイルを読み込みに行き表示する
の解決法くらいしか手が無かったと思いますが・・・

「OLE」は、Access限定の機能ではなく、Windows自体の機能になり、どのプログラムで、動作するかデータを保持しています

・閲覧する際、起動するプログラムは?

と、言う事でファイル名で指定した場合、どのプログラムで使用するかは、Windows自体に依存します

OLEサーバに登録が無いと言うことは、多分閲覧で起動しているプログラムが違うものを使用している、プログラムが導入されていないと言う事だと思います

手としては、両方に導入されているペイント等でOLEを指定して登録するのが、良い...続きを読む

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QOLEサーバー機能のあるソフトを教えてください!!

 先日WinXPをクリーンインストールして、使用中だったソフトを再インストールしました。

 本日、AdobeのPageMaker6.53を使用していたら、
 AdobeTable3.0で作成した埋め込みオブジェクトが表示できなくなっていました。

 エラーは、↓の通り。
「OLEオブジェクトを使用できません。
サーバアプリケーションを起動できません。使用可能メモリの量とサーバが正しくインストールされているかどうかをチェックしてください。」

 ネット等で調べたところ、OLEオブジェクトを表示するためのOLEサーバー機能というものがあるらしく、これを入れたいのですが、どのソフトにその機能があるのかが分かりません。

 どうしたらOLEオブジェクトを表示できるのか、ご存知の方教えてください。

Aベストアンサー

OLEとは、特定アプリケーション固有の機能を指しているのではありません。
あくまで、異なるアプリケーション間での連携を実現するための通信規格のようなものとご認識下さい。
http://www.sophia-it.com/content/OLE

ご質問者様の状況では、PageMakerでTableオブジェクトを表示する際に発生しているエラーですので、この場合のOLEサーバとはAdobeTable3.0になります。
PageMaker6.53とAdobeTable3.0の連携に関して問題が発生している状況ですので、PageMaker6.53を再インストールしてみるのが確実かと思います。

QAccess2007について

Access初心者です。よろしくお願いします。

「イベントプロパティに指定した式 クリック時でエラーが発生しました:MicrosoftOfficeAccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました」とマクロを発動するボタンをクリックするとこのエラーがでるようになりました

ちなみにマクロのコードの部分は空にしてもでてきます。
Access2007 SP2です。

この場合どのようにすれば解決しますでしょうか?
どうか教えてください。よろしくお願いします。

Aベストアンサー

1 参照設定で使っていないコントロールに
 チェックがついていないか。

2 最適化してみる。

3 あたらしいファイルを作り
  前のファイルのオブジェクトを
  すべてインポートしてみる。
  これで正常ならば前のファイル
  が壊れた可能性がある。

そのほか、
http://support.microsoft.com/default.aspx?scid=kb;ja;295824&Product=accJPN
http://support.microsoft.com/kb/884484/ja
こういった情報もあります。

QACCESS2010 ActiveXコントロールのAdobe PDF Readerについて

いつもお世話になっております。

またまたACCESSに関しての質問なのですが

1)やりたいこと
⇒ACCESSのフォーム内にPDFを表示させたいため、
 ActiveXコントロールのAdobe PDF Readerを使用し、表示させようとしています。

2)質問内容
⇒(1)の内容をコードに書いて実現しました。
イベントのタイミングはフォームロード時です。
(例)Activex0.src="a\abc\def.pdf"

実行時、以下のエラーがでました。
"オブジェクトは、このプロパティまたはメソッドをサポートしていません"
このエラー文の意味は、「srcというプロパティなんてないよ。」という意味だと思うのですが
Adobe PDF Readerの使い方を見たら、コードの記述例などがあり
それを参考にしたので無いということは、どういうことだ…??という状態に陥っています。

それから、いったんフォームを閉じデザインビューで色々確認してみようと思い開いたら
OLEサーバーが登録されていません。と出ました。
これが、もしかして関係あるのでしょうか?

OLEについては調べてありますが、肝心の設定方法が半日以上検索してもサッパリです。
ただ、"Acrobat Reader DC"をインストールしているのですが
もしかして、それではなくて何か他のでないとダメなのか?など考えてはいるのですが
色々、インストールして試せる環境ではないので確認の方はしていません。
(ネットでも調べましたが、そのような記述は見当たりませんでした。)

ActiveXコントロールのAdobe PDF Readerを使うには何か特別な設定が必要なのでしょうか?
OLEサーバの登録や、参照設定など…。

すみませんが、教えてください。

いつもお世話になっております。

またまたACCESSに関しての質問なのですが

1)やりたいこと
⇒ACCESSのフォーム内にPDFを表示させたいため、
 ActiveXコントロールのAdobe PDF Readerを使用し、表示させようとしています。

2)質問内容
⇒(1)の内容をコードに書いて実現しました。
イベントのタイミングはフォームロード時です。
(例)Activex0.src="a\abc\def.pdf"

実行時、以下のエラーがでました。
"オブジェクトは、このプロパティまたはメソッドをサポートしていません"
このエラー文の意味...続きを読む

Aベストアンサー

こちらが参考になるかもしれません。
http://accessclub.jp/bbs5/wforum2.cgi?mode=allread&no=16845&page=0

QACCESSで条件によってフォーム上のフィールドの色を変更

一覧形式のフォームがあり、条件によって色を変更したいのですが、その条件というのが下記のような感じです。

フィールドA | フィールドB | フィールドC | チェックボックス
チェックボックスのチェックがあったら、フィールドA・B・Cの色をグレーにする。
チェックがなかったら白いまま。

というものです。
条件付書式だと、色を変更するフィールドそのもののデータを参照にしないといけないんですよね?
フォームオープンのところにVBAをかいてみたんですが、ひとつひとつは認識してないみたいで…。
どのようにすればいいのでしょうか?

よろしくお願いします。

Aベストアンサー

フォームのデザイン画面で3つのフィールドすべて選択し条件付書式画面を表示させる。
条件1のコンボで”式”を選択。
右側の欄に[チェックボックスのコントロール名]=True
と入力し、バケツアイコンでグレーを選択。
(もちろん1フィールドづつ設定してもOK)

QAccess コンボボックスで選択し、自動でテキストボックスに該当のデータを抽出する方法

こんにちわ。現在仕事の関係でどうしても必要になり、Accessを初めて勉強している者です。
先日もAccess関連の質問をさせて頂きましたが(ご回答頂いた方ありがとうございました)、
また難問にぶつかってしまいました。

絶対にありそうなのに、色々検索しても良いサイトが見つからず、へこんでおります…。
どなたか、わかりやすく説明されているサイトをご存知であれば教えて頂きたいのです。

・コンボボックスで選択した時に、自動で隣にあるテキストボックスに該当のデータを出す。

ということをしたいのですが…。
具体的にいいますと、

コンボボックスにて、会社名を選択すると、隣のテキストボックスにその該当する会社のドメイン名を自動で表示させたいのです。


コンボボックス                テキストボックス
  会社名                     ドメイン名

   A社  →A社を選択すると、        A.co.jp ←自動でA社のドメイン表示
   B社  →B社を選択すると、        B.com ←自動でB社のドメイン表示
   C社
   ・
   ・
   ・

こんなカンジです。(尚、図の作成はMSPゴシックでの作成なのでその他のフォントだとずれると思います。すみません)

テーブルで会社名の一覧と、ドメインの一覧の二つを作って、うまく連動させれば出来そうな気がするのですが
その方法そのものがわからないために、良い説明のあるサイトがないか、朝から調べまくっています(@_@;)
色々自分でも勉強したいというのがあるので、もし上記のような事をやる方法について書いてあるようなサイトがありましたら、
ぜひ教えて頂けると幸いです。よろしくお願いします。

こんにちわ。現在仕事の関係でどうしても必要になり、Accessを初めて勉強している者です。
先日もAccess関連の質問をさせて頂きましたが(ご回答頂いた方ありがとうございました)、
また難問にぶつかってしまいました。

絶対にありそうなのに、色々検索しても良いサイトが見つからず、へこんでおります…。
どなたか、わかりやすく説明されているサイトをご存知であれば教えて頂きたいのです。

・コンボボックスで選択した時に、自動で隣にあるテキストボックスに該当のデータを出す。

ということをし...続きを読む

Aベストアンサー

>テーブルで会社名の一覧と、ドメインの一覧の二つを作って、うまく連動させれば出来そうな気がするのですが
勘違いでないためにも
テーブルはひとつで、フィールド 会社名  テキスト型
                ドメイン ハイパーリンク型
で準備しておきます。
色々と方法はありますが
​http://ag5.net/~nino/access-19.html​
こんな方法はいかがですか。

QAccess サブフォームでの選択行の取得

こんにちは。

Access初心者です。

サブフォームでテーブルの項目を表示させていますが、
選択された行を取得する方法はありますか?
サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。

調べているのですが、なかなか検討がつきません。
宜しくお願い致します。

Aベストアンサー

フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、

Forms!フォーム1!サブフォーム1.Form.CurrentRecord

で取得できます。
(「Forms」と「Form」がありますのでご注意下さい)


また、フォーム1にコードを記述する場合であれば

Me!サブフォーム1.Form.CurrentRecord

サブフォーム1へのコード記述であれば

Me.CurrentRecord

という構文によっても、それぞれ取得が可能です。

QACCESSのフォーム上で複数検索したい項目がある場合どうすればいいですか?

(1)部品ID
(2)日付
(3)入庫か出庫 
以上3つを検索したいのですがどうすればいいでしょうか?

(1)の部品IDはリストBOXの一覧から選択し、選択したものをテキストBOXに表示させるという形で作成しました。
(2)の日付はテキストBOXに手入力という形です。
(3)の入庫か出庫はコンボBOXで選択するという形です。

検索ボタンを作成してクエリの更新をかけて表示したいと思うのですが、3つの条件のうちその時により、全ての検索条件を入力しなくても1つでも条件を入力するとその条件が表示させるようにさせたいのです。

あと、何も条件を入力せず、検索ボタンを押すと全てのデータが表示させれるようにもしたいのです。

どのようなコードを記述すればいいでしょうか?
よろしくおねがいします

Aベストアンサー

>”このオブジェクトに値を代入することはできません”と表示され・・
失礼しました。フィルターのセットで最後が足りませんでした。あと[このオブジェクトに値を代入・・]のメッセージは抽出等で間違った指定方法をしているという事なのですが・・。
多分日付の抽出の仕方だと思いますので日付抽出のセットを少し変えましたのでメインフォーム上のボタンCmd1のクリック時のイベントを下記に変更してみてください。

Private Sub Cmd1_Click()
Dim MyCriteria As String

MyCriteria = "日付 ="
If IsNull(Text2) Then
MyCriteria = MyCriteria & True
ElseIf Not IsNull(Text2) Then
MyCriteria = MyCriteria & "#" & Me!Text2 & "#"
Else
End If

strfilter = MyCriteria
strfilter = strfilter & " And 部品ID Like '*" & Me.Text1.Value & "*' And 区分 Like '*" & Me.Cmb1.Value & "*'"

Forms!フォーム名!サブフォーム名.Form.Filter = strfilter
Forms!フォーム名!サブフォーム名.Form.FilterOn = True
Forms!フォーム名!サブフォーム名.Requery

End Sub

メインフォーム上のテキストボックスやコンボの値をサブフォームのフィルターに代入するときはMe!Text1の指定で良さそうなので上記でサブフォームにフィルターをかけられます。(試したらフィルターかけられました。)
これでどうでしょう。

>”このオブジェクトに値を代入することはできません”と表示され・・
失礼しました。フィルターのセットで最後が足りませんでした。あと[このオブジェクトに値を代入・・]のメッセージは抽出等で間違った指定方法をしているという事なのですが・・。
多分日付の抽出の仕方だと思いますので日付抽出のセットを少し変えましたのでメインフォーム上のボタンCmd1のクリック時のイベントを下記に変更してみてください。

Private Sub Cmd1_Click()
Dim MyCriteria As String

MyCriteria = "日付 ="
If IsNull(T...続きを読む

QAccess 同じデータをたくさんのレコード(同一列)に一度に入力するには

いつもお世話になっています。
Accessの基本的な入力に関して教えてください。
同じデータをたくさんのレコード(同一フィールド)に一度に入力するには、どうすればよいか教えてください。

Excelの列方向へのコピーと同じような感覚でできないのでしょうか?

よろしくお願いします。

Aベストアンサー

質問の回答にならないかも知れませんが・・・

1.EXCELでコピーするための元データを作成します
  ※仮にレコードが1000件ある場合はEXCELで1000行作ります。

2.Excelのデータをコピーします。

3.Accessのテーブルを開きます。

4.先頭レコードの貼り付けをしたい項目にカーソルを合わせます。(カーソルは白の十字)

5.下方向へドラッグし、項目を選択します。

6.貼り付けをします。

※貼り付けに失敗した場合、元に戻せませんので必ず元ファイルのコピーを取ってから行ってください

よろしければ、お試し下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報