
MS-Access2000を使っています。
テーブルに時間が指定してあり、その時間幅に合わせて文字列を検索したいと考えています。
Excelのlookup のように対象の値を入れると同数以外は前の(上の)数字を検索するという処理をしたいのです。
しかし、VBA内ではVlookupは無く、DLookupとなり値が同数でなければ「null」を返してきます。
何か良い方法はあるでしょうか?ぜひ、回答をよろしくお願い致します。
VBAでの関数
temp = DLookup("表記", "T_時間帯", "開始 = #" & Me.時間帯 & "#")
T_時間帯
開始 表記
9:00 午前中A
10:30 午前中B
13:00 午後A
15:00 午後B
例
*9:30をMe.時間帯に入れておくと検索値を「9:00」としたい
*12:59Me.時間帯に入れておくと検索値を「10:30」としたい
*13:00Me.時間帯に入れておくと検索値を「13:00」としたい
*17:00Me.時間帯に入れておくと検索値を「15:00」としたい
No.2ベストアンサー
- 回答日時:
temp = dmax("表記", "T_時間帯", "開始 <= #" & Me.時間帯 & "#")
でどうですか?
ありがとうございました。「開始」の最初を検索して、その中から最大値の値が目標とする答えなんて、考えもつきませでした。
昨日の夕方に回答を見て作成しまして、とりあえず形になりました。御礼が遅れてすみません。本当にありがとうございました。
No.1
- 回答日時:
select case で処理してはどうでしょうか?
参考までにコードを。
15:00以降から9:00未満はElseで処理しています。
'timev=入力された時間値
'SearchTime=検索時使用する丸めた(切り上げた)時間値
Select Case True
Case timev >= #9:00:00 AM# And timev < #10:30:00 AM#
SearchTime = #9:00:00 AM#
Case timev >= #10:30:00 AM# And timev < #1:00:00 PM#
SearchTime = #10:30:00 AM#
Case timev >= #1:00:00 PM# And timev < #3:00:00 PM#
SearchTime = #1:00:00 PM#
Case Else
SearchTime = #3:00:00 PM#
End Select
回答をありがとうございました。
そうですね。対象外をelseにしてselect caseを使っても良かったのですね。
切羽詰っていましたので、どうも思った以上のことは出来なかったようです。
今後の参考になると思いますので、私のライブラリに保管しておきます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
わり算の結果が整数でも小数点...
-
ストアドプロシージャ_カーソル...
-
カーソル0件の時にエラーを発生...
-
データ型でFloatとreal の計算...
-
差し込み後、元データを変更し...
-
select文のwhere句に配列を入れ...
-
1日に1人がこなせるプログラム...
-
access2003 クエリSQL文に...
-
for whichの使い方
-
特定の文字列で列を区切るには?
-
エクセルで最後の文字だけ置き...
-
Access:クエリーにて集計後に...
-
INSERT文でフィールドの1つだ...
-
外部参照してるキーを主キーに...
-
JANコードとPOSコードは同じ?
-
SQLで特定の項目の重複のみを排...
-
Outlook 送受信エラー
-
マイクラPC版のコマンドで効率...
-
SQL文で、合計が0のレコードを...
-
select文のwhere句に配列を入れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
カーソル宣言をIFで分けられま...
-
データ型でFloatとreal の計算...
-
カーソルを使って、最終行レコ...
-
(x 行処理されました)を表示さ...
-
処理件数を非表示にしたい
-
SQL-LOADERの逆のもの
-
RDBとVSAMの比較
-
ストアドプロシージャ_カーソル...
-
Accessで処理経過を表示したい...
-
カーソルオープンの処理について
-
NVLとDECODEのスピード差
-
カーソルがコミットするとクロ...
-
SQL plus で改行
-
PL/SQL で continue ?
-
VBAで複数あるTEXTBOXをクリッ...
-
テーブルの項目が異なるテーブ...
-
クエリの実行時間の目安
-
わり算の結果が整数でも小数点...
-
SELECT と INSERT の速度
おすすめ情報