我有通过text1 text2 输入两个编号(pandiandanhao,字符型)如:Y12345,Y12346 
想通过这些编号得到他们的值  如Y2008101070的值为2008101070 , Y2008101074的值为2008101074 ,同时每个编号对应的一个ID号。ID号是int型,取编号的的后6位,如编号:Y2008101070对应的ID:101070
我的语句这样写的 
Dim n As Integer
Dim m As IntegerAdodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from pand1 where pandiandanhao = '" & Trim(Text2.Text) & "'"
Adodc1.Refresh
n = Val(Adodc1.Recordset.Fields("id"))Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from pand1 where pandiandanhao = '" & Trim(Text3.Text) & "'"
Adodc1.Refresh
m = Val(Adodc1.Recordset.Fields("id"))
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from pand1 where   id  between '" & n & "'and '" & m & "'  and beizhu = ' k '"
Adodc1.Refresh
但总是说产生溢出,然后停留在n = Val(Adodc1.Recordset.Fields("id"))
我还试过另一种方法,就是直接取编号的后6位,正好等于ID,然后用ID查询,但我不知道怎么写