Никогда не сталкивайтесь с этим раньше.Я перенес некоторые значения столбцов в список с SQL-сервера, используя VBA.Один из столбцов, Exception, является логическим значением, поэтому его значение в SQL равно 0 или 1. Однако, когда я загружаю результаты в список в форме VBA, он отображается как -1.Я прикрепил свой код ниже.Любое понимание было бы здорово.
Sub Getattendhistory()
database_connect
Dim SQLstr As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim Counter As Long
Dim list As Object
Set list = AttendHistory.Results
SQLstr = "select [ID],[createddate],[notseatedreason],[exception],[exceptionreason] from dbo.[attendancehistory] where [agentname] = '" & SearchForm.Results.Text & "'"
rs.Open SQLstr, appconn, adOpenStatic
If (rs.BOF And rs.EOF) Then
MsgBox "No Attendance History.Contact Command Center"
Exit Sub
End If
With list
Counter = 0
Do Until rs.EOF
.AddItem
.list(Counter, 0) = rs![ID]
.list(Counter, 1) = rs![CreatedDate]
If IsNull(rs![NotSeatedReason]) Then .list(Counter, 2) = "Seated"
If Not IsNull(rs![NotSeatedReason]) Then .list(Counter, 2) = rs![NotSeatedReason]
If IsNull(rs![Exception]) Then .list(Counter, 3) = ""
If Not IsNull(rs![Exception]) Then .list(Counter, 3) = rs![Exception]
If IsNull(rs![Exceptionreason]) Then .list(Counter, 4) = "N/A"
If Not IsNull(rs![Exceptionreason]) Then .list(Counter, 4) = rs![Exceptionreason]
Counter = Counter + 1
rs.MoveNext
Loop
End With
rs.Close
database_Disconnect
Set rs = Nothing
End Sub