Пользовательский ввод даты в виде запроса

#sql #ms-access #vba

#sql #ms-access #vba

Вопрос:

У меня есть запрос, который выглядит следующим образом:

 StockAnalytics.uDIX - StockAnalytics.dDIX > 0.5 
    AND (Today1.uDIX - Today1.dDix) > 0.5 
    AND (Today2.uDIX - Today2.dDix) > 0.5 
    AND (Today1.uDIX - Today1.dDix) > (Today2.uDIX - Today2.dDIX)
    AND (Today2.uDIX - Today2.dDIX) > (Today3.uDIX - Today3.dDIX) 
    AND StockAnalytics.[Date] > @Date    
  

Я пытаюсь получить входные данные от пользователя, на какую дату он хочет выполнить запрос. Когда я ввожу дату, он дважды запрашивает один и тот же ввод.

Что-нибудь не так с этим запросом?

Сохам

РЕДАКТИРОВАТЬ: я не думаю, что я мог бы решить свою проблему. Когда я использую этот фрагмент кода, он работает отлично, за исключением того факта, что диалоговое окно, предлагающее пользователю ввести дату, появляется дважды, я не хочу, чтобы оно появлялось дважды. Только после того, как пользователь ввел «дату» во второй раз, появляются результаты

Комментарии:

1. Что запрашивает дважды? Соответствует ли это нескольким записям? Запустите запрос в окне командной строки самостоятельно.

2. То есть диалоговое окно с запросом даты появляется дважды. Я запускал это в окне и его запуск, но мне нужно дважды ввести одну и ту же дату, прежде чем я увижу какие-либо результаты

Ответ №1:

Если вам нужно включить параметр дважды, как в:

  SELECT Stuff
 FROM ATable
 WHERE FirstDate > [Please enter date: ]
 AND SecondDate > [Please enter date: ]
  

Затем включите строку параметров:

  PARAMETERS [Please enter date: ] DateTime;
 SELECT Stuff
 FROM ATable
 WHERE FirstDate > [Please enter date: ]
 AND SecondDate > [Please enter date: ]
  

Или, что еще лучше, используйте форму:

  SELECT Stuff
 FROM ATable
 WHERE FirstDate > Forms!Dates!txtDate
 AND SecondDate > Forms!Dates!txtDate
  

Комментарии:

1. спасибо, но я не ищу изменения функциональности. Я добавил разъяснение к вступительному сообщению.

2. @Soham Я боюсь, что ваш OP мне совсем не понятен. Используется ли одна и та же дата дважды? Вы хотите, чтобы пользователь вообще вводил дату? Вы что-нибудь неправильно написали? Что должно происходить?

3. Когда вы используете форму, вы также должны объявить ссылку на форму в качестве параметра. В противном случае вы можете получить ненадежные результаты (особенно с нулевыми значениями).