Bonjour,
J'ai une fonction scalaire avec un paramètre de type DateTime2 que je tente d'appeler via une procédure VBA dans Access 2013 avec le code suivant :
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Dim datFacture datFacture = DLookup("[DateFact]", "tblCAR", "[ID]=" & numIdFacture) strSQL = "SELECT dbo.fnGetTauxTPS(" & datFacture & ")" Set cn = New ADODB.Connection With cn .ConnectionString = strCN .Open End With Set cmd = New ADODB.Command With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = strSQL Set rs = .Execute End With
L'exécution de ce code me renvoie l'erreur : "[Microsoft][SQL Server Native Client 11.0][SQL Server]Conflit de types d'opérandes*: int est incompatible avec datetime2"
J'ai également le même message si j'ajoute : datFacture = CDate(datFacture) avant l'instruction strSQL = ...
J'ai aussi essayé l'expression : strSQL = "SELECT dbo.fnGetTauxTPS(#" & Date & "#)" et alors, j'obtiens le message d'erreur suivant :
"[Microsoft][SQL Server Native Client 11.0][SQL Server]Syntaxe incorrecte vers '#'."
Je crois que je n'ai pas la bonne syntaxe pour appeler ma fonction scalaire...
Merci de m'aider,
FRinguette
Partager