2015-02-24 2 views
1

Мой друг попросил меня помочь ему с проблемой в Access. У него есть список костюмеров, который хранит некоторые данные в таблицах, такие как имя, адрес, ....Доступ к VBA Последнее обновление на клиенте

The здесь также столбец с опциями «Последним обновлением»

Теперь то, что я» м, пытаясь выяснить, как показать MsgBox witht имени клиентов, когда значение «последнее обновление» больше, чем через месяц

до сих пор я код, приведенный ниже:.

Dim DB As DAO.Database 
Dim RS As DAO.Recordset 
Dim SQL As String 

'SQL = "SELECT * FROM Beheer WHERE " & Me.[Last update] & " >= (" & Date & " - INTERVAL 1 Month)" 
'SQL = "SELECT * FROM Beheer WHERE DateDiff(" & "m" & "," & Me.[Last update] & "," & Date & ") <= 1" 

Set RS = CurrentDb.OpenRecordset(SQL) 
If RS.EOF Then 
    MsgBox "No batch ID found.", vbOKOnly + vbInformation, "Last Batch" 
Else 
    MsgBox "Last batch ID is " & RS![Customer name] & ".", vbOKOnly + vbInformation, "Customer To update" 
End If 
RS.Close 
DB.Close 
Set RS = Nothing 
Set DB = Nothing 

как вам может видеть, что я прокомментировал, что два SQL-запроса вызывают форму ошибка, я не могу пройти.

Может ли кто-нибудь помочь мне мольбы?

С наилучшими пожеланиями

+0

Будьте осторожны, как вы описываете эту проблему ... вы действительно имеете в виду «выбрать запись, если последнее обновление превышает 30 дней»? Выбор на основе другого месяца может привести к тому, что вы получите запись, обновленную 31.01.2015. –

+0

На самом деле я не хочу, чтобы он всплыл в окне сообщения, в котором отображается название компании, где дата «Последнее обновление» старше месяца. , фактические звуки простые, но я не могу это сделать: s –

+0

Во-первых, вы не указываете, где находится ваш код, поэтому становится более сложным узнать, чего вы хотите. Во-вторых, понимаете ли вы, что ваш код будет показывать только запись FIRST, потому что вы никогда не прокручиваете свой набор записей? Наконец, как я спросил раньше, каково ваше определение месяца? 30 дней или более? Месяц <текущий месяц? –

ответ

0

попробовать this-

SQL = "SELECT * FROM Beheer WHERE DateDiff('m',[Last update] , Date()) >= 1" 

объяснение: это будет получить вас только записи, число месяца прошло это equl или gratter чем 1 ....

в функция DateDiff должна быть частью запроса - не является частью кода, как вы его написали ....

что вы написали:

Me.[Last update] 

сделать код searh управления на форме, что это название является «Последнее обновление»

надежды я помочь вам.

+0

Помните, что [объясните свое решение] (http://stackoverflow.com/help/how-to-answer) немного? –

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