Устранить #Error, когда я запускаю код vba в ACCESS - PullRequest
0 голосов
/ 27 ноября 2018

Мне нужна помощь, потому что когда я запускаю de code, появляется ошибка, когда какое-либо поле даты пусто.У меня есть таблица с информацией, и я запускаю этот код начиная с генератора.

Устранить # Ошибка при запуске кода VBA в ACCESS

Я буду благодарен за вашу помощь.

Option Compare Database

Public Function WorkingDays2(FECHA_DE_VALIDACION_FA As Date, FECHA_IMPRESIÓN As Date) As Integer
'....................................................................
' Name:     WorkingDays2
' Inputs:   StartDate As Date
'   EndDate As Date
' Returns: Integer
' Author: Arvin Meyer
' Date:     May 5,2002
' Comment: Accepts two dates and returns the number of weekdays between them
' Note that this function has been modified to account for holidays. It requires a table
' named tblHolidays with a field named HolidayDate.
'....................................................................

Dim intCount As Integer
Dim rst As DAO.Recordset
Dim DB As DAO.Database

Set DB = CurrentDb
Set rst = DB.OpenRecordset("SELECT [DIAFESTIVO] FROM DIASFESTIVOS", dbOpenSnapshot)

'StartDate = StartDate + 1
'To count StartDate as the 1st day comment out the line above

intCount = 0

Do While FECHA_DE_VALIDACION_FA <= FECHA_IMPRESIÓN

rst.FindFirst "[DIAFESTIVO] = #" & FECHA_DE_VALIDACION_FA & "#"
If Weekday(FECHA_DE_VALIDACION_FA) <> vbSunday And Weekday(FECHA_DE_VALIDACION_FA) <> vbSaturday Then
If rst.NoMatch Then intCount = intCount + 1
End If

FECHA_DE_VALIDACION_FA = FECHA_DE_VALIDACION_FA + 1



Loop

WorkingDays2 = intCount

Exit_WorkingDays2:
Exit Function

WorkingDays2 = intCount

Exit_WorkingDays2:
Exit Function

Err_WorkingDays2:
Select Case Err

Case Else
MsgBox Err.Description
Resume Exit_WorkingDays2
End Select


End Function

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Ваш исходный вопрос содержал код для функции с именем WorkingDays3, которая принимает один параметр даты.

На рисунке показана функция с именем WorkingDays2, которая принимает два параметра даты.

Я думаю, вы будетенеобходимо предоставить более подробную информацию о данных, с которыми вы работаете, и при каких условиях вы видите ошибку #.

0 голосов
/ 27 ноября 2018

Это немного зависит от того, где вы вызываете эту функцию из вашей базы данных.Вероятно, как вычисляемое поле в запросе?Примерно так: WorkingDays: WorkingDays3([YourDateField])?

Попробуйте вместо этого: WorkingDays: WorkingDays3(Nz([YourDateField],Date())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...