Shouldn't...
CalcSecID = Left(CalcSecID,Instr(1,CalcSecID,"-")) & (val(Mid(CalcSecID,Instr(1,CalcSecID,"-")+1) + 1)
be
CalcSecID = Left(CalcSecID,Instr(1,CalcSecID,"-")) & right(str(val(Mid(CalcSecID,Instr(1,CalcSecID,"-")+1) + 1),1)
The type mismatch comes from concatenating a value to a...