Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1797 / 2272 ツリー ←次へ | 前へ→

【5135】フォーム作成 バリュー 05/5/27(金) 11:12 お礼[未読]
【5139】Re:フォーム作成 小僧 05/5/27(金) 14:47 発言[未読]
【5143】Re:フォーム作成 バリュー 05/5/27(金) 17:00 質問[未読]
【5144】Re:フォーム作成 小僧 05/5/27(金) 17:30 回答[未読]
【5152】Re:フォーム作成 バリュー 05/5/30(月) 9:53 質問[未読]
【5154】Re:フォーム作成 小僧 05/5/30(月) 10:38 回答[未読]
【5156】Re:フォーム作成 バリュー 05/5/30(月) 11:28 質問[未読]
【5157】Re:フォーム作成 小僧 05/5/30(月) 12:01 回答[未読]
【5158】Re:フォーム作成 バリュー 05/5/30(月) 13:51 質問[未読]
【5160】Re:フォーム作成 小僧 05/5/30(月) 14:32 回答[未読]
【5161】Re:フォーム作成 バリュー 05/5/30(月) 15:34 質問[未読]
【5162】Re:フォーム作成 小僧 05/5/30(月) 16:15 回答[未読]
【5163】Re:フォーム作成 バリュー 05/5/30(月) 16:41 質問[未読]
【5164】Re:フォーム作成 小僧 05/5/30(月) 17:16 回答[未読]
【5168】Re:フォーム作成 バリュー 05/5/31(火) 11:09 質問[未読]
【5170】Re:フォーム作成 小僧 05/5/31(火) 13:10 発言[未読]
【5174】Re:フォーム作成 バリュー 05/5/31(火) 14:05 質問[未読]
【5175】Re:フォーム作成 小僧 05/5/31(火) 14:24 発言[未読]
【5176】Re:フォーム作成 バリュー 05/5/31(火) 14:58 発言[未読]
【5178】Re:フォーム作成 小僧 05/5/31(火) 15:20 発言[未読]
【5179】Re:フォーム作成 バリュー 05/5/31(火) 16:14 質問[未読]
【5181】Re:フォーム作成 小僧 05/5/31(火) 17:01 回答[未読]
【5182】Re:フォーム作成 バリュー 05/5/31(火) 17:46 質問[未読]
【5184】Re:フォーム作成 小僧 05/6/1(水) 10:04 回答[未読]
【5187】Re:フォーム作成 バリュー 05/6/1(水) 11:02 質問[未読]
【5188】Re:フォーム作成 小僧 05/6/1(水) 11:09 回答[未読]
【5189】Re:フォーム作成 バリュー 05/6/1(水) 11:58 質問[未読]
【5190】Re:フォーム作成 小僧 05/6/1(水) 13:07 回答[未読]
【5192】Re:フォーム作成 バリュー 05/6/1(水) 13:45 質問[未読]
【5193】Re:フォーム作成 小僧 05/6/1(水) 13:54 回答[未読]
【5195】Re:フォーム作成 バリュー 05/6/1(水) 14:34 質問[未読]
【5197】Re:フォーム作成 小僧 05/6/1(水) 15:27 回答[未読]
【5202】Re:フォーム作成 バリュー 05/6/1(水) 16:58 質問[未読]
【5204】Re:フォーム作成 小僧 05/6/1(水) 17:31 回答[未読]
【5209】Re:フォーム作成 バリュー 05/6/2(木) 9:58 質問[未読]
【5210】Re:フォーム作成 小僧 05/6/2(木) 10:39 回答[未読]
【5211】Re:フォーム作成 バリュー 05/6/2(木) 11:02 質問[未読]
【5215】Re:フォーム作成 小僧 05/6/2(木) 12:50 回答[未読]
【5217】Re:フォーム作成 バリュー 05/6/2(木) 13:35 質問[未読]
【5218】Re:フォーム作成 小僧 05/6/2(木) 13:49 回答[未読]
【5224】Re:フォーム作成 バリュー 05/6/3(金) 9:23 質問[未読]
【5226】Re:フォーム作成 小僧 05/6/3(金) 10:30 回答[未読]
【5231】Re:フォーム作成 バリュー 05/6/3(金) 12:21 質問[未読]
【5232】Re:フォーム作成 バリュー 05/6/3(金) 13:11 発言[未読]
【5233】Re:フォーム作成 小僧 05/6/3(金) 13:18 回答[未読]
【5237】Re:フォーム作成 バリュー 05/6/3(金) 14:16 お礼[未読]

【5135】フォーム作成
お礼  バリュー  - 05/5/27(金) 11:12 -

引用なし
パスワード
   小僧さん返信誠にありがとうございました。

教えて頂いたものを実行させたいところなのですが、

その点を後回しにして、他の作業をしていたところ、

また新たな疑問がでてきてしまいました。

そこで、また漠然としたお伺いになってしまうのでしょうか、、

コンボボックスに他テーブルの値を表示させたい場合、

上手く表示させられないトラブルで、

他テーブルを再作成して作業を進めたところ、

何も表示させられなくなってしまったのですが、

やはりテーブルから作り直すという作業は間違っているのでしょうか?

どこからどこまでが正しい操作で、どこからが間違っているのか?

手探りのまま進めているので困っています。

周囲に聞いて教えてもらえる環境にいないため、

すみません、返信お願いします。

なお、手元にある手引き書は、

「はじめてのAccess2000」という参考書です。

【5139】Re:フォーム作成
発言  小僧  - 05/5/27(金) 14:47 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

あくまで個人的な意見ですが…。
納得のいくテーブル構成ができるまでテーブル作成を何度でも繰り返して
その上でフォーム等を作っていくのがいいと思われます。

後からテーブルの変更を行うと、それに伴うVBAのコードや
フォームにも大きな影響を与えてしまいます。

自分もあまり上手にできないので大きな事は言えませんが
基本設計がしっかりしていないと、後々面倒な事になりかねません。

ほとんど完成に近づいてから致命的なミスがみつかってテーブルの変更を
余儀なくされるよりは、初めのうちに時間をかけて悩んでおいた方が良いと思います。

(HELPやWebで調べても)解らない事があった場合には掲示板に質問して頂ければ
自分以外にも回答して頂ける方がたくさんいらっしゃいますので
テーブル設計のところでも大いに悩んでみてはいかがでしょうか。

【5143】Re:フォーム作成
質問  バリュー  - 05/5/27(金) 17:00 -

引用なし
パスワード
   こんにちは。

返信誠にありがとうございます。
一人で悶々と進めていた作業にはずみがつきます。

先ほど頂戴したメールを上司に報告したところ、
現在の状況が、
上司の要件が未確定、
上司から依頼を受けた自分のAccessの知識が曖昧、、
というものになるので、
なのでとりあえずで作成してみて、
動かなくなったら、
その時に再作成してみようという結論に至った次第です。

なんだか気の遠くなるような作業を覚悟しないとみたいです。

なので、すみません。今後ともよろしくお願いします。

それで、すみません。早速なのですが、
以前頂戴したメールでのご回答の中の、
「2.連結フォームの例」を作成して動かしてみたところ、
エラーのポップアップメッセージがでて、
「クエリ式’T_千葉ロッテ.背番号’の構文エラー:演算子がありません」
とありました。

こちらにはどう対応したら良いでしょうか?

【5144】Re:フォーム作成
回答  小僧  - 05/5/27(金) 17:30 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

>「クエリ式’T_千葉ロッテ.背番号’の構文エラー:演算子がありません」
>とありました。

こちらの環境でうまくいくので確認して頂きたいのですが、ありがちなのが
全角スペースの問題です。

>>SELECT T_千葉ロッテ.背番号 FROM T_千葉ロッテ;
       ^             ^     ^
全てのスペースは半角になっているでしょうか?
全角スペースでしたら半角に直してください。

>上司の要件が未確定、
>上司から依頼を受けた自分のAccessの知識が曖昧、、
>というものになるので、
>なのでとりあえずで作成してみて、
>動かなくなったら、
>その時に再作成してみようという結論に至った次第です。

「Accessの勉強をするためにDBを作る」よりも、
「こういうものを作りたいからAccessを使う」という方が
より理想のデータベースが作成でき、VBAも早く覚えられると思います。

また自分だけが使用するツールだと自己満足になりがちな機能も
他人の目から見た評価はまた違ったものになると思います。

幸いにしてバリューさんには不確かではありますけど目指すツールがありますので
自分が、そして上司の方が納得するものを完成させる事ができたら
その事によって得られる知識と経験は大きなものになると思いますよ。

【5152】Re:フォーム作成
質問  バリュー  - 05/5/30(月) 9:53 -

引用なし
パスワード
   ▼小僧 さん:
おはようございます。

>>>SELECT T_千葉ロッテ.背番号 FROM T_千葉ロッテ;
>全てのスペースは半角になっているでしょうか?
>全角スペースでしたら半角に直してください。

ご回答ありがとうございます。

出勤後早速やってみたのですが、
やはり同じエラーメッセージがでてしまいます。

テーブルの名前の付け方がよろしくないのでしょうか?
ここでいう「T_千葉ロッテ」というテーブル名を、
「ta 対策書マスター(クレーム)」という名前にしたのですが、
aと対の間に半角スペースを入れたのがいけなかったでしょうか?

それから、
Private Sub 検索コンボ_AfterUpdate()
  Me.Filter = "背番号 = " & Me.検索コンボ
  Me.FilterOn = True
End Sub
というプログラムのところで、
「検索コンボ」のところを「対策書ID」、
「背番号」のところを「対策書ID」にしたのですが、
これもまたよろしくなかったでしょうか?

また、上記プログラムを入力する時は、
「更新後処理」の「コードビルダ」の中に入力したのですが、
直接入力するものになるのでしょうか?


>自分が、そして上司の方が納得するものを完成させる事ができたら
>その事によって得られる知識と経験は大きなものになると思いますよ。

ありがとうございます。

今までCOBOLを使ってPG&ちょこっとだけSEをしてきた身なので、
ツールや開発言語の違うAccessに戸惑いながら進めている現状です。
なので、おそらく初歩的なことばかりになってしまっている気がしますが、、
矢継ぎ早に質問してしまい、申し訳ないです。。

【5154】Re:フォーム作成
回答  小僧  - 05/5/30(月) 10:38 -

引用なし
パスワード
   ▼バリュー さん:
おはようございます。

VBAのエディタを使われていると多少実感できると思われますが、
VBAでは曖昧な記述を自分で判断して実行されます…。

一見便利ではありますが、作成者の意図とは違った動きをしてしまう場合があります。

>「ta 対策書マスター(クレーム)」という名前にしたのですが、

テーブル名が「A FROM」という名前だった時、(無理がありますが…)
値集合ソースに入るSQL式は

>SELECT A FROM.XXX FROM A FROM …

いったい何の事かわからなくなってしまいますよね。
テーブル名にスペースや「()」を使ってしまうと誤作動の元になりますが、
明示的に「[]」で括る事によって回避できる場合もあります。

SELECT [ta 対策書マスター(クレーム)].[対策書ID] FROM [ta 対策書マスター(クレーム)]

今後の場合を考えるとテーブル名を変更しておいた方が良いと思われます。
「_(アンダーバー)」以外の記号は誤作動の元になりますので、
スペースと()を使用しないテーブル名が望ましいです。

>「検索コンボ」のところを「対策書ID」、
>「背番号」のところを「対策書ID」にしたのですが、
>これもまたよろしくなかったでしょうか?

VBAで「対策書ID」と記述された時に、コンボボックス名かフィールド名かを
判断させるのをACCESSに任せてしまう事になります。
これも誤作動の元ですので「対策所IDコンボ」とでも変更しておいた方が良いです。

>また、上記プログラムを入力する時は、
>「更新後処理」の「コードビルダ」の中に入力したのですが、
> 直接入力するものになるのでしょうか?

コードビルダを選ぶと表示されるVBE(VBのエディタ画面)で大丈夫です。
更新後処理の欄が [イベント プロシージャ] となります。

>今までCOBOLを使ってPG&ちょこっとだけSEをしてきた身なので、
>ツールや開発言語の違うAccessに戸惑いながら進めている現状です。

言語は違っても「条件分岐」「ループ処理」などの考え方は一緒ですので
VBA独自の記述に慣れればどんどん上達されると思われます。

【5156】Re:フォーム作成
質問  バリュー  - 05/5/30(月) 11:28 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。

>SELECT [ta 対策書マスター(クレーム)].[対策書ID] FROM [ta 対策書マスター(クレーム)]
>今後の場合を考えるとテーブル名を変更しておいた方が良いと思われます。
>「_(アンダーバー)」以外の記号は誤作動の元になりますので、
>スペースと()を使用しないテーブル名が望ましいです。

早速修正しました。
aと対の間のスペースを削除して、()をとったテーブル名にしました。

>>「検索コンボ」のところを「対策書ID」、
>>「背番号」のところを「対策書ID」にしたのですが、
>>これもまたよろしくなかったでしょうか?
>VBAで「対策書ID」と記述された時に、コンボボックス名かフィールド名かを
>判断させるのをACCESSに任せてしまう事になります。
>これも誤作動の元ですので「対策所IDコンボ」とでも変更しておいた方が良いです。

修正しました。
コンボ名を「対策所ID」にしました。

>コードビルダを選ぶと表示されるVBE(VBのエディタ画面)で大丈夫です。
>更新後処理の欄が [イベント プロシージャ] となります。

確認しました。
ありがとうございます。

そして!
先週からとれずに苦しんでいたエラーメッセージがとれました!!
が。。

フォームビュー上の該当のコンボボックスに、
「#Name?」というものが表示され、
コンボボックスから選択後、入力、という動作ができません。
どうしたらよいでしょうか?

>言語は違っても「条件分岐」「ループ処理」などの考え方は一緒ですので
>VBA独自の記述に慣れればどんどん上達されると思われます。

ありがとうございます。

VBA独自の記述を調べる辞書のような参考書で、
初心者が使うのに良いものをご存知ですか?

これを買っても使えなかったら。。と考えるとなかなか買えない。。
というのが自分が置かれている部署の現状ですので、
これ!という道しるべがあれば心強いです。

【5157】Re:フォーム作成
回答  小僧  - 05/5/30(月) 12:01 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

>フォームビュー上の該当のコンボボックスに、
>「#Name?」というものが表示され、
>コンボボックスから選択後、入力、という動作ができません。
>どうしたらよいでしょうか?

直接の原因になっているかどうか解りませんが、
可能性の1つとして…。

[#5139]

で回答をした際に

>後からテーブルの変更を行うと、それに伴うVBAのコードや
>フォームにも大きな影響を与えてしまいます。

と書きましたが、

>早速修正しました。
>aと対の間のスペースを削除して、()をとったテーブル名にしました。

とした事により、フォームやコードに書いてあったテーブル名は
全て変更しなければならない事になります。

該当フォームのどこかに(レコードソースあたりが怪しいでしょうか…)
変更前のテーブル名が残ってしまってないかを確認してみて下さい。

>VBA独自の記述を調べる辞書のような参考書で、
>初心者が使うのに良いものをご存知ですか?

当方はExcelVBA ⇒ AccessVBAと覚えてきたのですが、
その際に参考書は1冊も買っていません…。
ひたすらHELPを参考にしてコードを作成してきました。
最近はWebが発達していますので解らない事はWebで調べて解決しています。
その際に訪れたニキータさんのサイト

http://www.mahoutsukaino.com/

はDB設計の概念から教えて下さっていて解りやすかったです。

参考書の出版社さんを敵に回してしまいますが…
WebにAccessやVBAのテクニックが溢れるほど紹介されているので、
インターネットができる環境であれば参考書は必要ないかな?と思ってしまいます。
ここの「VBA質問箱」でも過去ログを題材に学習していくとかなりの知識がつきますよ。

【5158】Re:フォーム作成
質問  バリュー  - 05/5/30(月) 13:51 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。

>該当フォームのどこかに(レコードソースあたりが怪しいでしょうか…)
>変更前のテーブル名が残ってしまってないかを確認してみて下さい。

早速確認してみました。
コンボボックス:対策所IDの中の「値集合ソース」の欄のテーブル名が
修正前のものでした。。
なので、テーブル名を修正後、フォームビューを見てみました。

「#Name?」はとれました!!
が。。
2件目以降の該当の項目値をコンボボックスで選択しようとすると、
「このコントロールはオートナンバー型の’対策書ID’フィールドに連結しているため、編集できません」
というメッセージが画面一番下に出て、選択できません。
画面一番下という位置は、通常は「フォームビュー」と出ている欄です。

度々すみません。
どう対処したらよいでしょうか?


>ひたすらHELPを参考にしてコードを作成してきました。
>最近はWebが発達していますので解らない事はWebで調べて解決しています。
>その際に訪れたニキータさんのサイト
>http://www.mahoutsukaino.com/
>はDB設計の概念から教えて下さっていて解りやすかったです。
>WebにAccessやVBAのテクニックが溢れるほど紹介されているので、
>インターネットができる環境であれば参考書は必要ないかな?と思ってしまいます。
>ここの「VBA質問箱」でも過去ログを題材に学習していくとかなりの知識がつきますよ。

ありがとうございます。
一人でできるはずない。。とかなり落ち込んでいたので、
ご意見すごく励みになります。

依頼されて開発し始めたとき、
自分はHELPさえまともに使えない状況でした。。
なので、今度HELPを使う事があったらその点でもお伺いしてしまうかもしれません。。
ほんと情けなくてごめんなさい。。

【5160】Re:フォーム作成
回答  小僧  - 05/5/30(月) 14:32 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

>2件目以降の該当の項目値をコンボボックスで選択しようとすると、
>「このコントロールはオートナンバー型の’対策書ID’フィールドに連結しているため、編集できません」
>というメッセージが画面一番下に出て、選択できません。

コンボボックスのコントロールソースを空白にしてみて下さい。
ここがテーブルと連結されていると上記のエラーが発生すると思われます。

>>ひたすらHELPを参考にしてコードを作成してきました。
>なので、今度HELPを使う事があったらその点でもお伺いしてしまうかもしれません。。

VBAのコードが表示されている状態で、
調べたい用語をマウスでドラッグ ⇒ F1キー
でヘルプが表示されますが…

ACCESSのヘルプ、VBのヘルプ、DAOやADOのヘルプなど様々なものがありますが、
ヘルプを解読するためのガイドが欲しくなるような物もあります(笑)
使用例に「Northwind.mdb」が出てくると逃げ出したくなります…。

「ヘルプを見たけれど、記載されているxxxの部分が解らない」のような質問でも
自分を含め回答者がつくと思われますので、めげずに頑張りましょう!

【5161】Re:フォーム作成
質問  バリュー  - 05/5/30(月) 15:34 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
返信誠にありがとうございます。

>>2件目以降の該当の項目値をコンボボックスで選択しようとすると、
>>「このコントロールはオートナンバー型の’対策書ID’フィールドに連結しているため、編集できません」
>>というメッセージが画面一番下に出て、選択できません。
>コンボボックスのコントロールソースを空白にしてみて下さい。
>ここがテーブルと連結されていると上記のエラーが発生すると思われます。

できました!
ありがとうございます!!

けれども、フォーム上で自分が動かせたい動きをしなかったので、
ごめんなさい、もう少し欲張ってお伺いしてもよいですか?

フォーム上で自分が動かせたかった動きとは、
「対策書ID」をコンボボックスで選択後、
その値が入っていたレコード一件の中身全てがフォーム上に表示される。
というものでした。

以下同じような説明になってしまいますが、、
フォームヘッダーに「対策書ID」のコンボボックスを作成して、
([#5119]の
>(フォームヘッダに配置するとそれらしくなります。)
というご意見を参考にさせて頂きました。)
コンボボックスの値を選択、入力後、
詳細にレコード一件の中身全てが表示されることを考えていました。

上記のような動きは、
やはりクエリーを使わないといけませんか?
(クエリーを使わないと動かす事は無理なんじゃないか?
と上司からの意見があったのですが、、)
そもそもクエリーとは何なのでしょう??
イメージとして、
テンポラリファイルみたいなものだと考えてもよいものでしょうか??


>VBAのコードが表示されている状態で、
>調べたい用語をマウスでドラッグ ⇒ F1キー
>でヘルプが表示されますが…

わかりました。
機会が来た時早速やってみます。
ちなみに、
自分はこれまでメニューバーのヘルプをクリックしてやっていました。。


>使用例に「Northwind.mdb」が出てくると逃げ出したくなります…。

なぜですか??
「Northwind.mdb」って何ですか??


>「ヘルプを見たけれど、記載されているxxxの部分が解らない」のような質問でも
>自分を含め回答者がつくと思われますので、めげずに頑張りましょう!

ありがとうございます。
すごく助かります!

【5162】Re:フォーム作成
回答  小僧  - 05/5/30(月) 16:15 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

>コンボボックスの値を選択、入力後、
>詳細にレコード一件の中身全てが表示されることを考えていました。

検索を掛けるコンボボックスのコントロールソース ⇒ 空白
それ以外のテキストボックス  ⇒  フィールド名

でどうでしょうか?

>そもそもクエリーとは何なのでしょう??
>イメージとして、
>テンポラリファイルみたいなものだと考えてもよいものでしょうか??

テーブルを様々な形に加工(2つ以上のテーブルを合わせたり、
必要なフィールドのみを表示させたり)したオブジェクトです。
クエリのデータを変更すると、元テーブルの値も変更されます。

今回の場合も、「対策書ID = xx」 というものだけ抜き出したクエリを作成し、
それを元にしたフォーム作成という方法もあります。

>>使用例に「Northwind.mdb」が出てくると逃げ出したくなります…。
>
>なぜですか??
>「Northwind.mdb」って何ですか??

ヘルプで実際に出てきた時に「あぁ。この事を言ってたんだ」と思い出して下さい(笑)

【5163】Re:フォーム作成
質問  バリュー  - 05/5/30(月) 16:41 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
返信誠にありがとうございます。

>>コンボボックスの値を選択、入力後、
>>詳細にレコード一件の中身全てが表示されることを考えていました。
>検索を掛けるコンボボックスのコントロールソース ⇒ 空白
>それ以外のテキストボックス  ⇒  フィールド名
>でどうでしょうか?

やってみたのですが、変わりませんでした。。泣

確認なのですが、
「それ以外のテキストボックス」とは
「テキストボックスのプロパティのコントロールソース名」
という意味でよかったですよね?

現在は3件、レコードがDBに格納されている状況なのですが、
もう何件かレコード入力した方がよいでしょうか?

【5164】Re:フォーム作成
回答  小僧  - 05/5/30(月) 17:16 -

引用なし
パスワード
   ▼バリュー さん:
>確認なのですが、
>「それ以外のテキストボックス」とは
>「テキストボックスのプロパティのコントロールソース名」
>という意味でよかったですよね?

説明不足で申し訳ないです。上記の意味で大丈夫です。

>現在は3件、レコードがDBに格納されている状況なのですが、
>もう何件かレコード入力した方がよいでしょうか?

3件でも問題ありません。
フォームの下の方にあるレコードセレクタに

「レコード |< <   1  >  >|  >* / 3」

みたいな感じになってれば大丈夫です。

他に思い当たるものとして…

>修正しました。
>コンボ名を「対策所ID」にしました。

コンボボックス名を変更した事により、更新後処理のコードが変わるはずなので
もう一度コンボボックスの更新後処理のビルダの中身をチェックしてみてください。

【5168】Re:フォーム作成
質問  バリュー  - 05/5/31(火) 11:09 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
返信誠にありがとうございます。


>>確認なのですが、
>>「それ以外のテキストボックス」とは
>>「テキストボックスのプロパティのコントロールソース名」
>>という意味でよかったですよね?
>説明不足で申し訳ないです。上記の意味で大丈夫です。

ありがとうございます。
拙い質問の為に気を煩わせてしまい申し訳ないです。。


>>現在は3件、レコードがDBに格納されている状況なのですが、
>>もう何件かレコード入力した方がよいでしょうか?
>3件でも問題ありません。
>フォームの下の方にあるレコードセレクタに
>「レコード |< <   1  >  >|  >* / 3」
>みたいな感じになってれば大丈夫です。

ありがとうございます。
安心しました。


>他に思い当たるものとして…
>>修正しました。
>>コンボ名を「対策所ID」にしました。
>コンボボックス名を変更した事により、更新後処理のコードが変わるはずなので
>もう一度コンボボックスの更新後処理のビルダの中身をチェックしてみてください。

Private Sub 対策所ID_AfterUpdate()
  Me.Filter = "対策書ID = " & Me.対策所ID
  Me.FilterOn = True
End Sub

上記に修正し、できました!
ご指摘の通り、「書」を「所」に修正しRERUNしたところ上手くいきました。


ところで、すみません。
もう少し欲張って質問してもよいですか?

期間(例えば、2005/04/01〜2005/05/31)を入力して、
その期間内の該当するレコードを
抽出(おそらく複数件抽出されると思われます)後、
抽出したレコードの中の一項目をコンボボックスにして、
コンボボックス内のいくつかの項目ごとの値を表示させて選択、入力後、
そのレコード内の他の項目を修正する。
という動きを一画面でさせたい場合、
どうしたらよいでしょうか?

【5170】Re:フォーム作成
発言  小僧  - 05/5/31(火) 13:10 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

>期間(例えば、2005/04/01〜2005/05/31)を入力して、
>その期間内の該当するレコードを
>抽出(おそらく複数件抽出されると思われます)後、

ここまでは理解できたのですが、

>抽出したレコードの中の一項目をコンボボックスにして、
>コンボボックス内のいくつかの項目ごとの値を表示させて選択、入力後、
>そのレコード内の他の項目を修正する。

この部分がいまいち理解できません。

テーブルのフィールド構成やそこに入るデータなどを(仮の例をあげて頂いても構いません)
具体的にして頂いた上で流れを説明して頂けるとと回答しやすくなると思われます。

【5174】Re:フォーム作成
質問  バリュー  - 05/5/31(火) 14:05 -

引用なし
パスワード
   ▼小僧 さん:
度々すみません。
返信誠にありがとうございます。


>>抽出したレコードの中の一項目をコンボボックスにして、
>>コンボボックス内のいくつかの項目ごとの値を表示させて選択、入力後、
>>そのレコード内の他の項目を修正する。
>この部分がいまいち理解できません。
>テーブルのフィールド構成やそこに入るデータなどを(仮の例をあげて頂いても構いません)
>具体的にして頂いた上で流れを説明して頂けるとと回答しやすくなると思われます。

自分が現在作成中のフォームを
「Print Screen」ボタンを使って
こちらに載せようとしたところ、
できませんでした。。涙

自分の知識不足のせいだと思います。。

けれども、このままあきらめたくないです。。
こちらの「投稿」メールの下に、
「□レスがあったらメールが欲しい(要メールアドレス)」とありますが、
メールだったら小僧さん宛までお送りする事ができるのでは?
と思ったのですが、
やはりご迷惑でしょうか。。

【5175】Re:フォーム作成
発言  小僧  - 05/5/31(火) 14:24 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

バリューさんと同じように悩んでいる方がいらっしゃった時、
ここから先をメールで展開してしまうと見失ってしまう事になってしまいます。

また当方が間違いを犯してしまった時や知識不足のため回答がつけられない時も
進まなくなってしまいます…。

掲示板に移すのは手間が掛かりますが、当方とバリューさん以外の方にも
見えるようにしていきたいと思うのですがいかがでしょうか?

【5176】Re:フォーム作成
発言  バリュー  - 05/5/31(火) 14:58 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。


>バリューさんと同じように悩んでいる方がいらっしゃった時、
>ここから先をメールで展開してしまうと見失ってしまう事になってしまいます。

そうですね。
メールの怖さを感じます。


>掲示板に移すのは手間が掛かりますが、当方とバリューさん以外の方にも
>見えるようにしていきたいと思うのですがいかがでしょうか?

作業が先に進めばそれで構わないです。

ただ、先ほど申し上げた操作で自分のフォームがこちらに載らないので、
どうしたらよいものか困った時にひらめいたメール案でした。

それから、
こんな事を申し上げたら良くないのでしょうが、
自分のフォームがこちらに載って、
その後悪意のある方から何かされやしないか??
といった漠然とした不安があった事も否めません。

セキュリティ関係の知識が曖昧な自分の責任なのですが。。

けれども、小僧さんパート2とかパート3とか、
そういった方々がいてくだされば、
自分も心強く感じます。

すみません、失礼を承知の上で申し上げました。。

【5178】Re:フォーム作成
発言  小僧  - 05/5/31(火) 15:20 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

>自分のフォームがこちらに載って、
>その後悪意のある方から何かされやしないか??
>といった漠然とした不安があった事も否めません。

先日自分が提示させていただいた例(千葉ロッテ)の様に、
適当な例をあげるのが良いのではないかとおもいます。

今回ですと、まず何かしらの日付が必要。

フィールド「仕入日」とか…。

あとは
フィールド品名:「りんご」「みかん」「トマト」
     種類:「果物」「野菜」

とかにすれば特に情報の漏洩も心配なさる事はないと思われます。

その上で「果物で抽出した上でどうたら」とか「りんごの単価を変えたい」とか
あると、回答がしやすいと思われます。

【5179】Re:フォーム作成
質問  バリュー  - 05/5/31(火) 16:14 -

引用なし
パスワード
   ▼小僧 さん:
度々すみません。
返信誠にありがとうございます。

項目名は5つです。
「発行No.」「発行日」「発生場所」「是正先」「不具合内容」
全て入力画面上の項目です。

この項目が格納されているテーブルの主キーは「発行No.」です。

上記項目のうち、入力する時にコンボボックスになっている項目が2つあります。
「発生場所」・・・他テーブルから選択するようにしました。
「是正先」・・・入力画面上で値を設定しました。

検索に使いたい項目は「発行日」です。

「発行日」検索で抽出したレコードを同じ入力画面に表示します。

そこから「発生場所」「是正先」「不具合内容」で再検索して、
最終的に「発行No.」を導き出したいです。

そうして導き出したレコードに修正を加えられたら、、
それが上司からの依頼です。

【5181】Re:フォーム作成
回答  小僧  - 05/5/31(火) 17:01 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。
今度は内容が具体的なのでとてもイメージしやすいです。

>そこから「発生場所」「是正先」「不具合内容」で再検索して、
>最終的に「発行No.」を導き出したいです。

先ほどご提示された内容ですと、ここでコンボボックスを使って絞り込みたい
という事ですよね?

その際にいくつかの懸念があるのですが、

 1) 日付で抽出されたデータが多い(100件とか)あると、
   コンボボックスから探す事自体が大変になる。

 2) 不具合内容に入る値が長い(○○○○○○が△△△△△△△△△△△△△のためとか)
   とコンボボックスの幅が大変になる。

 3) 必ず最終的に1レコードに絞れるのか。

色々な解決方法があると思われますが、例えば…

不具合内容を一言であらわす「件名」というフィールドを設けて
「日付」で検索 → 「件名」で選択 → 該当レコードを表示

とかはいかがでしょう?

【5182】Re:フォーム作成
質問  バリュー  - 05/5/31(火) 17:46 -

引用なし
パスワード
   ▼小僧 さん:
度々すみません。
返信誠にありがとうございます。


上司に報告したところ、指示がありました。

> 1) 日付で抽出されたデータが多い(100件とか)あると、
>   コンボボックスから探す事自体が大変になる。

100件ないそうです。

> 2) 不具合内容に入る値が長い(○○○○○○が△△△△△△△△△△△△△のためとか)
>   とコンボボックスの幅が大変になる。

長かったら、最初の文字だけ少し表示させられればよいとの事でした。

> 3) 必ず最終的に1レコードに絞れるのか。

1レコードに絞りこまれなくても、
入力する際に対象となるレコードが何件か絞りこまれればよいとのことでした。

よろしくお願いします。

【5184】Re:フォーム作成
回答  小僧  - 05/6/1(水) 10:04 -

引用なし
パスワード
   ▼バリュー さん:
おはようございます。
いよいよ型が決まってきましたね。

フォーム(元テーブル名:テーブルA)上には

フォームヘッダーに
  開始日ボックス:(テキストボックス)
  終了日ボックス:(テキストボックス)
  検索実行ボタン:(コマンドボタン)
  発生場所コンボ:(コンボボックス)
  是正先コンボ :(コンボボックス)
  不具合コンボ :(コンボボックス)

を配置するとして

Private Sub 検索実行ボタン_Click()
'開始日と終了日が空だった場合は実行させません
  If IsNull(Me.開始日ボックス) Or IsNull(Me.終了日ボックス) Then
    MsgBox "開始日と終了日を入れて下さい"
    Exit Sub
  End If

'開始日と終了日が日付型でなかった場合は実行させません
  If Not IsDate(Me.開始日ボックス) Or Not IsDate(Me.終了日ボックス) Then
    MsgBox "開始日と終了日を正しく入力して下さい"
    Exit Sub
  End If

'発生場所・是正先・不具合のコンボボックスを空にします
  Me.発生場所コンボ.Value = ""
  Me.是正先コンボ.Value = ""
  Me.不具合コンボ.Value = ""

'日付でフィルタを掛けます
  Me.Filter = _
    "[発行日] Between #" & Me.開始日ボックス.Value & "# AND #" _
               & Me.終了日ボックス.Value & "#"
  Me.FilterOn = True
  
'発生場所コンボの値集合ソースを設定します
  Me.発生場所コンボ.RowSource = _
    "SELECT 発生場所 FROM テーブルA " _
   & "WHERE 発行日 Between #" & Me.開始日ボックス.Value & "# AND #" _
                 & Me.終了日ボックス.Value & "#"

End Sub

とりあえずここまでを。
発生場所コンボを選択すると、日付で絞られた値しか出てこなかったら成功です。

開始日ボックス、終了日ボックスはテキストボックスを使用しているため、
入力者の判断(05/01/01、05.01.01、H17.1.1など…)が働いてしますため
一工夫が必要です。過去ログやWebでお調べになってそれでも解らなければ
新しいスレッドを立てて質問してみてください。

上のコードは発生場所コンボの値集合ソースしか設定していませんが、
同じように是正先コンボ、不具合コンボにも同じように設定してみてください。

後は発生場所、是正先、不具合の各コンボボックスの更新後処理に
フィルタを掛けるコードを設定していけば良いかと思われます。

解らないところがありましたらできる限り回答致しますので
「できるところまで」自力でがんばってみてください!

【5187】Re:フォーム作成
質問  バリュー  - 05/6/1(水) 11:02 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
返信誠にありがとうございます。


>とりあえずここまでを。
>発生場所コンボを選択すると、日付で絞られた値しか出てこなかったら成功です。
>上のコードは発生場所コンボの値集合ソースしか設定していませんが、
>同じように是正先コンボ、不具合コンボにも同じように設定してみてください。

すみません、お伺いなのですが、
こちらのコードを入力する画面は、
「コンボボックス:発生場所」の「プロパティ」の
「値集合ソース」の「クエリビルダ」の「SQLステートメント」でしょうか?

【5188】Re:フォーム作成
回答  小僧  - 05/6/1(水) 11:09 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

ごめんなさい。詳しく書いておりませんでしたね。

>>Private Sub 検索実行ボタン_Click()

という事で、検索実行ボタン(コマンドボタン)を
クリックする事から始まるコードですので、

検索実行ボタンの「クリック時」からのコードビルダーに
記入をお願いします。

【5189】Re:フォーム作成
質問  バリュー  - 05/6/1(水) 11:58 -

引用なし
パスワード
   ▼小僧 さん:
度々すみません。
返信誠にありがとうございます。


>>>Private Sub 検索実行ボタン_Click()
>という事で、検索実行ボタン(コマンドボタン)を
>クリックする事から始まるコードですので、
>検索実行ボタンの「クリック時」からのコードビルダーに
>記入をお願いします。

教えて頂いた上記の場所に、
早速下記のようにコードを投入してみました。

Private Sub 検索実行ボタン_Click()
'発行日が空だった場合は実行させません
  If IsNull(Me.発行日) Then
    MsgBox "発行日を入れて下さい"
    Exit Sub
  End If

'発行日が日付型でなかった場合は実行させません
  If Not IsDate(Me.発行日) Then
    MsgBox "発行日を正しく入力して下さい"
    Exit Sub
  End If

'発生場所・是正先・不具合のコンボボックスを空にします
  Me.発生場所.Value = ""
  Me.是正先.Value = ""
  Me.不具合内容.Value = ""

'発生場所コンボの値集合ソースを設定します
  Me.発生場所.RowSource = _
    "SELECT 発生場所 FROM ta対策書マスタークレーム " _
   & "WHERE 発行日 Between #"

End Sub

実行させようとしたところ、
エラーメッセージがでました。

「実行時エラー'3315'
フィールド'ta対策書マスタークレーム.発生場所'には、
長さ0の文字列を格納できません」
とありました。

何がよろしくなかったでしょうか?

【5190】Re:フォーム作成
回答  小僧  - 05/6/1(水) 13:07 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

「フッター」に配置した「発生場所」「是正先」「不具合」の各コンボボックスは
検索用に使用するので、非連結(コントロールソースを空)にして下さい。

「詳細」にテーブルと連結されたテキストボックスを配置してみて下さい。

【5192】Re:フォーム作成
質問  バリュー  - 05/6/1(水) 13:45 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。


すみません、確認したいのですが、、

>フォームヘッダーに
>  開始日ボックス:(テキストボックス)
>  終了日ボックス:(テキストボックス)
>  検索実行ボタン:(コマンドボタン)
>  発生場所コンボ:(コンボボックス)
>  是正先コンボ :(コンボボックス)
>  不具合コンボ :(コンボボックス)
>を配置するとして

とおっしゃられていたので、

>「フッター」に配置した「発生場所」「是正先」「不具合」の各コンボボックスは

とありました「フッター」はフォームヘッダーのことになりますよね??

【5193】Re:フォーム作成
回答  小僧  - 05/6/1(水) 13:54 -

引用なし
パスワード
   ▼バリュー さん:
>>「フッター」に配置した「発生場所」「是正先」「不具合」の各コンボボックスは
>
>とありました「フッター」はフォームヘッダーのことになりますよね??

ごめんなさい。フォームヘッダーです…。

【5195】Re:フォーム作成
質問  バリュー  - 05/6/1(水) 14:34 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。


>検索用に使用するので、非連結(コントロールソースを空)にして下さい。
>「詳細」にテーブルと連結されたテキストボックスを配置してみて下さい。

やってみましたが、同じエラーがでてしまいました。。

他にご指摘頂けませんでしょうか?

【5197】Re:フォーム作成
回答  小僧  - 05/6/1(水) 15:27 -

引用なし
パスワード
   ▼バリュー さん:
ツリー形式で見ると右にずれてしましましたので、
左に戻します…。

現在、バリューさんの作っているフォームと当方のフォームに
ずれが出て来てしまっていますので、

<<<<<<<<ヘッダー部>>>>>>>>>
コントロール名  コントロールタイプ
開始日ボックス   テキストボックス
   ・          ・
   ・          ・
   ・          ・

<<<<<<<<詳細部>>>>>>>>>>>>
コントロール名  コントロールタイプ
発行日      テキストボックス
   ・          ・
   ・          ・
   ・          ・

のように、現在どのようなコントロールをフォーム上に設置したかを
教えていただけるとありがたいです。

【5202】Re:フォーム作成
質問  バリュー  - 05/6/1(水) 16:58 -

引用なし
パスワード
   ▼小僧 さん:
度々すみません。
本当に助かります。


ヘッダー部・・・検索する時に必要な項目を設置
詳細部・・・・・・入力する時に必要な項目を設置

という指示のもと配置した次第です。


><<<<<<<<ヘッダー部>>>>>>>>>
>コントロール名  コントロールタイプ
>開始日ボックス   テキストボックス
>   ・          ・
>   ・          ・
>   ・          ・

発行日        テキストボックス
次を検索       コマンドボタン
発生場所       コンボボックス
是正先        コンボボックス
不具合内容      コンボボックス


><<<<<<<<詳細部>>>>>>>>>>>>
>コントロール名  コントロールタイプ
>発行日      テキストボックス
>   ・          ・
>   ・          ・

発行日       テキストボックス
発生場所      コンボボックス
是正先       コンボボックス
不具合内容     コンボボックス    その他いろいろ、です。

なお、フッター部は何もない状態です。

よろしくお願いします。

【5204】Re:フォーム作成
回答  小僧  - 05/6/1(水) 17:31 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

3つほど提案・質問があります。

>><<<<<<<<ヘッダー部>>>>>>>>>
>発行日        テキストボックス
>次を検索       コマンドボタン
>発生場所       コンボボックス
>是正先        コンボボックス
>不具合内容      コンボボックス
>
>
>><<<<<<<<詳細部>>>>>>>>>>>>
>発行日       テキストボックス
>発生場所      コンボボックス
>是正先       コンボボックス
>不具合内容     コンボボックス    その他いろいろ、です。

1) ヘッダー部と詳細部のコントロールの名前(発生場所、是正先など)が
  一緒だとエラーになりませんか?

2) 検索に使う発行日は範囲指定(開始〜終了)でなくてよいですか?

3) 詳細部はコンボボックスでなくテキストボックスの方が良いと思われます。

【5209】Re:フォーム作成
質問  バリュー  - 05/6/2(木) 9:58 -

引用なし
パスワード
   ▼小僧 さん:
おはようございます。
よろしくお願いします。


>3つほど提案・質問があります。
>>><<<<<<<<ヘッダー部>>>>>>>>>
>>発行日        テキストボックス
>>次を検索       コマンドボタン
>>発生場所       コンボボックス
>>是正先        コンボボックス
>>不具合内容      コンボボックス
>>><<<<<<<<詳細部>>>>>>>>>>>>
>>発行日       テキストボックス
>>発生場所      コンボボックス
>>是正先       コンボボックス
>>不具合内容     コンボボックス    その他いろいろ、です。
>1) ヘッダー部と詳細部のコントロールの名前(発生場所、是正先など)が
>  一緒だとエラーになりませんか?
じつは、詳細部の項目はまだ設定していない状態です。
上記のヘッダー部へ詳細部から移動させて配置した後に、
入力画面となる詳細部にもヘッダー部にある項目が必要だから配置するように指示があったので
これから配置するところでした。

一画面上で実現できないなら二画面(検索画面と入力画面)に分けても良い
という指示もあったのですが、
二画面に分けたら、同じ項目を使用しても構いませんか?


>2) 検索に使う発行日は範囲指定(開始〜終了)でなくてよいですか?
範囲指定にさせたいです。

テーブルに項目を追加して作成した方が良いでしょうか?


>3) 詳細部はコンボボックスでなくテキストボックスの方が良いと思われます。
詳細部のコンボボックスは他テーブルから表示させる形式のものなのですが、
(入力する時の作業を軽くする為に他テーブルから表示、選択するようにして欲しい
という指示があったので)
よろしくなかったでしょうか?

【5210】Re:フォーム作成
回答  小僧  - 05/6/2(木) 10:39 -

引用なし
パスワード
   ▼バリュー さん:
おはようございます。

>>1)
>一画面上で実現できないなら二画面(検索画面と入力画面)に分けても良い
>という指示もあったのですが、
>二画面に分けたら、同じ項目を使用しても構いませんか?

ここまでヘッダーを検索用に使うという前提でやってきたのでこのまま行きましょう。
もちろん別フォームやサブフォームという手段もありますが、コントロールの指定の
やり方が多少複雑になるので、まずは1つのフォームで…。

ヘッダー部と詳細部のコントロールを区別する(人間もAccessも)ために、
ヘッダー部のコントロール名は全て「検索_(アンダースコア)」をつけてみましょう。
例)
発行日    テキストボックス
      ↓
検索_発行日 テキストボックス

>>2)
>範囲指定にさせたいです。
>テーブルに項目を追加して作成した方が良いでしょうか

テーブルを変更する必要はないのですが、検索する際のテキストボックスが2つ
必要になりますよね? という事で

検索_開始日  テキストボックス
検索_終了日  テキストボックス

でいかがでしょうか。

>>3)
>詳細部のコンボボックスは他テーブルから表示させる形式のものなのですが、
>(入力する時の作業を軽くする為に他テーブルから表示、選択するようにして欲しい
>という指示があったので)
>よろしくなかったでしょうか?

コンボボックスでも可能ですね。

ヘッダー部のコントロールが
>>検索_開始日  テキストボックス
>>検索_終了日  テキストボックス
>>検索_実行   コマンドボタン
>>検索_発生場所 コンボボックス
>>検索_是正先  コンボボックス
>>検索_不具合  コンボボックス

として検索_実行ボタンのクリックのコードビルダに以下のコードで試してください。

Private Sub 検索_実行_Click()
'開始日と終了日が空だった場合は実行させません
  If IsNull(Me.検索_開始日.Value) Or IsNull(Me.検索_終了日.Value) Then
    MsgBox "開始日と終了日を入れて下さい"
    Exit Sub
  End If

'開始日と終了日が日付型でなかった場合は実行させません
  If Not IsDate(Me.検索_開始日.Value) Or Not IsDate(Me.検索_終了日.Value) Then
    MsgBox "開始日と終了日を正しく入力して下さい"
    Exit Sub
  End If

'発生場所・是正先・不具合のコンボボックスを空にします
  Me.検索_発生場所.Value = ""
  Me.検索_是正先.Value = ""
  Me.検索_不具合.Value = ""

'日付でフィルタを掛けます
  Me.Filter = _
    "[発行日] Between #" & Me.検索_開始日.Value & "# AND #" _
               & Me.検索_終了日.Value & "#"
  Me.FilterOn = True
  
'発生場所・是正先・不具合のコンボボックスの値集合ソースを設定します
  Me.検索_発生場所.RowSource = _
    "SELECT 発生場所 FROM テーブルA " _
   & "WHERE 発行日 Between #" & Me.検索_開始日.Value & "# AND #" _
                 & Me.検索_終了日.Value & "#"
End Sub

【5211】Re:フォーム作成
質問  バリュー  - 05/6/2(木) 11:02 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。


教えて頂いた事早速やってみます。

そこでお恥ずかしながら、、、
「_(アンダースコア)」はどういうふうにキーボード操作したら良いでしょうか?

【5215】Re:フォーム作成
回答  小僧  - 05/6/2(木) 12:50 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

Shift キーを押しながら「ろ」(キーボードの右下)ですね。
半角で使ってください。

【5217】Re:フォーム作成
質問  バリュー  - 05/6/2(木) 13:35 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
返信誠にありがとうございます。


>ヘッダー部のコントロールが
>>>検索_開始日  テキストボックス
>>>検索_終了日  テキストボックス
>>>検索_実行   コマンドボタン
>>>検索_発生場所 コンボボックス
>>>検索_是正先  コンボボックス
>>>検索_不具合  コンボボックス
>として検索_実行ボタンのクリックのコードビルダに以下のコードで試してください。
>Private Sub 検索_実行_Click()
>'開始日と終了日が空だった場合は実行させません
>  If IsNull(Me.検索_開始日.Value) Or IsNull(Me.検索_終了日.Value) Then
>    MsgBox "開始日と終了日を入れて下さい"
>    Exit Sub
>  End If
>
>'開始日と終了日が日付型でなかった場合は実行させません
>  If Not IsDate(Me.検索_開始日.Value) Or Not IsDate(Me.検索_終了日.Value) Then
>    MsgBox "開始日と終了日を正しく入力して下さい"
>    Exit Sub
>  End If
>
>'発生場所・是正先・不具合のコンボボックスを空にします
>  Me.検索_発生場所.Value = ""
>  Me.検索_是正先.Value = ""
>  Me.検索_不具合.Value = ""
>
>'日付でフィルタを掛けます
>  Me.Filter = _
>    "[発行日] Between #" & Me.検索_開始日.Value & "# AND #" _
>               & Me.検索_終了日.Value & "#"
>  Me.FilterOn = True
>  
>'発生場所・是正先・不具合のコンボボックスの値集合ソースを設定します
>  Me.検索_発生場所.RowSource = _
>    "SELECT 発生場所 FROM テーブルA " _
>   & "WHERE 発行日 Between #" & Me.検索_開始日.Value & "# AND #" _
>                 & Me.検索_終了日.Value & "#"
>End Sub

上記の通りやってみたのですが、
エラーメッセージこそ出ないのですが、
何も変化がおきません。。

どうしたらよいものでしょうか?

【5218】Re:フォーム作成
回答  小僧  - 05/6/2(木) 13:49 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

実行後の「検索_発生場所」の▼マークを押すと
「検索_開始日」「検索_終了日」の間で抽出された
発生場所が表示されるコードなのですが…。

考える要因:
1) コマンドボタンの名前を変えたので、クリックしても
  コードが実行されていない。

2) 元のテーブルにデータがない。もしくは「検索_開始日」〜「検索_終了日」間に
  該当するレコードが1件もない。

上記2つの点を確認してみて下さい。
 

【5224】Re:フォーム作成
質問  バリュー  - 05/6/3(金) 9:23 -

引用なし
パスワード
   ▼小僧 さん:
おはようございます。


>実行後の「検索_発生場所」の▼マークを押すと
>「検索_開始日」「検索_終了日」の間で抽出された
>発生場所が表示されるコードなのですが…。
>考える要因:
>1) コマンドボタンの名前を変えたので、クリックしても
>  コードが実行されていない。
>2) 元のテーブルにデータがない。もしくは「検索_開始日」〜「検索_終了日」間に
>  該当するレコードが1件もない。
>上記2つの点を確認してみて下さい。

ラベル名が入っていなかったので修正しました。
RERUNしてみたところ、
「コンパイルエラー:メソッドまたはデータメンバが見つかりません」
というメッセージがでて、
「Private Sub 検索_実行_Click()」の場所が矢印つきで黄色の表示、
「.Value」の場所が青色の表示になりました。

度々すみません。
どう対処したらよいでしょうか?

【5226】Re:フォーム作成
回答  小僧  - 05/6/3(金) 10:30 -

引用なし
パスワード
   ▼バリュー さん:
おはようございます。
>ラベル名が入っていなかったので修正しました。

ラベルはあってもなくても構わないのですが

>RERUNしてみたところ、
>「コンパイルエラー:メソッドまたはデータメンバが見つかりません」
>というメッセージがでて、
>「Private Sub 検索_実行_Click()」の場所が矢印つきで黄色の表示、
>「.Value」の場所が青色の表示になりました。

↑の事象から推測されるのがテキストボックス・コンボボックスに名前をつけるのでなく、
ラベルに名前をつけてしまっている可能性があります。
というのもラベルには「.Value」というプロパティが存在しないからです。

コンボボックス・テキストボックスに「検索_XXX」という名前をつけ、
ラベルは…「XXXラベル」とでも名前を変えてみてください。

【5231】Re:フォーム作成
質問  バリュー  - 05/6/3(金) 12:21 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
返信誠にありがとうございます。


>コンボボックス・テキストボックスに「検索_XXX」という名前をつけ、
>ラベルは…「XXXラベル」とでも名前を変えてみてください。

修正し、動きました!!
そこで、日付の入力規制をかけたいのですが、
どんなふうに入力しても「YYYY/MM/DD」の形にさせたいのですが、
テーブルから設定させるものでしょうか?

【5232】Re:フォーム作成
発言  バリュー  - 05/6/3(金) 13:11 -

引用なし
パスワード
   度々すみません。

追加のお伺いになってしまうのですが、
テーブルに入ってきて欲しい値が入ってきていなくて困っています。。

コンボボックスで他テーブルのデータを表示させて選択して入力する、
という操作がフォーム上でできるのですが、
テーブルにはフォームで入力した他テーブルの値ではなく、
主キーが入力してきてしまっています。

こちらにはどう対処したらよいでしょうか?

【5233】Re:フォーム作成
回答  小僧  - 05/6/3(金) 13:18 -

引用なし
パスワード
   ▼バリュー さん:
こんにちは。

骨格となる部分は見えてきたと思われますので、
後は細かい部分を過去ログ、ヘルプ等を見ながら
作っていきましょう。

>そこで、日付の入力規制をかけたいのですが、
>どんなふうに入力しても「YYYY/MM/DD」の形にさせたいのですが、
>テーブルから設定させるものでしょうか?

こちらは新しく発生した質問なので、スレッドを立て直して
再度質問の形がよいかと思われます。
今回は当方がスレッドを立てますが、次回から「ご自分で調べても」
解決できない事がありましたら新しいスレッドを立てて他の回答者も
回答しやすいようにしていきましょう。

【5237】Re:フォーム作成
お礼  バリュー  - 05/6/3(金) 14:16 -

引用なし
パスワード
   ▼小僧 さん:
返信誠にありがとうございます。


>骨格となる部分は見えてきたと思われますので、
>後は細かい部分を過去ログ、ヘルプ等を見ながら
>作っていきましょう。

Accessでの開発に専念できる環境にいない為、
作業の合間を見てこちらにお伺いをしておりました。
なので、自力で解決する時間が惜しくて教えて頂いておりました。
これまで本当にすみませんでした。
ありがとうございました。

1797 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078256
(SS)C-BOARD v3.8 is Free