| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

VB 有効期間に含まれるデータを判定

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

有効期間に含まれるデータを判定

VB |

有効期間[開始日(sd)~終了日(ed)]を持つデータに対し、 ある範囲[開始日(tsd)~終了日(ted)]に有効か否かを判定する。

概念

'
'     tsd                        ted
'     |-------------------------|           ' 対象範囲
'                                           ' --- 生存範囲
'  sd     ed               sd       ed      ' === 該当範囲
'1:+---====+               2:+===------+
'           sd            ed
'         3:+==============+
'  sd                               ed
'4:+---==========================----+
'
'

判定

 If ( tsd <= ed  And ed  <= ted ) _      'data 1, data 3
 Or ( tsd <= sd  And sd  <= ted ) _      'data 2, data 3
 Or ( sd  <= tsd And ted <= ed ) Then    'data 4
       ' 有効範囲にあるデータ
 End If

SQL

     sd  between tsd and ted
 or  ed  between tsd and ted
 or  tsd between sd  and ed
 or  ted between sd  and ed