我想把MSFlexGrid從資料庫抓來的第一欄顯示在最前面(因為MSFlexGrid會從第二欄放資料),但都會一直出現"null值不正確"的錯誤訊息...我的資料有幾項是空的...是不是我寫的程式有問題呢...請大家幫我看看...謝謝...
Set db = OpenDatabase("c:\獎金系統\prize.mdb")
Set rec1 = db.OpenRecordset("query", dbOpenDynaset)
rec1.Sort = "sellprice desc,max"
Set rec2 = rec1.OpenRecordset(dbOpenDynaset)
Set td = db.TableDefs
Set fld = rec2.Fields
grd.FontSize = 12
grd.Cols = fld.Count
For i = 0 To fld.Count - 1
grd.ColWidth(i) = grd.Width / fld.Count
Next i
grd.Row = 0
For i = 0 To fld.Count - 1
grd.Col = i
grd.Text = fld(i).Name
Next i
i = 0
Do Until rec2.EOF
i = i + 1
grd.Rows = i + 1
grd.Row = i
For j = 0 To fld.Count - 1
grd.Col = j
grd.Text = rec2(j)
Next j
rec2.MoveNext
Loop
rec2.Close
rec1.Close
db.Close
Set db = OpenDatabase("c:\獎金系統\prize.mdb")
Set rec1 = db.OpenRecordset("query", dbOpenDynaset)
rec1.Sort = "sellprice desc,max"
Set rec2 = rec1.OpenRecordset(dbOpenDynaset)
Set td = db.TableDefs
Set fld = rec2.Fields
grd.FontSize = 12
grd.Cols = fld.Count
For i = 0 To fld.Count - 1
grd.ColWidth(i) = grd.Width / fld.Count
Next i
grd.Row = 0
For i = 0 To fld.Count - 1
grd.Col = i
grd.Text = fld(i).Name
Next i
i = 0
Do Until rec2.EOF
i = i + 1
grd.Rows = i + 1
grd.Row = i
For j = 0 To fld.Count - 1
grd.Col = j
grd.Text = rec2(j)
Next j
rec2.MoveNext
Loop
rec2.Close
rec1.Close
db.Close
文章標籤
全站熱搜

可以加入下列的判斷式判斷 For i = 0 To fld.Count - 1 IF NOT ISNULLL(grd.ColWidth(i)) THEN grd.ColWidth(i) = grd.Width / fld.Count Next i