Это может быть сделано в следующих шагах:
- Используйте функцию DCOUNT присвоить "PHONE1", " Phone2 "и т. Д. На поле.
- Используйте Pivot Query.
Чтобы использовать этот подход, вам необходимо убедиться, что в вашей таблице есть уникальный идентификатор. (Т.е. можно добавить поле «Autonumber», если есть уже не один)
Вот пример запроса на шаге 1
SELECT Table1.UniqueID, Table1.ID, Table1.Phone,
"Phone" & DCount("Phone","Table1","ID=" & [ID] & " AND UniqueID<=" & [UniqueID]) AS row_id
FROM Table1
ORDER BY Table1.ID, Table1.Phone;
Поскольку вы позже отметил, что все ваши поля являются текстовыми полями, вот запрос, который использует команду «CLng()», чтобы передать текст в длинное целое число.
Это даст вам результат, который выглядит следующим образом:
Теперь в шаге 2, row_id поле может быть повернута в столбцы. С помощью мастера сводной таблицы, чтобы помочь, или вот пример SQL:
TRANSFORM First(Query1.[Phone]) AS FirstOfPhone
SELECT Query1.[ID]
FROM Query1
GROUP BY Query1.[ID]
PIVOT Query1.[row_id];
Вот результат:
Выше была обобщена из post by Roger Carlson от Microsoft Access Community веб-сайта.
Поскольку неясно, какую стратегию вы пытаетесь, существует слишком много возможных ответов на размышления; поскольку многие из них могут выходить за пределы вашего инженерного уровня. Мы не знаем, так как вы не опубликовали то, что вы пробовали –
Я обновил свой ответ, чтобы включить, как обрабатывать тот факт, что все поля являются текстовыми полями. Удачи! –
Это было очень полезно и работает. Я начал разлагать формулу Dcount, чтобы попытаться понять концепцию. row_id: «Phone» и DCount («Телефон», «[WrkingFile]», «cLng (IndividualMatchID) =» & CLng ([IndividualMatchID]) и «AND cLng (ID) <=» & CLng ([ID])) Что именно мы делаем с критериями? ([IndividualMatchID]) & "AND cLng (ID) <=" & CLng ([ID])) –