Я очень новичок в программировании (я не программист), и я застрял в том, что происходит не так.
У меня есть таблица (TEmp02
) с 81 полем, но я пытаюсь перебрать только 78 полей, чтобы получить значения и присвоить ее общедоступному массиву (empArray.emptblarr
как вариант), объявленному в модуле.
Хотя поля таблицы заполнены, некоторые значения возвращаются как Нуль
' to populate the form controls if already the entered empid exists
Dim adocmd As New ADODB.Command
Dim adors As New ADODB.Recordset
'open recordset
adocmd.ActiveConnection = adoconn
adocmd.CommandText = "SELECT TEmp02.* FROM TEmp02"
adors.Open adocmd, , adOpenForwardOnly
Dim j As Integer
j = adors.Fields.Count - 3 'don't require 3 fields out of 81
ReDim empArray.emptblarr(j)
adors.Filter = "empID = " & Me.cbo_emid
If adors.RecordCount = 0 Then
MsgBox "Making a new Employee Entry", vbOKOnly, "Employee ID"
Exit Sub
Else
' populate the form controls with the existing latest field data
adors.MoveLast
Dim i As Integer
j = 0
For i = 2 To adors.Fields.Count - 1 Step 1
empArray.emptblarr(j) = adors.Fields(i)
j = j + 1
Debug.Print adors.Fields(i)
Next i
adors.Close
Set adors = Nothing
Set adocmd = Nothing
End If
Это основная форма, и я получаю результаты некоторых как нулевые, когда я делаю debug.print adors.fields (i) в цикле. Это результат:
2222
tshering
Null
dorji
tsd
td@gmail.com
12457845
21
PIC222206282018.jpg
55
LIC06282018.pdf
6/8/2018
6/15/2018
Null 'This should not have been null
6/16/2018
2
Null ' This should not have been null
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2
6/16/2018
2