フォーム内のテーブルの情報を生成するために使用される sql クエリがあります。操作で情報を整理したい。操作には 1 ~ 30 の番号が付けられていますが、テーブルでそれらを表示すると、すべての操作が 1 の組み合わせで始まり、次に 2 の順に並べられています。フィールドがテキストフィールドであるためだと思いますが、数値で並べ替える方法はありますか?

これを試して
SELECT * FROM Tablename ORDER BY val(operation)
ソート番号の後に非数値である必要があります
推奨される方法は、整数SortOrder列を作成し、1 から N までの値を希望の順序で入力して並べ替えることです。
Operationアイテムの最大長までパディングされた列に基づいて、計算された列で並べ替える必要があることに失敗しました。
次のようなものを試してください:
SELECT Operation, Element, Time
FROM YourTable
ORDER BY CInt(Operation) ASC
[注:CInt()数字にピリオドが含まれている場合、期待どおりに動作しません。CInt(8.6) は 9 に切り上げられます!]
あなたの問題は、文字列型の列で結果を並べ替えることです-その場合、ソートアルゴリズムは最初の文字を最初にチェックし、最初の文字のみをチェックするため、「5 H ...」は「12 S ...」の後に来ます2番目の文字に移動するのと同じです...
ソートを正しく行うには、追加の列 (int または数値) でダイの partID を選択し、partID で並べ替えます。
たとえば、次のように、新しい列を含めて並べ替えることができます。
SELECT Operation, Element, Time, Qty, Mid(Operation, 1, 2) AS Order
FROM YourTable
ORDER BY Order ASC
注: 数値が 2 桁を超える場合、これはあまり大きくなりません。スペース文字の最初の文字を選択してから注文する必要があります。何かのようなもの:
SELECT Operation, Element, Time, Qty, Mid(Operation, 1, Instr(Operation, " ")) AS Order
FROM YourTable
ORDER BY Order ASC