Я так понимаю, что у человека локальная задача храния большого кол-ва битовых данных, которая успешно решаема в Access, а вы ему сразу предлагаете сменить платформу БД, что повлечёт за собой громаднейшую работу по переписыванию проекта, тех же SQL-запросов.
Кстати, для экономии места, вместо строки можно хранить число, где необходимые данные будут представлены степенями двойки. Для хранения 25-ти штук битовых характеристик достаточно всего 4-х байт вместо 25-ти (выигрыш в 6 с четвертью раз!) и ещё 7 битов останется для расширения.
Доступ к таким образом закодированным данным не сложнее чем вычитывание символа из строки.
- Код: Выделить всё
'структура для удобства обращения к данным
Public Enum MyBitPropertiesEnum
isHuman = 0
isWuman = 1
hasOneEye = 2
hasOneEgg = 3
...
End Enum
'массив для удобной работы с данными
Public MyBitValue(0 To 24) As Boolean
'возвращает значение бита
Public Function GetBitValue(ByVal Expression As Long, ByVal MyBitProperty As MyBitPropertiesEnum) As Boolean
GetBitValue = Expression And (2 ^ MyBitProperty)
End Function
Public Sub InitMyBitValue(ByVal Expression As Long, Value)
Dim i%
For i = 0 To UBound(Value)
Value(i) = Expression And (2 ^ i)
Next
End Sub
Public Function CreateMyBitValue(Value) As Long
Dim i%
Dim res%
For i = 0 To UBound(Value)
If (Value(i)) Then res = res Or (2 ^ i)
Next
CreateMyBitValue = res
End Function
...
If (MyBitValue(hasOneEgg)) Then Debug.Print "Invalid!"
Ну, или что-нибудь типа этого.