Access VBA質問箱 IV

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

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


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

【11218】IIfにLikeを入れたい BUN 09/10/14(水) 19:54 質問[未読]
【11219】Re:IIfにLikeを入れたい hatena 09/10/14(水) 20:52 回答[未読]
【11220】Re:IIfにLikeを入れたい BUN 09/10/14(水) 21:20 質問[未読]
【11221】Re:IIfにLikeを入れたい hatena 09/10/14(水) 21:37 回答[未読]
【11222】Re:IIfにLikeを入れたい BUN 09/10/15(木) 0:08 質問[未読]
【11223】Re:IIfにLikeを入れたい hatena 09/10/15(木) 14:47 発言[未読]
【11224】Re:IIfにLikeを入れたい BUN 09/10/15(木) 17:52 質問[未読]
【11225】Re:IIfにLikeを入れたい hatena 09/10/15(木) 18:45 回答[未読]
【11226】Re:IIfにLikeを入れたい hatena 09/10/15(木) 18:55 回答[未読]
【11229】Re:IIfにLikeを入れたい BUN 09/10/17(土) 14:59 質問[未読]
【11230】Re:IIfにLikeを入れたい hatena 09/10/17(土) 15:12 回答[未読]
【11231】Re:IIfにLikeを入れたい BUN 09/10/17(土) 15:19 お礼[未読]

【11218】IIfにLikeを入れたい
質問  BUN E-MAIL  - 09/10/14(水) 19:54 -

引用なし
パスワード
   お世話になります
Accessのクエリっていいのか分からず投稿しました。

AccessSQLでIIfにLikeを入れたいのですが何が間違っているのか分かりません

変更前CHK: IIf(([テーブル名].[フィールド名]),"HIT","")

変更後CHK: IIf((Like"*[テーブル名].[フィールド名]*",),"HIT","")

分かる方ご教授願います

【11219】Re:IIfにLikeを入れたい
回答  hatena  - 09/10/14(水) 20:52 -

引用なし
パスワード
   >AccessSQLでIIfにLikeを入れたいのですが何が間違っているのか分かりません
>
>変更前CHK: IIf(([テーブル名].[フィールド名]),"HIT","")
>↓
>変更後CHK: IIf((Like"*[テーブル名].[フィールド名]*",),"HIT","")
>
>分かる方ご教授願います

フィールド欄に記述しているのですよね。

演算子は、左辺と右辺があって始めて式になります。

左辺 = 右辺
左辺 Like 右辺

というように。

例えば、

"123AB456" Like "*AB*"

という式なら、True という結果を返しますが、

Like "*AB*"

では式にはならないですよね。

自分が何と何を比較したいのかよく考えてみてください。

【11220】Re:IIfにLikeを入れたい
質問  BUN E-MAIL  - 09/10/14(水) 21:20 -

引用なし
パスワード
   ▼hatena さん:
>>AccessSQLでIIfにLikeを入れたいのですが何が間違っているのか分かりません
>>
>>変更前CHK: IIf(([テーブル名].[フィールド名]),"HIT","")
>>↓
>>変更後CHK: IIf((Like"*[テーブル名].[フィールド名]*",),"HIT","")
>>
>>分かる方ご教授願います
>
>フィールド欄に記述しているのですよね。
>
>演算子は、左辺と右辺があって始めて式になります。
>
>左辺 = 右辺
>左辺 Like 右辺
>
>というように。
>
>例えば、
>
>"123AB456" Like "*AB*"
>
>という式なら、True という結果を返しますが、
>
>Like "*AB*"
>
>では式にはならないですよね。
>
>自分が何と何を比較したいのかよく考えてみてください。


お返事ありがとうございます
自宅に帰って投稿してます
内容を確認すると考え方では下記になるということですか?
実行結果は明日会社でやってみます。
変更後CHK:IIf(("[比較先テーブル名].[比較先フィールド名]"Like"*[テーブル名].[フィールド名]*"),"HIT","")

【11221】Re:IIfにLikeを入れたい
回答  hatena  - 09/10/14(水) 21:37 -

引用なし
パスワード
   >実行結果は明日会社でやってみます。
>変更後CHK:IIf(("[比較先テーブル名].[比較先フィールド名]"Like"*[テーブル名].[フィールド名]*"),"HIT","")

考え方としては、そうですね。

しかし、その式では、

"[比較先テーブル名].[比較先フィールド名]" という文字列に、
"[テーブル名].[フィールド名]"が含まれているかどうかを調べる
式になります。(常に結果は False です。)
やりたいことはそうではないですよね。

もう少しヒントを。フィールド1 の値と フィールド2 の値が
等しいかどうかを判定する式は、

[フィールド1] = [フィールド2]

です。

"[フィールド1]" = "[フィールド2]"

は常にFalseになります。

【11222】Re:IIfにLikeを入れたい
質問  BUN E-MAIL  - 09/10/15(木) 0:08 -

引用なし
パスワード
   ▼hatena さん:
>>実行結果は明日会社でやってみます。
>>変更後CHK:IIf(("[比較先テーブル名].[比較先フィールド名]"Like"*[テーブル名].[フィールド名]*"),"HIT","")
>
>考え方としては、そうですね。
>
>しかし、その式では、
>
>"[比較先テーブル名].[比較先フィールド名]" という文字列に、
>"[テーブル名].[フィールド名]"が含まれているかどうかを調べる
>式になります。(常に結果は False です。)
>やりたいことはそうではないですよね。
>
>もう少しヒントを。フィールド1 の値と フィールド2 の値が
>等しいかどうかを判定する式は、
>
>[フィールド1] = [フィールド2]
>
>です。
>
>"[フィールド1]" = "[フィールド2]"
>
>は常にFalseになります。
ず〜〜〜と考えたのですが
いくら考えてもわかりません。;;
もう少しヒントをいただければ・・・m(__)m

【11223】Re:IIfにLikeを入れたい
発言  hatena  - 09/10/15(木) 14:47 -

引用なし
パスワード
   >ず〜〜〜と考えたのですが
>いくら考えてもわかりません。;;

具体的に何が分からないのでしょうか。

クエリのSQLでは "" で囲むとそれは単なる文字列になるということは理解できてますか。

【11224】Re:IIfにLikeを入れたい
質問  BUN E-MAIL  - 09/10/15(木) 17:52 -

引用なし
パスワード
   ▼hatena さん:
>>ず〜〜〜と考えたのですが
>>いくら考えてもわかりません。;;
>
>具体的に何が分からないのでしょうか。
>
>クエリのSQLでは "" で囲むとそれは単なる文字列になるということは理解できてますか。

はい大体は分かってるつもりですが・・
業務での使用なので少し時間的にせまっているので色々検索したら
下記内容でクリアしているところもあるようです。
変更後CHK:IIf(("[比較先テーブル名].[比較先フィールド名]"Like"*[テーブル名].[フィールド名]*"),"HIT","")
www.accessclub.jp/bbs/0093/beginers33585.html

【11225】Re:IIfにLikeを入れたい
回答  hatena  - 09/10/15(木) 18:45 -

引用なし
パスワード
   >はい大体は分かってるつもりですが・・
>業務での使用なので少し時間的にせまっているので色々検索したら
>下記内容でクリアしているところもあるようです。
>変更後CHK:IIf(("[比較先テーブル名].[比較先フィールド名]"Like"*[テーブル名].[フィールド名]*"),"HIT","")
>www.accessclub.jp/bbs/0093/beginers33585.html

掲示板での情報が必ず正しいとは限りませんからね。勘違いのまま閉じてしまうということはよくあることです。

まずは実際に試してみれば分かることです。

【11226】Re:IIfにLikeを入れたい
回答  hatena  - 09/10/15(木) 18:55 -

引用なし
パスワード
   正解出しておきます。

変更後CHK: IIf(([比較先フィールド名] Like "*" & [フィールド名] & "*"),"HIT","")

【11229】Re:IIfにLikeを入れたい
質問  BUN E-MAIL  - 09/10/17(土) 14:59 -

引用なし
パスワード
   ▼hatena さん:
>正解出しておきます。
>
>変更後CHK: IIf(([比較先フィールド名] Like "*" & [フィールド名] & "*"),"HIT","")
↑ヒントを出してくれていたのに答えまで・・自分が情けなく思います
心よりお礼申し上げますm(__)m

お返事遅くなり申し訳ありません
完全にうまくいくか不安だったので返事が遅くなりました。
上司に事情説明して休日出勤させてもらいました。

■完全一致(数字等は除く)CHK: IIf(([フィールド名]),"HIT","")
これは一致したものにたいしてHITを返してくれます。
しかしこれでは自分の理想ではありありません

■変更後CHK: IIf(([比較先フィールド名] Like "*" & [フィールド名] & "*"),"HIT","")
これはたぶん比較先フィールドが空白以外にHITを返しているような
動きをしています。


私の理想は下記です
比較先
大阪府大阪市たろう町1

住所
大阪市たろう
よろしくお願い申し上げます

【11230】Re:IIfにLikeを入れたい
回答  hatena  - 09/10/17(土) 15:12 -

引用なし
パスワード
   >私の理想は下記です
>比較先
>大阪府大阪市たろう町1
>
>住所
>大阪市たろう

変更後CHK: IIf([比較先] Like "*" & [住所] & "*","HIT","")

これで希望通りになるはずです。

【11231】Re:IIfにLikeを入れたい
お礼  BUN E-MAIL  - 09/10/17(土) 15:19 -

引用なし
パスワード
   ▼hatena さん:
>>私の理想は下記です
>>比較先
>>大阪府大阪市たろう町1
>>
>>住所
>>大阪市たろう
>
>変更後CHK: IIf([比較先] Like "*" & [住所] & "*","HIT","")
>
>これで希望通りになるはずです。

早いお返事有難うございます。
できましたm(__)m

・クエリ内で○○レコードと○○の同じ結合フィールドのレコードだけを含める
にしてました。

軽率な行動すみません

これで完全に私の理想になりました。
本当に有難うございました。

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