カーソル下にある識別子を認識できません

このQ&Aのポイント
  • VBE画面で、標準モジュールでPublic blサブフォームなしでレコードソースを表示する As Booleanと宣言しているが、2で使っているとエラーが発生する。
  • 右クリック→定義を押すと、「カーソル下にある識別子を認識できません」というエラーが表示される。
  • 「カーソル位置」とは、VBE上でカーソルがある位置のことを指す。エラーはカーソルの位置の識別子がプロシージャの名前ではないことが原因で発生する。
回答を見る
  • ベストアンサー

「カーソル下にある識別子を認識できません」

VBE画面で、標準モジュールで Public blサブフォームなしでレコードソースを表示する As Boolean ・・・1 と宣言していて、違う標準モジュールで blサブフォームなしでレコードソースを表示する = True ・・・2 と使っているのですが 2を反転させて右クリック→定義を押すと、「カーソル下にある識別子を認識できません」と言うエラーになります。 意味がわからないのですが、どういうことなのでしょう? 「カーソル位置」とはなんですか? ヘルプ内容は、 ------------------------------------------------------------------------- カーソル下にある識別子を認識できません。 アプリケーション情報 プロシージャを表示しようとしましたが、カーソル位置の識別子がプロシージャの名前ではありません。 エラーの原因と対処方法を次に示します。 識別子がプロシージャ名でありません。 カーソル位置の識別子の綴りが正しいかどうか確認してください。 -------------------------------------------------------------------------

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

>2を反転させて右クリック→定義を押すと  「2」を全て選択(反転)させて、つまり、「 = True」も含めて「右クリック→定義を押すと」そういうことになります。  別に反転させずに、「blサブフォームなしでレコードソースを表示する」の上のどこでもよいのでカーソルを置くか、または、「blサブフォームなしでレコードソースを表示する」だけを反転させて、「右クリック→定義を押すと」 Public blサブフォームなしでレコードソースを表示する As Boolean の「blサブフォームなしでレコードソースを表示する」に移動します。

NMOCVNWXHTPU
質問者

お礼

どうもありがとうございました。

関連するQ&A

  • サブフォームに対する表示制御について

    Access97でサブフォームを使用したフォームを作成しています。 サブフォームの明細行の最後に新規レコード行がありますよね。 サブフォームの初期表示時に、この新規レコード行にカーソルを位置付けたいのですが、 Docmd.GoTORecord,,acNewREc とやると、新規レコード行がサブフォームの 最上部にいってしまい、その前にある既存レコードが見えなくなってしまいます。 理想は、サブフォームの1ページが10明細分の大きさで獲ってあるとすると、 新規レコード行を10行目に表示されるようにもっていきたいのですが、 サブフォームに対してこのような制御は可能なのでしょうか。 RecordCountを操作したりしてやってみたのですが、既存レコードの件数によって、 うまくいったりいかなかったりです。 よろしくお願いします。

  • ACCESS サブフォームのフィールドにカーソルをあてる

    ACCESS2003で、VBAで簡単なプログラムを作っています。 <やっていること> ・フォームAからフォームBを開きます。 ・そのときにフォームAの番号と一致するデータをフォームBに表示します。 ・フォームBにはサブフォームCが埋め込んでいます。 このサブフォームCの中のフィールドDにカーソルが入っているようにしたいのですが、 Forms!サブフォームC!フィールドD.setfocus としたら、「カレントレコードには、フィールドDという名前のフィールドはありません」というエラーがでます。 フィールドDというフィールドは存在しています。 このような場合、どのように記述するのがよろしいのでしょうか。 よろしくお願いします。

  • Accessで表をRequeryすると…

    こんにちは。 Accessでサブフォームを持っているフォームがあり、サブフォーム側では Aというテーブルがレコードソースになっていて帳票形式で表示しています。 メインフォームで単票形式で表示してます。 サブフォームで表示された表の中から1レコードを選ぶと、メインのフォーム にコピーし編集が出来るようにしています。 そしてメインフォームで変更された内容をAテーブルに書き出し、サブフォーム の内容も最新の内容に書き換わっている、という事をしているのですが、 サブフォームをRequeryすると、表示順序やレコードセレクタの位置が変わって しまうのです。 サブフォームを、レコードを選択した時の位置のままで、内容は最新の状態で 表示できるようにするにはどうしたらいいのでしょうか? よろしくお願いします。

  • サブフォームに新規レコードを追加する際、一番下に表示するのではなく一番上に表示したい

    Access2000を用いて開発を行っています。 Aフォームの中のサブフォームにレコードを追加する場合、デフォルトの設定では一番下に新規登録するためのレコードが表示されます。 しかし、私がやりたいことは新規レコードを追加するために、わざわざ一番下までスクロールしてから追加するのではなく、新規レコードが一番上に表示されていて欲しいのです。 Webで調べるにもどのように調べたらよいのかわからず、回答を見つけることができません。まったく、手がかりなしの状態であります。 お手数ですが、誰か教えていただける方がいらっしゃったら教えてください。よろしくお願いします。

  • Access サブフォームのレコードソースを変更するには

    Accessのプロシージャについて教えてください。 フォーム FM0020 上に、2つのサブフォーム FS002001 と、FS002002 があります。 メインフォームにある値を使って、サブフォームのレコードソースを変更したい のですが、どうもうまくできません。 FS002001のレコードソースは下記の1行目のコードで変数strSQLに代入出来るのですが、 FS002002のレコードソースは下記の2行目のようにしても 「オブジェクトまたはクラスがこのイベントセットをサポートしていません」 となり、代入出来ないのです。 2つ目のサブフォーム上にあるテキストボックス HMCD が下記3行目のように すると代入できるので、サブフォームの名前を間違えているわけではないと思うのですが...。 他に原因としては何が考えられますか? 下記の3行を同じモジュール内に続けて書いても2行目だけがひっかかるのでもうお手上げ 状態です..。 なんとか助けてください。 お願いします。 strSQL = Forms!FM0020.FS002001.Form.RecordSource strSQL = Forms!FM0020.FS002002.Form.RecordSource strSQL = Forms!FM0020.FS002002!HMCD

  • subプロシージャーは標準モジュールではなくフォームのコードを書く部分

    subプロシージャーは標準モジュールではなくフォームのコードを書く部分に書いても問題ないのでしょうか? エクセルにVBAでフォームを挿入し、 「Private Sub UserForm_Initialize()」 などのフォームのモジュールに、 Sub test() MsgBox "あああ" End Sub という標準モジュールに書くべきのsubプロシージャーを書いてもなにもエラーにならないし正常に動きます。 subプロシージャーは標準モジュールではなくフォームのコードを書く部分に書いても問題ないのでしょうか? それともエラーにならなくても標準モジュールに書いた方がいいですか?

  • クロスカーソルについて

    アプリケーションの作業ウィンドウ(CAD等)で画面一杯のクロスカーソルを表示できるようなソフトを探しています、作画時に、XP標準の矢印カーソルでは上下左右の作画位置が正確に分からないため位置合わせに苦労します > ご存じの方入手先等を教えて下さい > 無料、有料は問いません

  • VBAの、表形式で作ったサブフォームのコントロール方法

    表形式でサブフォームを作った後に、プロパティのレコードソースの内容(クエリ)を削除して(仕様変更の為に作り直しています)、 プロパティのイベントの読み込み時にイベントプロシージャーを指定してVBでSQL等を書いています。 SQLを呼び出し、Loopでレコードセットの内容をサブフォーム内のテキストボックスへ表示させる、等。 でも行数が指定できないので一番最後のデータ1行だけが表示されます… どうやったらサブフォームの総行数や、データを表示させる行の指定等の制御がVBで出来るのでしょうか? またはこれは不可能なのでしょうか? どなたかご回答いただけると幸いです。 よろしくお願い致します!

  • Access2000 サブフォームのRecordSet取得法

    Access2000を用い、メインフォームを作成(F_Main)し、 サブフォームコントロール(sub_from)を配置しました。 sub_formの「ソースオブジェクト」プロパティを別フォーム(F_Sub)とし、F_Subのレコードソースにはテーブル(T_Name)を設定しました。 つまり、メインフォームに子フォームが配置された状態です。 このF_Subのテーブルのレコードを操作するため、以下のプログラムを作りましたが、「フォームF_Subが見つかりません。」というエラーになってしまいます。 Dim rs as Recordset rs = Forms![F_Sub].RecordsetClone ← エラー メインフォームのモジュールでも、サブフォームのモジュールでもどちらにこのプログラムを記述してもエラーが発生します。 メインフォーム上に配置したサブフォームのレコードセットを取得し、操作する方法をご教授下さい。 環境 Windows 2000 Professional Access 2000

  • レコードの削除ができない

    アクセス2007です。 デザインで一つのフォームを作り そこにテーブル1をドラッグしてサブフォームにしました。 そしてサブフォームのテーブル1はデータシートビューで表示しています。 例えば、画像のように4レコード目を削除しようと思いカーソルを持っていき 右クリックすると 「レコードの削除(R)」が選択できない状態です。 2007では、サブフォームでレコードの削除はできないのでしょうか? アドバイスよろしくお願いします。

専門家に質問してみよう