確かに "-" が見つからなかった場合の扱いは設定されておらず、結果演算フィールドは空のままです。
演算フィールド[発注番号]が Null を返している場合については問題ないはずです。
IIf(Left([機種],1)<>"○",IIf(Left([注文番号],1)="B",Mid([注文番号],2,InStr(12,[注文番号],"-",0)-2),Left([注文番号],InStr(11,[注文番号],"-",0)-1)),[注文番号])
hiroton さんと私が指摘しているのは、[発注番号]が以下のような結果を返しているレコードが
[Q_手配内訳2]に 1 件以上含まれていないか、ということです。
- [機種]の値が "○" でも Null でもなく、かつ次に示すいずれかの条件に該当する。
[注文番号]の値が Null である(結果、Left 関数の第 2 引数に Null が渡されてエラーが発生する)。
[注文番号]の値の最初の 1 文字が "B" ではなく、かつ 11 文字目以降に "-" が含まれていない(結果、Left 関数の第 2 引数に -1 が渡されてエラーが発生する)。
[注文番号]の値の最初の 1 文字が "B" であり、かつ 12 文字目以降に "-" が含まれていない(結果、Mid 関数の第 3 引数に -2 が渡されてエラーが発生する)。
上記のケースに該当する場合に、エラー値が返されないように[発注番号]の式を組み直すか、[注文番号]の値を適切なものに書き換えるか、もしくは該当するレコード自体が[Q_手配内訳2]の結果に含まれないようになされば、[Q_手配内訳2]と[T_指定日インポート]を[発注番号]同士で結合できるようになるでしょう。
通報 ...