Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста разобраться в чем тут дело.
Может у кого-нить есть другие варианты как вывести это в MSFlexGrid.
Private Sub Form_Load()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim c As Integer
Dim r As Integer
Dim col_wid() As Single
Dim field_wid As Single
' Open a connection.
Set conn = New ADODB.Connection
conn.Open "Provider=MSDAORA;Data Source=grain.terminal;User ID=prod; Password=prod;"
' Get the records.
Set rs = conn.Execute("SELECT * From client")
' Use one fixed row and no fixed columns.
MSFlexGrid1.Rows = 2
MSFlexGrid1.FixedRows = 1
MSFlexGrid1.FixedCols = 1
' Display column headers.
MSFlexGrid1.Rows = 10
MSFlexGrid1.Cols = rs.Fields.Count
ReDim col_wid(0 To rs.Fields.Count - 1)
For c = 0 To rs.Fields.Count - 1
MSFlexGrid1.TextMatrix(0, c) = rs.Fields(c).Name
col_wid(c) = TextWidth(rs.Fields(c).Name)
Next c
' Display the values for each row.
r = 1
Do While Not rs.EOF
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
For c = 0 To rs.Fields.Count - 1
И Сдесь
If col_wid(c) < field_wid Then col_wid(c)=field_wid
Next c
rs.MoveNext
r = r + 1
Loop
' Close the recordset and connection.
rs.Close
conn.Close
' Set the column widths.
For c = 0 To MSFlexGrid1.Cols - 1
MSFlexGrid1.ColWidth(c) = col_wid(c) + 240
Next c
End Sub

Решение задачи: «Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null»

textual
Листинг программы
<font color="blue">If</font> IsNull(rs.Fields(c).Value) <font color="blue">Then</font>

    MSFlexGrid1.TextMatrix(r, c) = <font color="teal">""</font>
    field_wid = <font color="darkblue"><b>0</b></font>

<font color="blue">Else</font>

    MSFlexGrid1.TextMatrix(r, c) = CStr(rs.Fields(c).Value)
    field_wid = TextWidth(rs.Fields(c).Value) 

<font color="blue">End</font> <font color="blue">If</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5