1

私が欲しいのは、データベース内の数量をピースから取得し、それをダースに変換することです。次に、ダースとして入力し、断片に変換して、データベースに再度保存します。

データを入力するとき。10.3、それは私にとって123ピースに変換されるはずです((10 * 12)+ 3)。私のコードは「If句」がなくてもうまく機能しますが、データが「単一」タイプの場合に限ります。整数を入力するとエラーが発生したため、最初に「If ..」ステートメントを追加してチェックしました。これで、整数の出力は正しくなりましたが、単一の数値を入力すると正しくなくなりました。

私はこのコードを持っています。

Function DzToPcs(val)

'If CLng(val) = val then <-- not work
'if Fix(val) <> val then <-- work but the output was not correct when input single type number.
if Int(vInt) = vInt then <-- work but the output was not correct when input single type number.
    DztoPcs = val * 12
else
    strInt =  Cstr(val)
    a = Split(strInt,".")

    dz = a(0) 
    pcs = a(1)

    getdz = Cint(dz)
    getpcs = Cint(pcs)

    DztoPcs = (getdz * 12) + getpcs
end if 
4

1 に答える 1

1

ステートメントの何が問題になっているのかわかりませんifが(私のVBScriptは少し錆びています)、次の方法を試すことができます。

Function DzToPcs(val)

    strInt =  Cstr(val)
    a = Split(strInt,".")
    dz = a(0) 

    if UBound(a) > 0 then
        pcs = a(1)
        getdz = Cint(dz)
        getpcs = Cint(pcs)
        DztoPcs = (getdz * 12) + getpcs
    else
        DztoPcs = dz * 12
    end if 

end function
于 2012-09-06T14:56:57.597 に答える