2015-08-25 5 views
1

Я пытался выяснить, как использовать циклы для решения проблемы, с которой я сталкиваюсь с запросом на доступ. В настоящее время запрос находит первое совпадение и затем останавливается, поэтому возвращает ошибку. Есть ли способ в SQL или VBA, чтобы закодировать его, а затем вывести результаты в таблицу. Я придаю запрос для справкиДоступ SQL к VBA, чтобы содержать цикл

SELECT [Data to create age of rail].Route, [Data to create age of rail].ELR, [Data to create age of rail].[Track ID], IIf([data to create age of rail].[yardage start]>=[track cat start mileage].[yardage start] And [yardage end]<=[data to create age of rail].[yardage start],[Track category],"error") AS Expr1 
FROM [Data to create age of rail] 
INNER JOIN [Track Cat Start Mileage] 
ON ([Data to create age of rail].[Track ID] = [Track Cat Start Mileage].[Track Id]) 
AND ([Data to create age of rail].ELR = [Track Cat Start Mileage].ELR); 

ответ

0

запросом в более удобном для чтения формата с использованием псевдонимов таблиц:

SELECT age.Route, age.ELR, age.[Track ID], 
    IIf(age.[yardage start]>=track.[yardage start] And [yardage end]<=age.[yardage start], 
     [Track category], "error") AS Expr1 
FROM [Data to create age of rail] AS age 
INNER JOIN [Track Cat Start Mileage] AS track 
    ON (age.[Track ID] = track.[Track Id]) 
AND (age.ELR = track.ELR); 

Вам не нужен цикл, чтобы получить все записи из запроса Select, она всегда возвращается набор со всеми записями, которые соответствуют критериям.

Какая ошибка вы получаете? «Ошибка» от IIf()?

+0

Спасибо за то, что я никогда не писал ранее, проблема в том, чего я пытаюсь достичь, это остановить запрос выбора, который ищет первое совпадение и останавливается, потому что в таблице есть другие возможные ответы. Он ищет номер между двумя номерами. Он также связан с двумя полями, поэтому может быть более одного возможного ответа, и я хочу, чтобы запрос продолжал искать. пожалуйста, сообщите мне, если это не имеет смысла –

+0

Прошу прощения, это не имеет для меня никакого смысла ... Измените свой вопрос и добавьте примеры данных для обеих таблиц. Подготовьте их в Access или Excel и используйте http://www.sensefulsolutions.com/2010/10/format-text-as-table.html, чтобы создать текст, который вы можете отправить. Убедитесь, что данные образца воспроизводят вашу проблему. – Andre

Смежные вопросы