Retourner le résultat d'une requête SQL Server
Bonjour à tous , j'ai un petit problème avec l’exécution de ma macro , en fait je souhaite retourner un résultat d'une requête mais à condition qu'elle me teste sur le contenu de certains cellules de mon classeur . du coup je crois que je me suis trompé sur l’intégration du code vba dans la requête SQL pour mieux comprendre je vous intègre mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Function update()
Dim query As String
Dim Target As Range
Dim conString As String
query = "UPDATE [MMFIN].[dbo].[F_DRECOUVREMENTIV] SET [IV_Raison] = 'sms ok " & "ws.Range(""T1"" & Dl)" & " ...' WHERE DR_Num='ws.Range(""A1"" & Dl)' and ES_No= (select distinct(a.es_no) from [MMFIN].[dbo].[F_DRECOUVREMENTIV] a,[MMFIN].[dbo].[F_ESCENARIO] b where a.ES_No=b.ES_No and a.DR_Num='ws.Range(""A1"" & Dl)' and b.ES_Intitule like( 'ws.Range(""P1"" & Dl)') and IV_Date = 'ws.Range(""T1"" & Dl)')"
Set Target = ThisWorkbook.Worksheets("DATA").Range("V1")
Select Case ImportSQLtoRange(conString, query, Target)
Case 1
MsgBox "Import database data error 2", vbCritical
Case Else
End Select
End Function |
je ne reçois pas de messages d'erreur mais que le MsgBox que je mis au dernier .
je serai très reconnaissant s quelqu'un pourrait m'aider SVP.
retourner le résultat d'une requête SQL Server
je viens de modifier mon code et j'ai pu l'améliorer un peu , mon problème actuel c'est que il me colle la requête comme elle est par contre moi je souhaite qu'il me retourne la valeur , je me demande est ce qu'il y a une expression spécifique pour cette action voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Function update()
Dim query As String
Dim Target As Range
Dim conString As String
Dim cpt As Long
conString = chaine_connexion
'Boucle de création des requêtes d'update
Dl = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
For cpt = 1 To Dl
ws.Range("V" & cpt) = "UPDATE [MMFIN].[dbo].[F_DRECOUVREMENTIV] SET [IV_Raison] = 'sms ok (" & Format(Now, "dd/mm/yyyy") & ") " & Left(ws.Range("Q" & cpt), 49) & "' WHERE DR_Num='" & ws.Range("A" & cpt) & "' and ES_No= (select distinct(a.es_no) from [MMFIN].[dbo].[F_DRECOUVREMENTIV] a,[MMFIN].[dbo].[F_ESCENARIO] b where a.ES_No=b.ES_No and a.DR_Num='" & ws.Range("A" & cpt) & "' and b.ES_Intitule like( '" & ws.Range("P" & cpt) & "') and IV_Date = '" & ws.Range("T" & cpt) & "') and IV_Date = '" & ws.Range("T" & cpt) & "'"
'envoi de la requête
query = ws.Range("V" & cpt)
Set Target = ThisWorkbook.Worksheets("DATA").Range("V1")
Select Case ImportSQLtoRange(conString, query, Target)
Case 1
MsgBox "Import database data error 2", vbCritical
Case Else
End Select
Next cpt
End Function |
merci d'avance