Я пытаюсь автоматизировать извлечение данных из Access в Excel с помощью ADO. Каждую неделю я работаю с предыдущими неделями с понедельника по пятницу. Прямо сейчас у меня есть SQL, извлекающий предложения из предыдущей недели, однако, как я понимаю, мне пришлось бы вручную менять даты в коде каждую неделю. Есть ли способ сделать это автоматически?
Ниже приведен код, который у меня есть:
Sub Import()
'Declaring the necessary variables
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim dbPath As String
Dim SQL As String
Dim i As Integer
Dim var As Range
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=xxx"
'create the SQL statement to retrieve the data from the table
sSQL = "SELECT * FROM BP_Closed_Deals WHERE Start_Date between '10/21/2019' and '10/25/2019'"
'create the ADODB recordset object
Set rs = New ADODB.Recordset
'connectionString open
rs.Open sSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
If Not rsData.EOF Then
Sheets("Deals_2018_Copy").Range("A2").CopyFromRecordset rsData
rsData.Close
Else
rsData.Close
MsgBox "Error: No records returned", vbCritical
End If
Set rsData = Nothing
End Sub