powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
5 сообщений из 5, страница 1 из 1
Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
    #32766741
kdn86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста разобраться в чем тут дело.
Может у кого-нить есть другие варианты как вывести это в 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
MSFlexGrid1.TextMatrix(r, c) = rs.Fields(c).Value Ошибка здесь

' See how big the value is.
field_wid = TextWidth(rs.Fields(c).Value) И Сдесь
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
...
Рейтинг: 0 / 0
Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
    #32766825
ну правильно, пытаетесь присвоить null типизированной переменной, а не variant

проверяйте перед присваиванием IsNull()
...
Рейтинг: 0 / 0
Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
    #32766904
kdn86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напишите пожалуйста как это будет выглядеть правильно.
...
Рейтинг: 0 / 0
Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
    #32766939
как-то такЪ

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
If IsNull(rs.Fields(c).Value) Then

    MSFlexGrid1.TextMatrix(r, c) = ""
    field_wid =  0 

Else

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

End If

...
Рейтинг: 0 / 0
Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
    #32766991
kdn86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо работает.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Vb+Oracle+MSFlexGrid Ошибка Invalid use of Null
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]