Один менее известный фасет переключатель в C# - то, что это полагается оператор = и так как это может быть переопределено, у Вас могло быть что-то вроде этого:
string s = foo();
switch (s) {
case "abc": /*...*/ break;
case "def": /*...*/ break;
}
В MS-Access есть команда TRANSFORM (которая выполняет поворот), поэтому вы можете использовать ADO.NET для запроса файла mdb с доступом к ms, а затем использовать там сквозные запросы для доступа к источнику данных, который не может развернуться (обычно MS-SQL / T-SQL).