Цикл по полям не возвращает некоторые значения в Access VBA - PullRequest
0 голосов
/ 28 июня 2018

Я очень новичок в программировании (я не программист), и я застрял в том, что происходит не так.

У меня есть таблица (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 
...