2016-07-11 4 views
1

У меня есть форма, извлекающая данные из таблицы SQL Server. У формы есть два несвязанных со списков. Сначала пользователи выбирают из comboName, затем comboDate, тогда форма будет извлекать запись, связанную со значениями.DoCmd.SearchForRecord с несколькими критериями в Access 2013

'comboDate AfterUpdate VBA macro 
DoCmd.SearchForRecord , "", acFirst, "[Name] = " & "'" & comboName.Value & "'" & _ 
" and [Date] = " & "'" & Format(comboDate, "yyyy-mm-dd") & "'" 

Если я использую Name = comboName.Value самостоятельно, он будет получать первую запись для этого имени, но если я добавляю Date критерии, или использовать Date критерии без Name, выпадающий список больше не будет получать записи. Он просто остается на текущем. Я уже преобразовал формат даты доступа в соответствии с SQL Server. Что еще нужно сделать?

+0

Добавление 'Form.Refresh' также не имеет никакого эффекта. – jjjjjjjjjjj

+0

Этот фильтр работает как предложение where в регулярном запросе? – Brad

+0

@Brad Это не так, я знаю, что это связано с форматом даты, но все, что я пытаюсь, дает мне несоответствие типа данных. – jjjjjjjjjjj

ответ

0

Доступ необходим # символы, чтобы использовать это как дату. Он работает, когда я меняю запрос на это.

'comboDate AfterUpdate VBA macro 
DoCmd.SearchForRecord , "", acFirst, "[Name] = " & "'" & comboName.Value & "'" & _ 
" and [Date] = " & "#" & Format(comboDate, "yyyy-mm-dd") & "#" 
Смежные вопросы