こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracleからexcelへの抽出条件

office2010 oracle11g

Oracleデータベースから、excelマクロで条件を満たすデータを抽出したいです。

macroシートのI1に
=TEXT(NOW(),"yyyymmddhhmm")
が設定されています。

oracleのUSERというテーブルで、V_HELP_END_DTの列に日付としてのデータが入っています。
20170327
20160609
の様に西暦月日、8桁のデータです。

今日の日付 < V_HELP_END_DT
のデータを抽出する条件で下記の様に設定しました。

Dim t As String
t = Sheets("macro").Range("I1").Value
rs.Open "select * from USER where V_HELP_END_DT >" & t, cn, adOpenDynamic, adLockOptimistic, adCmdText

上記のマクロで、エラーは発生しないのですが、何も抽出されません。
何が悪いのか、訂正いただきたく、よろしくお願いします。

なお、下記の場合は、2017から始まるデータが抽出されます。
rs.Open "select * from USER where V_HELP_END_DT > '2017%' ", cn, adOpenDynamic, adLockOptimistic, adCmdText

投稿日時 - 2017-02-20 16:50:28

QNo.9296113

暇なときに回答ください

質問者が選んだベストアンサー

オラクルはあまり得意ではないのですが・・(汗)

> macroシートのI1に
> =TEXT(NOW(),"yyyymmddhhmm")
> が設定されています。
ここを
  式:=TEXT(NOW(),"yyyymmdd")
の8ケタにしてみては?

あるいは
> Dim t As String
> t = Sheets("macro").Range("I1").Value
ここを
  t = Mid(Sheets("macro").Range("I1").Value, 1, 2)
にしてみるか。

検索キーは8ケタですよね?

投稿日時 - 2017-02-20 17:55:53

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)