Access VBA質問箱 IV

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

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


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

【10267】サブフォーム内の検索 enigma 08/2/28(木) 15:17 質問[未読]
【10272】Re:サブフォーム内の検索 VBWASURETA 08/2/29(金) 17:52 回答[未読]
【10276】Re:サブフォーム内の検索 enigma 08/3/3(月) 0:04 質問[未読]
【10277】Re:サブフォーム内の検索 VBWASURETA 08/3/3(月) 9:22 回答[未読]
【10286】Re:サブフォーム内の検索 enigma 08/3/4(火) 11:06 発言[未読]
【10287】Re:サブフォーム内の検索 neptune 08/3/4(火) 11:25 発言[未読]
【10290】Re:サブフォーム内の検索 小僧 08/3/4(火) 12:48 発言[未読]
【10297】Re:サブフォーム内の検索 enigma 08/3/7(金) 10:19 お礼[未読]

【10267】サブフォーム内の検索
質問  enigma  - 08/2/28(木) 15:17 -

引用なし
パスワード
   サブフォームにあるテキストボックスから特定の文字列を検索しようとしていますが上手くいきません。

rs.FindFirst "(サブフォーム名)!(テキストボックス名) Like '(検索文字列)*'"

実行すると、'(サブフォーム名)!(テキストボックス名)'を有効なフィールド名、または式として認識できません
のメッセージが出てしまいます。
どう対処してよいか、まったく検討がつきません。どなたか、ご教授お願いします。

【10272】Re:サブフォーム内の検索
回答  VBWASURETA  - 08/2/29(金) 17:52 -

引用なし
パスワード
   ▼enigma さん:

こんにちは。

それは、メインのフォーム内にあるサブフォームでしょうか?

それであれば、最近回答しました以下のURLを参照して
サブフォーム名を入れて下さい。

//www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=10247;id=access

【10276】Re:サブフォーム内の検索
質問  enigma  - 08/3/3(月) 0:04 -

引用なし
パスワード
   回答ありがとうございます。
おっしゃるとおり、メインフォーム内のサブフォームを検索しようとしています。
ご回答を参考にやってみましたが、ダメでした。

Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFist "サブフォーム名.Form.コントロール名 Like'*検索文字列*'"

を実行しましたが、やはりメッセージは
'サブフォーム名.Form.コントロール名'を有効なフィールド名、または式として認識できません。
でした。
根本的に何かを間違っているのでしょうか?

【10277】Re:サブフォーム内の検索
回答  VBWASURETA  - 08/3/3(月) 9:22 -

引用なし
パスワード
   ▼enigma さん:
おはようございます。
以下のように入れてみても同じでしたら名称が間違っていると
思われます。
半角全角に問題ないか確認してください。
ウィザードを使って入れて見るのも良いかも知れません。

サブフォーム指定例:
Forms![メインフォーム名]![サブフォーム名].Form![コントロール名]

【10286】Re:サブフォーム内の検索
発言  enigma  - 08/3/4(火) 11:06 -

引用なし
パスワード
   VBWASURETA さん回答いただきありがとうございます。

ご指摘いただきましたように指定しましたが、同じ結果でした。
色々試してみましたが、どうやら"!"が入るとダメッぼいです。
ためしに、メインフォーム内(コマンドボタンもメインフォーム内)を検索するときに
rs FindFirst"Me!コントロール名 Like'*(文字列)*'"を実行しても同じ結果が返ってきます。
も、どうしていいか分かりません

【10287】Re:サブフォーム内の検索
発言  neptune  - 08/3/4(火) 11:25 -

引用なし
パスワード
   ▼enigma さん:
こんにちは

横から失礼します。

>rs FindFirst"Me!コントロール名 Like'*(文字列)*'"を実行しても同じ結果が返ってきます。
>も、どうしていいか分かりません

と、言う事なので、それでは、本来のVB(A)の文法に従ってみたらどうですか?

dim fldname as string
'↓これはAccessの仕様上このままでは駄目だったかもしれませんが、
'(Me!コントロール名のプロパティが取得できない可能性あったかも。
'長い間Accessで書いてないので忘れました。)
’こんな感じと言う事で。
fldname=me.コントロール名.text
rs findfirst fldname & " Like'*(文字列)*'"

こんな感じで。本来の姿ですから、コントロールのTextプロパティか、
Valueプロパティを取得できると大丈夫なはずです。
 Text、とValueの両方で試してみて下さい。どちらかはこのまま行けたという
かすかな記憶があるような無いような^ ^;;;

【10290】Re:サブフォーム内の検索
発言  小僧  - 08/3/4(火) 12:48 -

引用なし
パスワード
   ▼enigma さん、みなさま:
こんにちは。

Web上の掲示板の場合、なかなかニュアンスが伝わらなくて難しいですよね。

> サブフォームを検索しようとしています。
> Set rs = Me.Recordset.Clone

お言葉通り、本当にサブフォームを検索するのでしたら


 Set rs = Me![埋め込み0].Form.RecordsetClone
   rs FindFirst "フィールド名 Like'*(文字列)*'"


[埋め込み0] と書きましたが、
ソースオブジェクトでなく名前である点に注意して下さい。

まったく見当違いでしたらすみません。

【10297】Re:サブフォーム内の検索
お礼  enigma  - 08/3/7(金) 10:19 -

引用なし
パスワード
   小僧さん、ご指導いただいたみなさん、ありがとうございました。
小僧さんの指示通りで、上手くいきました。

本当にありがとうございました。

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