Recherche d'une valeur numérique dans Excel VBA / SQL

Donc, je reçois une valeur No donnée pour l'erreur de paramètre requirejse à partir de la requête SQL suivante:

query = "SELECT *, DATEDIFF(DAY, [Target Completion Date], DATE()) AS Cert FROM [Project Status$] WHERE Cert < 20" 

J'ai essayé d'append des guillemets à la valeur du filter (c.-à-d. '20') mais je n'obtiens pas les valeurs correctes (évidemment). Si je supprime la clause WHERE, elle se penche très bien. Au départ, j'allais faire ce qui suit:

 query = "SELECT * FROM [Project Status$] WHERE [Days to Target Date] < 20" 

Mais les valeurs dans la colonne [Jours à la date cible] sont calculées de la même manière et varient entre les entiers signés et la string "Terminé":

 =IF(AD1="",IF(I1="","",J1-TODAY()),"Complete") 

Je ne pouvais pas utiliser WHERE [Days to Target Date] <20 car il lançait une erreur de désadmission de données, alors j'ai choisi de faire un calcul DATEDIFF à la place. Quelqu'un sait ce qui pourrait être le cas ici? Voici le code et datatables avec lesquelles je travaille jusqu'à présent:

 Sub GetData() On Error GoTo ErrorHandler Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim conStr As Ssortingng Dim wbFile As Ssortingng Dim query As Ssortingng Dim row As Long wbFile = Application.ActiveWorkbook.Path & "\Status Sheet.xlsx" conStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & wbFile & _ "; Extended Properties=""Excel 12.0 Xml; HDR=YES; IMEX=1"";" query = "SELECT *, DATEDIFF(DAY, [Target Completion Date], DATE()) AS Cert" & _ " FROM [Project Status$] WHERE Cert < 20" row = 2 initSheet cnn.Open conStr rs.Open query, cnn, adOpenStatic, adLockOptimistic ... ErrorHandler: cnn.Close Set rs = Nothing End Sub 

Edit: Donc, finalement, ce problème a été résolu grâce à winghei et Axel. Voici la requête qui a fonctionné:

 query = "SELECT * FROM [Project Status$] " & _ " WHERE DATEDIFF(""d"", DATE(), [Target Completion Date]) < 20" & _ " AND [Days to Target Date] <> ""Complete"" " " ORDER BY [Days to Target Date] ASC" 

essayer. ou consultez https://support.office.com/en-us/article/DateDiff-Function-e6dd7ee6-3d01-4531-905c-e24fc238f85f

SELECT * FROM [État du projet $] WHERE DATEDIFF ('d', [Date d'achèvement cible], DATE ()) <20