|
T.Nさんへ
>JRDBシステム班さんへ
>>T.Nさんへ
>>>tonakaiさんへ
>>>>T.Nさんへ
>>>>>追加で1(2)着馬とのタイムをSQL文で入れたいのですが
>>>>>((INT(D成績_1.コーナー順位4) - INT(D成績_1.コーナー順位3))>=4 and (INT(D成績_1.コーナー順位4) - INT(D成績_1.着順))>=3) and (INT(D成績_1.1(2)着馬とのタイム)<=012)
>>>>>と打ってもエラーが出ます。どう書けばいいのか教えてください。
>>>>>それとよろしければローテーションもお願いします。
>>>>
>>>>GGAが今手元にないので動作の確認は出来ませんが、「INT(D成績_1.1(2)着馬とのタイム」と、ここで整数に変換しているので、「<=012」このように書くと、ACCESSはもしかしたら文字列と認識している可能性があります。
>>>>「<=12」と書けば、SQL文としては正しいと思います。
>>>>もしくは、1(2)の部分の()でエラーになってる可能性が高いので、下記のように書けばいけるんじゃないでしょうか。
>>>>(INT([D成績_1].[1(2)着馬とのタイム])<=12)
>>>>実際に動かしていないので、間違っているかもしれません。
>>>>ローテションは、D競走馬に入っています。
>>>
>>>tonakaiさんへ
>>>御回答ありがとうございます。
>>>しかし検索したところ、「パラメータが少なすぎます。1を指定してください。」と
>>>「オブジェクト変数またはWithブロック変数が設定されていません。」
>>>とエラーが出てしまいます。
>>
>>項目名が間違っているようです。
>>1(2)着馬とのタイム (誤
>>↓
>>1(2)着タイム差 (正
>>
>>なので該当SQLは以下になります。
>>
>>((INT(D成績_1.コーナー順位4) - INT(D成績_1.コーナー順位3))>=4 and (INT(D成績_1.コーナー順位4) - INT(D成績_1.着順))>=3) and (INT([D成績_1].[1(2)着タイム差])<=12)
>
>すいません。↑のSQL文を入力したら「式が正しく入力されていないか、複雑すぎるために評価できません。
>たとえば、数式に複雑な要素が多すぎます。変数に式の一部を割り当て、式を簡単にしてください。」と
>「カレント レコードがありません。」と出てきてしまいます。
JRDBシステム班です。
再度、確認しました。
前回確認したときは、開催期間を過去1ヶ月にして
あとは拡張SQLのみとしてテストしたのですが、この場合分析結果が表示されました。
今回は、全期間で確認しましたが、確かにエラーになります。
調べたところ出走取消馬や、除外馬などは
[1(2)着タイム差]に" "が入っているためエラーになっていました。
取消や除外馬を除くために、" "を強引に999に変換すると以下になります。
((INT(D成績_1.コーナー順位4) - INT(D成績_1.コーナー順位3))>=4 and (INT(D成績_1.コーナー順位4) - INT(D成績_1.着順))>=3) and (IIF([D成績_1].[1(2)着タイム差]=" ",999,INT([D成績_1].[1(2)着タイム差]))<=12)
お試し下さい。
|
|