• 締切済み

アクセスでコンパイルエラーが表示されます

日付型で作成している「outdate」という項目(2006/07/11のように格納されています)の年だけを抽出しようとクエリーを作成し、式1:Year([outdate])としています。 実行すると「クエリ式’Year([outdate])’のコンパイルエラー」と表示されます。 同じく、テキスト型の項目から式2:Left([color],5)というような関数を使用したクエリーを作成して実行しても同じ「クエリ式’Left([color],5)’のコンパイルエラー」と表示されるエラーメッセージがでます。 どうしてなのでしょうか? 使用ソフトはACCESS2003アカデミックパックです。 何か制限あるのでしょうか?

みんなの回答

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> 式1:Year([outdate]) > 式2:Left([color],5) 標準モジュールの中で、Year や、Left といった名前の関数を作成したり しませんか? 参考: クエリー実行時の関数エラー http://www.f3.dion.ne.jp/~element/msaccess/AcTipsFunctionErrorInQuery.html

moon-vega
質問者

補足

クエリーのフィールドに書いているので標準モジュールの中なのか?よくわかりません。 教えていただいた関数エラーのページも見ているのですが、自分のエラーがそれと同様なのか?理解し切れていないのが現状です。 申し訳ないです・・・

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

参照設定を確認してみてください。 VBE(コードを記述する画面)を起動(F11)して、「ツール」⇒「参照設定」。 そこで、'参照不可' となっている項目があれば、そのチェックをはずして ください。

moon-vega
質問者

補足

確認しました。参照不可の文字は見つけられず、かわりに参照可能なライブラリファイルというのがありました。 1.Visual Basic For Applications 2.Microsoft Access 11.0 objectLibrary 3.OLE Auto mation 4.Microsoft Activex Date objects2.1Library の4つにチェックが入っている状態です。 これ以外にも多数項目がありますが、それらにはチェックは入っていません。 全部にチェックをすればいいのでしょうか?

関連するQ&A

  • ACCESSでマクロ実行時コンパイルエラー

    テーブルにある受付日のデータが20070124のように 数字の羅列で入力されている為、 クエリで下記のように、2007年 第○週、 と抽出していました。 式1: Left([受付日],4) & "年 第" & Format(Format(DateSerial(Left([受付日],4),Mid([受付日],5,2),Right([受付日],2)),"ww"),"00") & "週" それをマクロでワークシートに変換・プロシージャを実行しました。 モジュールには Function exMsgBox○○() MsgBox "○○のエクスポートが終了しました ", vbSystemModal, "終了確認" End Function と入力されています。(○○はワークシート名) ところが、今まで実行できたのが急に 「クエリ式'Left([受付日],4)・・・のコンパイルエラーが 発生しました」と言って実行できなくなりました。 何が悪いのでしょうか? ちなみにAccess2000です。

  • アクセスのクエリでコンパイルエラーが出ます。

    出るエラーメッセージは 『クエリ式:'Mid([T_住所]![集計],1,2)'のコンパイルエラーが発生しました。』 クエリに書いた式は、フィールドの欄に、 『県コード:Mid([T_住所]![集計],1,2)』 です。 さて、いろいろやってみると、式、自体には、誤りはないようです 新しく、MDBファイルを作り、そこに問題のクエリと 実行に必要なテーブル関係を、外部ファイルの取り込みでインポートして 実行すると、エラーなく実行されます。 すると、MDBファイルの環境に類する違いによるもの ではないか、と想像するのですが、・・・ よろしくおねがいします。 尚、WinXP/ACCESS 2003

  • ACCESS2003のグループ化のエラーについて

    こんばんは、ACCESS2003のグループ化について助言をお願いします。 (OS:WIN7) ”TBL1”から抽出して”クリエ1”を作成したものがあります。 この”クリエ1”からさらに”クリエ2”を抽出して、フォームから入力できるように”フォーム1”を作成しました。 (”クリエ1”は他の方が作成したのを借りている状態です。) ”クリエ2”には”日付”、”商品番号”、”単価”があり、”フォーム1”で使えるように ”クリエ2”の各項目に以下のように抽出条件を設定、フォームから入力出来るようにしました。 <日付> Between nz([forms]![f_kensaku]![day_s]) And nz([forms]![F_kensaku]![day_e],#2099/12/31#) (空欄でも表示されるように”Nz()”を使いました。) <商品番号> Like "*" & [Forms]![f_kensaku]![shouhin] & "*" <単価> Like "*" & [Forms]![f_kensaku]![tanka] & "*" ”フォーム1”及び”クリエ2”から実行して問題なく検索できるのですが 日付、商品番号、単価が重複して見ず来らいので、”クリエ2”の”Σ”からグループ化を実行するとエラーとなってしまいます。 <エラー表示内容> 集計関数の一部として指定された式(上記3個のSQL文が表示)を含んでいないクエリを実行しようとしました。 当然、グループ化を外すと問題なく動くのですが、何が悪いのでしょうか?

  • Access 日付抽出について

    Access2000のクエリにて、ある特定日付の抽出ができません。 テーブルの日付項目は、日付/時刻型です。 テーブルを開くと、「2008/02/01 12:59:00」のように見えます。 クエリで抽出する時に、「#2008/02/01#」で抽出されると思って いるのですが、実行すると抽出できません。 どのようにクエリ設定をすればよろしいでしょうか?

  • 追加クエリ実行時に入力した文字を入れたい!!

    みなさまおはようございます。 さっそくですが質問です。 ACCESS 2000を使用しています、 追加クエリを作成したんですが、 実行時、日付型のとある項目に、 テーブルから取得した項目ではなく、クエリ実行時に入力させた値を格納したいのですがどうしたらよろしいでしょうか?

  • Access2013で翌日のデータのみのクエリ

    お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。

  • Accessの選択クエリから最終日付のデータのみ抽出したい

    Access2002を使用しています。 初心者ですのでよろしくお願いします。 アクセスで選択クエリを作成しました。 このクエリのフィールドは「日付」と「金額」です。 この選択クエリから最終日付のレコードのみを抽出する選択クエリを作製したいのですが、何か方法はありませんでしょうか? 最終日付に対応する金額を抽出したいイメージです。 なお、レコードの作製順番は、必ずしも日付順とはなっていません。(例えば、7/2付でレコードを作成後、7/1付で次のレコードを作製している場合もあります。) 一つの方法として、選択クエリのデザインフォームで集計ボタンを押して日付フィールドの集計項目(グループ化)で「最後」を選択しているのですが、「金額」が全レコード表示されてしまいます。 また、同様にして、金額フィールドの集計項目で「最後」を選択すると、最後に作成したレコードが表示されてしまいます。(上記の例では、7/2ではなく7/1のレコードが表示されます。7/2に対応する金額を抽出したいのですが…) アドバイスよろしくお願いします。

  • eclipseのコンパイルエラーについて

    現在、Eclipse+borlandでdirectxのプログラムを作成しています。 しかし、eclipseでコンパイルをするとコンソールに ”プログラムが大きすぎてメモリに入りません”とエラーが 表示されます。 borlandでコンパイルをすると問題なく実行ファイルが生成されます。 eclipseでコンパイルする場合は、設定が必要なのでしょうか?

  • Accessのエラー (いくつかあります・・・)

    アクセスでデータを入力したのですが、なぜか下記のエラーがでます… *作成したアクセスデータ* テーブル 項目AのCDと項目A、項目BのCDと項目B、項目CのCDと項目C、項目A~CのCDとその他繰り返し入力しないデータ の合計4つのテーブル それらすべてをリレーションでつないでます クエリ 全項目入りのテーブルを元に作ったもののみ フォーム クエリを元にウィザードを使って作成 *エラー* (1)クエリを作った時に、1つでもCDが入力されてないフィールドがあるとその行全体が表示されなくなる  (CDを入力したら表示されますし、テーブルではCDが入ってなくても全て表示されてます) (2)フォームで新たにデータを入力しようとしても一切入力できないし、変更もできない時がある (使用可能等の項目は一切触っていません) (3)フォームでCDが入ってる箇所を未入力にしたままでは保存できずに、「CDと値が一致しません」?のようなエラーメッセージがでる (すみません、エラーメッセージはうろ覚えです…) (4)なぜか昇順で番号を並べ替えていたのに、フォームでデータを追加したら、昇順が反映されずに「1,11,2…」のようにフォームのみ表示される (テーブル・クエリは反映されています) このエラーの原因がわかる方ぜひ教えてください!! よろしくお願いします。

  • Accessのクエリで、CStr関数を使った項目のグループ化と抽出のエラー

    アクセスで「TEST1」という名のクエリでCStr関数を使って数値を文字型にしている「項目1」という名のフィールドがあります。(他にもフィールドはあります) 別のクエリ(「TEST2」)で、「TEST1」クエリを使って、「項目1」フィールドをグループ化し、さらに抽出条件に『 "1" 』と入れて実行したところ、 『集計関数の一部として指定された式 '[TEST1].項目1="1"' を含んでいないクエリを実行しようとしました。』 とメッセージが出て実行できませんでした。 ◎ 数値を文字型にしたものをグループ化しさらに抽出条件で絞り込みたいのですが、どうしたらいいのでしょうか? 「TEST1」クエリをテーブルにしないで実行したいのですが。。。 わかる方がいらっしゃったら、教えてください。よろしくお願いします。

専門家に質問してみよう