をProjectNum column
含む がありstring data type
ます。通常、番号は ですX1234...
が、番号が割り当てられていない場合は自動生成する必要があり、プロジェクトに割り当てられた優先度に応じて、それが で始まるかどうかが決まりますC or F
。C or F
したがって、自動生成された番号は、6 桁の数字で始まり、その後に自動インクリメントする必要があります。だからここに私の質問があります...
SELECT MAX(CINT(RIGHT(ProjectNum, 6))) AS LastDigits
FROM project_master_query
WHERE ((ProjectNum LIKE (IIF([@priorityDefID] = 4, "C*", "F*"))));
これにより、最後に自動インクリメントされた数値を取得でき、コードで 1 を追加して数値を自動生成できます@priorityDefID of 4
。 、エラーが表示されます"This expression is typed incorrectly, or it is too complex to be evaluated.
。たとえば、数値式に複雑な要素が多すぎる可能性があります。式の一部を変数に代入して、式を単純化してみてください。」
なぜこれが I pass 4 になるのかよくわかりませんが、1、2、または 3 は問題なく動作し、正しい値を返します。私は書く代わりにMAX
、CまたはFで始まるそれらすべてをつかみ、次に正しい6桁をつかみ、降順にして上位1をつかむことを考えていましたか?