为什么会提示溢出呢?

胖胖熊 2007-01-11 04:57:25
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"))



请问是什么原因啊? 怎么解决呢?
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
胖胖熊 2007-01-11
  • 打赏
  • 举报
回复
哈哈~~这么快就有答案了啊!

非常感谢啊!!
已经解决了~~:)
clear_zero 2007-01-11
  • 打赏
  • 举报
回复
Dim Asc() As long试试看
littleXX 2007-01-11
  • 打赏
  • 举报
回复
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

出来看就知道了嘛

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧