You mean an Access solution without code? I don't think so, because of the potential for input variation. Don't bother trying to put the individual elements into fields of a Crosstab query IMHO, because the number of fields would fluctuate, thus you could end up trying to refer to a field that doesn't exist next time you run it.
My approach would be to sum each element's character value (Ascii) and compare the two sums. Would not matter how many elements there are if you make them an array. HOWEVER, I admit it could be possible that the sums of x number of characters vs y could be the same if there were many low value characters vs not as many high ones. Based on your post, I'd guess the likely-hood is nil since each string contained elements from the other. Here's the code for it:
Code:
Sub compStrings()
Dim str1 As String, str2 As String
Dim lngSum1 As Long, lngSum2 As Long
Dim ary1, ary2
Dim i As Integer
str1 = "a,b,d": str2 = "b,a,c"
ary1 = Split(str1, ",")
ary2 = Split(str2, ",")
For i = 0 To UBound(ary1)
lngSum1 = Asc(LCase(ary1(i)))
Next
For i = 0 To UBound(ary2)
lngSum2 = Asc(LCase(ary2(i)))
Next
If lngSum1 = lngSum2 Then
MsgBox "equal"
Else
MsgBox "different"
End If
End Sub
I chose to force each element to lower case so that A is no different than a, because those Ascii values are not the same. A little less code might be achievable by using the same function pass the string and process each sum, but not much. If the above was a function, you could call it from a query, but that's about the only way I can see a query being involved.