access中excel中的VBA最大日期范围

access中excel中的VBA最大日期范围,excel,vba,ms-access,Excel,Vba,Ms Access,vba的新功能。我有一个更新excel工作簿的Access数据库。到目前为止,我所拥有的是将记录集附加到数据选项卡的底部 我需要构建的是,在它附加VBA在“数据”选项卡的“日期”列中检查工作簿的今天日期所需的数据之前。如果找到今天的日期,则不应附加数据 我知道我需要max(日期列)或DMax,但我不知道如何构建它。 我完全把自己弄糊涂了,所以我不是在杂草中得到更多,而是请求帮助 Public Sub max_Click() verintreportTemplate2 = "Templ

vba的新功能。我有一个更新excel工作簿的Access数据库。到目前为止,我所拥有的是将记录集附加到数据选项卡的底部

我需要构建的是,在它附加VBA在“数据”选项卡的“日期”列中检查工作簿的今天日期所需的数据之前。如果找到今天的日期,则不应附加数据

我知道我需要max(日期列)或DMax,但我不知道如何构建它。 我完全把自己弄糊涂了,所以我不是在杂草中得到更多,而是请求帮助

Public Sub max_Click()

verintreportTemplate2 = "Template_VerintSchedulesResults_EST.xlsx"
reporttemplatelocation = "\Customer Service\Midwest\OH Group01\EntSchedAndForecast\BackUpDocs\NEW_DATABASE\Schedules_Process\Report_Templates\"
Drive = "z:"

Dim appExcel As Object

Set appExcel = CreateObject("Excel.Application")

With .Workbooks.Open(Drive & reporttemplatelocation & verintreportTemplate2)
.Worksheets ("DOW Summary Data")
'dateMax = DMax("Weekof")

所以我就到此为止。

如果工作簿结构很简单(第一行是单行-列标题),请使用工作表作为数据源打开一个记录集。如果工作表结构复杂,则需要指定范围或不同的方法

从记录中获取日期值

Public Sub max_Click()

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

verintreportTemplate2 = "Template_VerintSchedulesResults_EST.xlsx"
reporttemplatelocation = "\Customer Service\Midwest\OH Group01\EntSchedAndForecast\BackUpDocs\NEW_DATABASE\Schedules_Process\Report_Templates\"
Drive = "z:"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Drive & reporttemplatelocation & verintreportTemplate2 _
    & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
rs.Open "SELECT Max(Weekof) AS MaxDate FROM [DOW Summary Data$]", cn, adOpenDynamic, adLockOptimistic
If Date() <> rs!MaxDate Then
'do something
End If
End Sub
Public Sub-max\u Click()
Dim cn作为ADODB.Connection
将rs设置为ADODB.Recordset
verintreportTemplate2=“Template\u VerintSchedulesResults\u EST.xlsx”
reporttemplatelocation=“\Customer Service\Midwest\OH Group01\EntSchedAndForecast\BackUpDocs\NEW\u DATABASE\Schedules\Process\Report\u Templates\”
Drive=“z:”
Set cn=CreateObject(“ADODB.Connection”)
Set rs=CreateObject(“ADODB.Recordset”)
cn.Open“Provider=Microsoft.ACE.OLEDB.12.0;数据源=“&Drive&reporttemplatelocation&verintreportTemplate2_
&“扩展属性=”“Excel 12.0;HDR=Yes;IMEX=1”“
rs.Open“从[DOW Summary Data$]中选择Max(Weekof)作为MaxDate”,cn,adOpenDynamic,ADLOCK
如果日期()s!那么MaxDate呢
“做点什么
如果结束
端接头

如果工作簿结构简单(第一行为单行列标题),请使用工作表作为数据源打开记录集。如果工作表结构复杂,则需要指定范围或不同的方法

从记录中获取日期值

Public Sub max_Click()

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

verintreportTemplate2 = "Template_VerintSchedulesResults_EST.xlsx"
reporttemplatelocation = "\Customer Service\Midwest\OH Group01\EntSchedAndForecast\BackUpDocs\NEW_DATABASE\Schedules_Process\Report_Templates\"
Drive = "z:"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Drive & reporttemplatelocation & verintreportTemplate2 _
    & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
rs.Open "SELECT Max(Weekof) AS MaxDate FROM [DOW Summary Data$]", cn, adOpenDynamic, adLockOptimistic
If Date() <> rs!MaxDate Then
'do something
End If
End Sub
Public Sub-max\u Click()
Dim cn作为ADODB.Connection
将rs设置为ADODB.Recordset
verintreportTemplate2=“Template\u VerintSchedulesResults\u EST.xlsx”
reporttemplatelocation=“\Customer Service\Midwest\OH Group01\EntSchedAndForecast\BackUpDocs\NEW\u DATABASE\Schedules\Process\Report\u Templates\”
Drive=“z:”
Set cn=CreateObject(“ADODB.Connection”)
Set rs=CreateObject(“ADODB.Recordset”)
cn.Open“Provider=Microsoft.ACE.OLEDB.12.0;数据源=“&Drive&reporttemplatelocation&verintreportTemplate2_
&“扩展属性=”“Excel 12.0;HDR=Yes;IMEX=1”“
rs.Open“从[DOW Summary Data$]中选择Max(Weekof)作为MaxDate”,cn,adOpenDynamic,ADLOCK
如果日期()s!那么MaxDate呢
“做点什么
如果结束
端接头

我很困惑。日期在哪里,在excel或access中?您是从access导出到excel还是从其他方式导出?为什么不使用excel链接来访问表或查询?我很困惑。日期在哪里,在excel或access中?您是从access导出到excel还是从其他方式导出?为什么不使用excel链接来访问表或查询?