超级牛的排序
按一次Button,显示一条记录;再按一次,显示下一条
sb.Append("SELECT TOP 1")
sb.Append(" S.*,")
sb.Append(" T.var_Torihikisaki_mei1,")
sb.Append(" T.var_Torihikisaki_mei2")
sb.Append(" FROM T_Shukka_Yotei S")
sb.Append(" LEFT JOIN TM_Torihikisaki T")
sb.Append(" ON S.chr_Kokyaku_code = T.chr_Torihikisaki_code")
sb.Append(" AND S.chr_Kokyaku_eda = T.chr_Torihikisaki_eda")
If Me._currentRow IsNot Nothing Then
'2回目以降の検索は基点となるキー項目を指定
sbWhere.Append(" WHERE")
sbWhere.Append(" (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1=@chr_Hinban1 AND chr_Hinban2=@chr_Hinban2 AND chr_Hinban3=@chr_Hinban3 AND var_Nonyu_bango>@var_Nonyu_bango)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1=@chr_Hinban1 AND chr_Hinban2=@chr_Hinban2 AND chr_Hinban3>@chr_Hinban3)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1=@chr_Hinban1 AND chr_Hinban2>@chr_Hinban2)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1>@chr_Hinban1)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda>@chr_Kokyaku_eda)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code>@chr_Kokyaku_code)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin>@sint_Nonyu_bin)")
sbWhere.Append(" OR (sdat_Nonyu_date>@sdat_Nonyu_date)")
If forward = False Then
'後方検索なら、不等号の向きを逆転させる
sbWhere.Replace(">", "<")
End If
sb.Append(sbWhere)
paramList.Add(DBManager.ParamString("chr_Kokyaku_code", Me._currentRow.Item("chr_Kokyaku_code")))
paramList.Add(DBManager.ParamString("chr_Kokyaku_eda", Me._currentRow.Item("chr_Kokyaku_eda")))
paramList.Add(DBManager.ParamDate("sdat_Nonyu_date", Me._currentRow.Item("sdat_Nonyu_date")))
paramList.Add(DBManager.ParamInt("sint_Nonyu_bin", Me._currentRow.Item("sint_Nonyu_bin")))
paramList.Add(DBManager.ParamString("chr_Hinban1", Me._currentRow.Item("chr_Hinban1")))
paramList.Add(DBManager.ParamString("chr_Hinban2", Me._currentRow.Item("chr_Hinban2")))
paramList.Add(DBManager.ParamString("chr_Hinban3", Me._currentRow.Item("chr_Hinban3")))
paramList.Add(DBManager.ParamString("var_Nonyu_bango", Me._currentRow.Item("var_Nonyu_bango")))
End If
呵呵
按一次Button,显示一条记录;再按一次,显示下一条
sb.Append("SELECT TOP 1")
sb.Append(" S.*,")
sb.Append(" T.var_Torihikisaki_mei1,")
sb.Append(" T.var_Torihikisaki_mei2")
sb.Append(" FROM T_Shukka_Yotei S")
sb.Append(" LEFT JOIN TM_Torihikisaki T")
sb.Append(" ON S.chr_Kokyaku_code = T.chr_Torihikisaki_code")
sb.Append(" AND S.chr_Kokyaku_eda = T.chr_Torihikisaki_eda")
If Me._currentRow IsNot Nothing Then
'2回目以降の検索は基点となるキー項目を指定
sbWhere.Append(" WHERE")
sbWhere.Append(" (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1=@chr_Hinban1 AND chr_Hinban2=@chr_Hinban2 AND chr_Hinban3=@chr_Hinban3 AND var_Nonyu_bango>@var_Nonyu_bango)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1=@chr_Hinban1 AND chr_Hinban2=@chr_Hinban2 AND chr_Hinban3>@chr_Hinban3)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1=@chr_Hinban1 AND chr_Hinban2>@chr_Hinban2)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda=@chr_Kokyaku_eda AND chr_Hinban1>@chr_Hinban1)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code=@chr_Kokyaku_code AND chr_Kokyaku_eda>@chr_Kokyaku_eda)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin=@sint_Nonyu_bin AND chr_Kokyaku_code>@chr_Kokyaku_code)")
sbWhere.Append(" OR (sdat_Nonyu_date=@sdat_Nonyu_date AND sint_Nonyu_bin>@sint_Nonyu_bin)")
sbWhere.Append(" OR (sdat_Nonyu_date>@sdat_Nonyu_date)")
If forward = False Then
'後方検索なら、不等号の向きを逆転させる
sbWhere.Replace(">", "<")
End If
sb.Append(sbWhere)
paramList.Add(DBManager.ParamString("chr_Kokyaku_code", Me._currentRow.Item("chr_Kokyaku_code")))
paramList.Add(DBManager.ParamString("chr_Kokyaku_eda", Me._currentRow.Item("chr_Kokyaku_eda")))
paramList.Add(DBManager.ParamDate("sdat_Nonyu_date", Me._currentRow.Item("sdat_Nonyu_date")))
paramList.Add(DBManager.ParamInt("sint_Nonyu_bin", Me._currentRow.Item("sint_Nonyu_bin")))
paramList.Add(DBManager.ParamString("chr_Hinban1", Me._currentRow.Item("chr_Hinban1")))
paramList.Add(DBManager.ParamString("chr_Hinban2", Me._currentRow.Item("chr_Hinban2")))
paramList.Add(DBManager.ParamString("chr_Hinban3", Me._currentRow.Item("chr_Hinban3")))
paramList.Add(DBManager.ParamString("var_Nonyu_bango", Me._currentRow.Item("var_Nonyu_bango")))
End If
呵呵