Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : Access 2010)
Where条件の意味
投稿日時: 18/05/11 15:54:28
投稿者: nanodia

Where条件のこれは何を意味しているのでしょうか
 
="[明細ID]=" & [明細ID]
 
また
[明細ID]かつ[別のID]を含むようなフォームを開き編集したい場合は
Where条件をどうしたらいいでしょうか

回答
投稿日時: 18/05/11 19:10:53
投稿者: sk

引用:
Where条件

引用:
[明細ID]かつ[別のID]を含むようなフォームを開き編集したい場合

マクロにおける[フォームを開く]アクションの
[Where 条件]オプションに関するご質問でしょうか。
 
引用:
="[明細ID]=" & [明細ID]

例えば、そのアクションが実行された時点において
アクティブなオブジェクト(この場合はフォームか)上に
[明細ID]という名前のテキストボックスが存在したとして、
もしその時の[明細ID]が 1 であるならば
 
--------------------------------------------------------------
 
   "[明細ID]=" & [明細ID]
 
-> "[明細ID]=" & 1
 
-> "[明細ID]=1"
 
--------------------------------------------------------------
 
という抽出条件式(文字列)が[Where 条件]オプションに
渡されることになります。
 
なお、上記の式は[明細ID]のデータ型が数値型である場合に有効です。
 
([明細ID]のデータ型がテキスト型である場合)
--------------------------------------------------------------
 
="[明細ID]='" & [明細ID] & "'"
 
--------------------------------------------------------------
 
([明細ID]のデータ型が日付/時刻型である場合)
--------------------------------------------------------------
 
="[明細ID]=#" & [明細ID] & "#"
 
--------------------------------------------------------------
 
また、この時のテキストボックス[明細ID]の値が Null であった場合は
文字列連結の結果として構文が正しくない条件式が渡されることによって
エラーが発生する恐れがあります。
 
([明細ID]の値が Null である場合)
--------------------------------------------------------------
 
   "[明細ID]=" & [明細ID]
 
-> "[明細ID]=" & Null
 
-> "[明細ID]="
 
--------------------------------------------------------------
( = 演算子の右辺の値がないのでエラー)
 
引用:
[明細ID]かつ[別のID]を含む

[別のID]のデータ型も数値型なのであれば、
以下のように記述なさればよろしいでしょう。
 
([明細ID]のデータ型が日付/時刻型である場合)
--------------------------------------------------------------
 
="[明細ID]=" & [明細ID] & " And [別のID]=" & [別のID]
 
--------------------------------------------------------------
 
肝心なのは、最終的に "[明細ID]=1 And [別のID]=2" のような
正しい構文の条件式が渡されるようにすることを意識して、
文字列連結を行なうことです。

投稿日時: 18/05/14 09:43:34
投稿者: nanodia

うまくできましたありがとうございます。
&は文字列結合だったのですね。
初心者なので気が付きませんでした。
 
また何かあればよろしくお願いします。