opfølgning på "Sammelign felter i Access, hvor nogle er tomme"
Hej,Jeg har følgende udfordring i Access, som jeg håber nogen har en løsning på.
Jeg har en tabel med følgende felter:
varenummer
Lageroplysning 1
Lageroplysning 2
lageroplysning 3
lageroplysning 4
Lageroplysning 5
Lageroplysning 6
lageroplysning 7
lageroplysning 8
lageroplysning 9
For hvert varenummer kan lageroplysningerne i "lageroplysning 1-9" være ens, forskellige eller tomme.
Opgaven går ud på at sammenholde om lageroplysningerne på de enkelte varenumre er ens eller forskellige.
Jeg fik tidligere følgende VBA løsning, som blev kaldt med udtrykket: Udtryk1: ENS([lageroplysning_1];[lageroplysning_2];[lageroplysning_3];[lageroplysning_4];[lageroplysning_5];[lageroplysning_6];[lageroplysning_7];[lageroplysning_8];[lageroplysning_9])
Det skal her siges, at jeg selv har tilføjet lageroplysning 5-9 i forhold til den oprindelige kode.
Public Function ENS(F1, F2, F3, F4, F5, F6, F7, F8, F9) As String
Dim OK() As Variant, A As Integer
A = 0
If Not IsNull(F1) Then ReDim Preserve OK(A): OK(A) = F1: A = A + 1
If Not IsNull(F2) Then ReDim Preserve OK(A): OK(A) = F2: A = A + 1
If Not IsNull(F3) Then ReDim Preserve OK(A): OK(A) = F3: A = A + 1
If Not IsNull(F4) Then ReDim Preserve OK(A): OK(A) = F4: A = A + 1
If Not IsNull(F5) Then ReDim Preserve OK(A): OK(A) = F5: A = A + 1
If Not IsNull(F6) Then ReDim Preserve OK(A): OK(A) = F6: A = A + 1
If Not IsNull(F7) Then ReDim Preserve OK(A): OK(A) = F7: A = A + 1
If Not IsNull(F8) Then ReDim Preserve OK(A): OK(A) = F8: A = A + 1
If Not IsNull(F9) Then ReDim Preserve OK(A): OK(A) = F9
ENS = False
For i = 0 To UBound(OK) - 1
For j = i + 1 To UBound(OK)
If OK(i) = OK(j) Then
ENS = "OK"
Else
ENS = "IKKE"
Exit Function
End If
Next
Next
End Function
Koden virker når tabellen indeholder få linjer, men indsætter jeg den "rigtige" tabel med små 100.000 linjer virker koden ikke.
Hvad mangler der i koden? Får en meddelelse der hedder "Ubound (OK)=<Subscript out of range>"
ER nybegynder i forhold til VBA, så kan ikke helt gennemskue, hvad der mangler:-)