为什么会提示溢出呢?解决方法

为什么会提示溢出呢?
Dim   Asc()   As   Integer
Dim   db   As   Database

Dim   Rec   As   Integer
Private   Rs   As   New   ADODB.Recordset
Private   Conn   As   New   ADODB.Connection


Private   Sub   Form_Load()

  Dim   strConn   As   String
  Dim   i   As   Integer
 
  '   连接数据库的字符串
  '   连接带密码的数据库,直接在连接符后面加上Jet   OLEDB:DataBase   Password= '您的密码 '
  '   连接Access97数据库需要使用Jet.OLEDB.3.5,Access2K和以上数据库使用Jet.OLEDB.4.0
  strConn   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "   &   App.Path   &   "\data\fw_data.mdb;Persist   Security   Info=False "
 
  '   使用客户端数据游标
  Conn.CursorLocation   =   adUseClient
  '   打开Access的连接
  Conn.Open   strConn
 
  '   如果RecordSet的状态不是关闭状态,则关闭Recordset
  If   Rs.State   <>   adStateClosed   Then   Rs.Close
 
  '   Recordser打开表
  Rs.Open   "Select   *   from   fw_users ",   Conn,   adOpenKeyset,   adLockOptimistic
 
 
Rs.MoveLast
Rec   =   Rs.RecordCount
ReDim   Asc(Rec   -   1)
Rs.MoveFirst
For   i   =   1   To   Rec
        cmb_name.AddItem   Rs.Fields( "fw_name ")
'         Asc(i   -   1)   =   Val(Rs.Fields( "fw_pwd "))       为什么会溢出呢?
        Rs.MoveNext
        If   Rs.EOF   Then   Exit   For
Next
'cmb_name.Text   =   " "
txt_pass.Text   =   " "

End   Sub

数据库:fw_data.mdb
表为:fw_users
有字段:FW_NAME和FW_PWD,且皆为文本类型,长度15
有两条数据


为什么一运行就提示溢出呢?

调试返回到这条:
Asc(i   -   1)   =   Val(Rs.Fields( "fw_pwd "))      


请问是什么原因啊?     怎么解决呢?


------解决方案--------------------
Exception type ErrorNumber Condition
OverflowException 6 InputStr is too large.
InvalidCastException 13 Number is badly formed.
ArgumentException 438 Object type expression not convertible to String.

Print Err.Number

出来看就知道了嘛

------解决方案--------------------
Dim Asc() As long试试看