qwerty112 |
---|
2 тоже самое, что и 1, только с использованием функций - тогда запрос можно НЕ переписывать, а создать один раз сохранённый
|
Dim a(10) As Long
Dim b(10) As Long
Function get_a(num As Byte) As Variant
If num > UBound(a) Then
get_a = Null
Else
get_a = a(num)
End If
End Function
Function get_b(num As Byte) As Variant
If num > UBound(b) Then
get_b = Null
Else
get_b = b(num)
End If
End Function
Sub test()
Dim i As Byte
For i = LBound(a) To UBound(a)
a(i) = Int(100 * Rnd())
b(i) = Int(100 * Rnd())
Debug.Print i, a(i), b(i)
Next
DoCmd.OpenQuery "QQ"
End Sub
QQ
SELECT id, get_a(id) AS a, get_b(id) AS b
FROM MSysAccessObjects
WHERE get_a(id) Is Not Null And get_b(id) Is Not Null;
Immediate
test
0 5 59
1 46 29
2 62 64
3 26 27
4 82 82
5 58 98
6 91 22
7 69 98
8 24 53
9 10 99
10 67 1
QQ
id | a | b | 0 | 5 | 59 | 1 | 46 | 29 | 2 | 62 | 64 | 3 | 26 | 27 | 4 | 82 | 82 | 5 | 58 | 98 | 6 | 91 | 22 | 7 | 69 | 98 | 8 | 24 | 53 | 9 | 10 | 99 | 10 | 67 | 1 |
|