2015-07-07 2 views
0

У меня проблемы с формулировкой критериев функции DCount.Условная функция DCount для CRITERIA

On click() Я хотел бы иметь число вхождений поля «YearMonth» в сказку в соответствии со значением, введенным во входящие поля, называемые «Txt_entry».

Мой код игнорирует приведенные критерии (и возвращает 0), учитывая, что его формулировка неверна, но я не могу понять, что было бы правильной формулировкой.

Private Sub Ctl3_Click() 
    Dim db As Database 
    Dim r As Recordset 
    Dim YearMonth As Field 
    Dim Txt_entry As String 
    Set db = CurrentDb() 
    Set r = db.OpenRecordset("Table") 
    Set YearMonth = r.Fields("YearMonth") 
    MsgBox (DCount("YearMonth", "Table", "[YearMonth]=" & Me.Txt_entry)) 
    End Sub 

Спасибо!

+0

ли годМесяц текстовое поле? Вы пробовали значение, например 'YearMonth = 201510' – Fionnuala

ответ

0

Вы всегда можете попробовать:

Для строки DCOUNT ("годМесяц", "Таблица", "[годМесяц] = '" & Me.Txt_entry & "'")

Для даты : DCOUNT ("годМесяц", "Таблица", "[годМесяц] = #" & Me.Txt_entry & "#")

в зависимости, как вы храните его в базе данных. Вам не нужно устанавливать эти переменные для Dcount или Dlookup (при условии, что все, что вы хотите - это счетчик)

Переменные должны быть установлены только в том случае, если у вас есть другие критерии, которые вы хотите ввести в предложении Where из dcount.

Что касается me.Text_Entry, попробуйте me.Text_entry.value и посмотрим, имеет ли поле фактическое значение.

Вы можете протестировать его, указав его в msgbox (me.txt_entry.value). Это может быть причиной неправильного подсчета. Поскольку запрос завершится как YearMonth = "" без правильного значения.

+0

Большое спасибо. Он отлично работает со строкой DCount. YearMonth - текстовое поле (строка) –

+0

Здравствуйте, теперь я пытаюсь сделать то же самое в другой базе данных. Единственное различие заключается в том, что me.Txt_entry находится в другой форме. –

+0

Hi Damien, попробуйте форму! * Имя формы *! * Имя поля * Удалите * и замените его соответствующими значениями – chdelamo

0

Попробуйте это,

DCount("YearMonth", "Table", "[YearMonth]= #" & Format(Me.Txt_entry, "yyyy\/mm\/dd") & "#")