Pb sur conception chaine SQL

Pb sur conception chaine SQL - VB/VBA/VBS - Programmation

Marsh Posté le 13-02-2004 à 12:27:24    

Voici mon prog. Cependant, une erreur d'exécution '3129' survient "Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus. Or, j'ai bien mon select  
 
Voilà, la fontion créée prend le SQL de la requête "requête1" et le transforme en sql création de table dont le nom est donné par la variable TableVide. Ainsi ma requête1 n'est pas modifiée (ça c'est super!).
 
Merci de vos conseils  ,  
 
 
 
Code:  
Function Replace(strSql As String, chaîne1 As String, chaîne2 As String, chaîne3 as string)  
 
StrSql = " PARAMETERS [date] DateTime; SELECT [Table1].[Prénom], [Table1].[Nom], [Table2].[Adresse], [Table2].[Ville], [Table2].[Date] "  
 
chaîne1 = " INTO " & TableVide & " FROM "  
 
chaîne2 = « Table1 INNER JOIN Table2 ON [Table1].[Nom]=[Table2].[Nom] »  
 
chaîne3 = « WHERE ((([Table2].[Date])=[Date]));”  
 
End Function  
 
 
 
Sub essai()  
 
Dim strSql As String  
Dim DATE_T As Date  
Dim qdf As DAO.QueryDef  
Dim TableVide As String  
Dim chaîne1 As String  
Dim chaîne2 As String  
Dim chaîne3 As string  
 
TableVide = "Table_récept"  
 
DoCmd.DeleteObject acQuery, "Requête_Tmp"  
'DoCmd.DeleteObject acTable, TableVide  
 
DATE_T = InputBox("date ?" )  
Set qdf = CurrentDb.QueryDefs("Requête1" )  
strSql = qdf.sql  
 
Set qdf = Nothing  
Set qdf = CurrentDb.CreateQueryDef("Requête_Tmp" )  
 
qdf.sql = Replace(strSql, chaîne1, chaîne2, chaîne3)  
qdf.Parameters("date" ) = DATE_T  
qdf.Execute  
Set qdf = Nothing  
 
End Sub  

Reply

Marsh Posté le 13-02-2004 à 12:27:24   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed