• ベストアンサー

ACCESS 検索置換 にデータが反応しない

大変困っています!!! テーブルに入れているデータが反応?しません。 結果的にクエリでデータとして反映されません。(これが結果的に一番困っています) また、テーブルの状態でそのデータを 編集―検索または置換 しても そのフィールドに入ったデータは反応しません 「検索は終了しました指定した項目は見つかりませんでした。」と表示されるのですが、明らかにその項目は存在しているのです。 フィールドは  月日  曜日  授業名   の3つ。 データ型は月日は日付・時刻型、曜日と授業栄はテキスト型です。 今回は授業名に入れたデータが問題なのですが、置換、検索できるデータも中にはあるのですが、反応しないものもあり・・・。 そんなことがあるのでしょうか?? どうすれば解消できるのでしょうか??よろしくお願い致します!!

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

> そんなことがあるのでしょうか?? > どうすれば解消できるのでしょうか?? キーボードのCtrlキー+Fキーなどで出せる『検索と置換』ダイアログによる検索だとすると、いくつかの 可能性が考えられます。 1)同ダイアログの『検索条件(H)』が「フィールド全体」になっている  →「フィールド全体」は、「フィールドの文字全てが一致」、つまり「完全一致検索」になります。    ですので、もしも一部の文字による検索を行う場合は、「フィールドの一部分」(=あいまい検索)か    「フィールドの先頭」(=前方一致検索)を指定します。 2)同ダイアログの『表示書式で検索する(O)』のチェックが外れている  →日付/時刻型のフィールドで、『書式』の設定を行って「2008年4月19日」といった表示にしている場合、    「2008年4月19日」で検索して該当させるには、上記のチェックをオンにする必要があります。    また、コンボボックスで表示させていて、表示列と連結列が違うフィールドの場合も、表示通りの文字    で検索を行うには、このチェックをオンにしておきます。  ※今回はテキスト型の『授業名』フィールドとのことなので該当しないかと思いますが、No.1の方が    アドバイスされている通りに授業コードを記録して、コンボボックスで実際の授業名を表示させた    場合は、検索時に上記のことに注意してください※ 3)同ダイアログの『検索方向(S)』が、「すべて」になっていない  →同ダイアログをテーブルの先頭のレコードから起動し、ここの設定が「上へ」になっている場合、    下方向に該当データがあっても検索対象になりません。 4)該当データが1件しかない  →Excelと違って、Accessの場合は本当に「次を検索」になっています。つまり、1件しかないデータの    ところから同ダイアログを起動して『次を検索(F)』ボタンを押した場合、「現在のレコードのみ=次の    レコードはない」となるため、「指定した検索項目は見つかりませんでした」となります。 以上の点を確認してみてください。 なお、ExcelではなくAccessを使用されているのであれば、『検索と置換』ダイアログを使用するよりも、 更新クエリを使用した方が効率的なように思います。 http://www.seta.media.ryukoku.ac.jp/manual/office/access/query/update_query.html ※更新クエリの場合でも、一旦クエリをデザインビューで開いた後、ツールバーの「ビュー」ボタンか   「表示」のメニューで「データシートビュー」を選択すれば、更新の対象となるデータの一覧を見る   ことができますので、参考までに。   (但し、表示されるフィールドは、更新対象になっているものだけになってしまいますが)

その他の回答 (1)

noname#79209
noname#79209
回答No.1

私はAccessを使ったDBアプリを作成する仕事をしています。 ・授業名が正しく入っていない。 ・クエリの設定が間違っている。 などの理由が考えられます。 手入力でテーブルに直接入力していると、間違ったデータを入力してしまいがちです。 別途、授業のマスターテーブルを用意して、そこから選択して入力するようにすれば、常に同一のデータを入力することが出来ます。 本当は、テーブルには授業コードが入るようにした方がよいのでが... また、曜日フィールドは無駄だと思います。 日付に対する正しい曜日が入力される保証がないですし、 日付があれば、そこから正しい曜日を取得することが可能だからです。 基本的に無駄なフィールドや、キーにならない他のレコードとダブって持つようなフィールドは作るべきではありません。

関連するQ&A

  • AccessのデータをVBを使って置換する

    (1)VisualBasic6.0を用いて、Access2000のデータベースに接続します。 (2)データベースの中のテーブル(テーブル名:T-カレンダー)にあるフィールド(フィールド名:コード)に保存されているデータの一部分を置換したい。(⇒途中のアルファベットを変更したい。)(例;置換前:123FFF789 置換後:123III789)  テーブルを直接開いて、フィールドにカーソルをあわせて、”編集メニュー”の『検索と置換』から行っても出来るのですが、Accessを触らないでVBから作ったフォームから変更(置換)をさせたい。  ◇フォームに2つテキストボックスを作って、「検索する文字列」と「置換後の文字列」を入力し、『変換』ボタンを押したら、データが置換される、という流れ。   一回きりの置換でなくて、何回でも同じフィールド内のデータを置換したい。   SQLのREPLACE関数を用いて出来るかな、とは思っているのですが、どのように作成すればよろしいのでしょうか。  また他のやり方でシンプルな方法があればお教えください。

  • アクセス 置換 どちらが早いのでしょうか?

    アクセスで一つのテーブルに対して30回更新クエリでデータを置換するのと ADOで30回データを置換するのでは、 どちらが早いのでしょうか? どちらもReplaceを使います。

  • Accessの文字置換方法

    Access2002を使用しております。 「結果テーブル」というテーブルの<支店名>というフィールドの空白のレコードをすべて"空白"と言う文字に置換する作業を行っています。 現在は一度「結果テーブル」を開いた後に<支店名>フィールドを全部指定してから置換作業を行っているのですが、これをマクロを使用して自動処理にさせたいのですが、どうもうまくできません。どのようにすれば自動でできますか? VBAでもかまいません。 よろしくお願いします。

  • Accessの日付/時刻型のデータ変換について

    Accessで日付/時刻型で持っているデータを整数型に変換したいと思っておりますがうまくいきません。 日付/時刻型の「時刻(S)」でテーブル上にデータを入れています。これを整数に変換したいと思っています。 例)10:20 → 1020 そこで、 CInt([変換したいフィールド名]) をクエリで実行してみたのですが、結果は「0」、「1」、「#エラー」が表示され、変換したい形に変換することができませんでした。 どのようにしたら、例にある変換の仕方ができるのか教えて頂けますでしょうか。宜しくお願いいたします。

  • Accessで、1つの項目に複数の置換えを1度でするには?

    Access2003で、1つの項目に複数の置換えを1で実行したいのですが、どうすればいいのでしょうか? 編集メニューの『置換』を使うのではなく、クエリやマクロで実行したいのです。 どんどん溜めているデータを定期的に決まった文字を1度に変換できるようにしたいのです。 例えば、[会社名]フィールドに入っている  「株式会社」 を 「(株)」 に、  「有限会社」 を 「(有)」 に、  「法人会社」 を 「(法)」 に、…続く…、などと置換えしたいのです。 更新クエリで、『Replace([会社名],"株式会社","(株)")』 と1つなら置換えできたのですが、複数置換えしたい場合は、同様のクエリをその数だけ作ってマクロで続けて実行させるという方法しかないのでしょうか? できればクエリを増やしたくないので、他にいい方法がありましたら、教えて下さい。

  • アクセスのレコードデータ一部置換

    たとえば「6DBO1282」のようなデーが有り、このなかの0(オー)を0(ゼロ)に更新クエリで置き換えるにはどうしたらいいのでしょうか。 ワイルドカードを使ってもうまく行きません。 例えば、 抽出条件として*o*、レコードの更新として*0*としたら関係データ全てが*0*に置き換わってしまいました。 (テーブル上の検索と置換では出来る事はわかっています。)

  • 検索と置換でチェックを外すことはできないですか?

    アクセスのYesno型のフィールドで 検索と置換でチェックを外すことはできないですか? チェックが入った状態で 検索する文字列:-1 置換後の文字列:0 にしましたが、何も起こりませんでした。 こういう時は更新クエリをするしかないのでしょうか?

  • Accessのクエリで

    お伺い致します。 季節により材料の量目を変えて作る製品がありまして クエリのフィールドに 調合時期: Switch([月日]<="0715","1",[月日]<="0915","2",[月日]>"0915","1") のようにスイッチさせているのですが テーブル名:”テーブル期間”として 分類、始月日、終月日 1、0101、0715 2、0716、0915 1、0916、1231 を作りテーブルデータを変化させクエリに反映したいのですが どの様に考えればよいのでしょうか? (工場の所在地により月日を変化さる必要があります 所在地による気温の変化に合わせる為です。) SQLは取っ付き難く不得手で クエリのビューでフィールドや抽出条件等に式を書き込む方式位しか まだわかりません。クエリビューに書き込む方法で出来る方法が 有りましたら、お教えください。

  • ACCESSのクエリで表示されるデータについて

    クエリで表示されるデータの範囲について教えてください。 <状況例> 例えばなのですが、取引先会社の管理データベースとして「テーブルA」と「テーブルB」があったとします。 「テーブルA]のフィールドは「会社ID」、「会社名」、「住所」とします。 「テーブルB]のフィールドは「連絡先ID」、「会社ID」、「担当者名」とします。 そして、「会社ID」をリレーションシップで繋いで、クエリで「テーブルA」「テーブルB」の全てのフィールドを表示したとします。 この時、「テーブルA」にデータが5つあり、「テーブルB」にはデータが2つしかなく、結果リレーションシップを通じて対をなすデータが2つしかない場合には、クエリでは2つしかデータが表示されないと思います。 <質問> クエリではリレーションシップで対をなさないデータは無効となるようですが、対をなさないデータも全てクエリで表示する方法はないのでしょうか。 上記例でいうと、「テーブルA」のデータ5件全てについて表示させたいのですが。もちろん、「テーブルA」のデータ中対をなしていないものについては、「テーブルB」のフィールド内容については「空白」での表示となりますが。

  • アクセス 「#N/A」が置換、変換できない

    CSVから読み取ったデータに「#N/A」が 文字列(String型)としてテーブルのレコート゛に保存されています。 それを空白("")へ置換したいのですができません。 フィールドはテキスト型です。 ctrl+Fで「検索する文字列」に「#N/A」を入力し、 「次を検索」を押しても「指定した検索項目は見つかりませんでした。」 になってしまいます。 なぜでしょう?他の文字は検索、置換できます。 ご教授よろしくお願いします。

専門家に質問してみよう