VB 中关于MSFlexGrid1的 实时错误30010 Colum数值无效是什么原因

[复制链接]
查看11 | 回复1 | 2011-4-18 05:30:12 | 显示全部楼层 |阅读模式
代码如下:
Private Sub Form_Load()

MSFlexGrid1.Rows = 1

MSFlexGrid1.Cols = 4

MSFlexGrid1.Row = 0

MSFlexGrid1.Col = 0

MSFlexGrid1.Text = \"耗材编号\"

MSFlexGrid1.Col = 1

MSFlexGrid1.Text = \"耗材名称\"

MSFlexGrid1.Col = 2

MSFlexGrid1.Text = \"耗材类别\"

MSFlexGrid1.Col = 3

MSFlexGrid1.Text = \"计量单位\"

MSFlexGrid1.Col = 4

MSFlexGrid1.Text = \"库存上限\"

MSFlexGrid1.Col = 5

MSFlexGrid1.Text = \"库存下限\"

MSFlexGrid1.ColWidth(1) = 1200

NewID = 1000

Set Mydb = OpenDatabase(App.Path \"\\office.mdb\")

Set rs = Mydb.OpenRecordset(\"goods\")



Do While Not rs.EOF

MSFlexGrid1.Rows = MSFlexGrid1.Rows 1

MSFlexGrid1.Row = MSFlexGrid1.Rows - 1

MSFlexGrid1.Col = 0

MSFlexGrid1.Text = rs.Fields(\"GoodsId\")

MSFlexGrid1.Col = 1

MSFlexGrid1.Text = rs.Fields(\"GoodsName\")

If NewIDrs.Fields(\"GoodsID\") Then

NewID = rs.Fields(\"GoodsID\")

End If

MSFlexGrid1.Col = 2

MSFlexGrid1.Text = rs.Fields(\"Type\")

MSFlexGrid1.Col = 3

MSFlexGrid1.Text = rs.Fields(\"Unit\")

MSFlexGrid1.Col = 4

MSFlexGrid1.Text = rs.Fields(\"Max\")

MSFlexGrid1.Col = 5

MSFlexGrid1.Text = rs.Fields(\"Min\")

rs.MoveNext

Loop

rs.Close

NewID = NewID 1

ShowID.Caption = Trim(Format(NewID))

Command3.Enabled = False

Command2.Enabled = False
End Sub
回复

使用道具 举报

千问 | 2011-4-18 05:30:12 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">初看程序的赋值语句好像没什么问题,估计可能是你取到的数据库里面的字段值为NULL的问题吧,你在所有赋值MSFlexGrid1.Text 语句前(Do循环之内的) 加一条判断语句试试,比如:
if not isnull(rs.Fields(\"Type\")) then MSFlexGrid1.Text = rs.Fields(\"Type\")
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行