поля доступа одинаковые, но не равные? - PullRequest
1 голос
/ 11 марта 2011

Я использую следующий код для сравнения двух наборов записей:

For i = 1 To (recordsetA.Fields.Count - 1)
    If recordsetA.Fields(i).Value <> recordsetB.Fields(i).Value Then
        stringFieldList = stringFieldList & ", " & recordsetA.Fields(i).Name
    End If
Next i

Однако в stringFieldList есть пара полей, которые имеют одинаковые значения (например, 1339.5). Зачем?

1 Ответ

3 голосов
/ 11 марта 2011

Поскольку это звучит так, как будто вы работаете с двойными типами данных, правильным способом для теста будет установить предел, а затем проверить абсолютную разницу. Вам также нужно подумать об обработке нулевого значения.

Const epsilon as double = 0.00001

If Abs(recordsetA.Fields(i).Value - recordsetB.Fields(i).Value) < epsilon Then
'do stuff here
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...