[access] Variable dans une requete sql

Résolu
lord_in Messages postés 44 Date d'inscription   Statut Membre -  
 FloVBA -
Variable dans une requete sql

Je n’arrive pas à intégrer une variable dans une instruction sql

Voilà mon code
Dim T as date
Dim T1 as date

T = Val(Datett.Value)
T1 = DateAdd("m", 1, T)
DoCmd.RunSQL "INSERT INTO Table1tampon ( Material, [material description], [zone], mois, forecasts ) SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value) AND ((TableTotal.mois)=datett.value));", -1

DoCmd.RunSQL "INSERT INTO Table2tampon ( Material, [material description], [zone], mois, forecasts ) SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value)) AND ((TableTotal.mois)= T1 ) ;", -1

Et quand j’exécute il me demande la valeur de la variable T

Dattett = la date que je tape dans mon formulaire

Merci de votre aide
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    il faut sortir T1 du texte de la requête :
    Dim StrSql as string
    Strsql = "INSERT INTO Table2tampon ( Material, [material description], [zone], mois, forecasts ) "
    StrSql = StrSql + "SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value)) "
    StrSql = StrSql + "AND ((TableTotal.mois)= '" + T1 + "') ;"
    DoCmd RUNSQL (Strsql,-1)
    Et éventuellement mettre la date entre # si TableTotal.mois est de type date...
    1
    1. lord_in Messages postés 44 Date d'inscription   Statut Membre
       
      En fait il me met type incompatible pour cette ligne
      StrSql = StrSql + "AND ((TableTotal.mois)= '" + T1 + "')

      J’ai vérifié mes tables et le mois et bien du type date
      Et pour les # j’avais déjà essayé mais ca marche pas !!!

      PS : j’ai changé « DoCmd RUNSQL (Strsql,-1) » en DoCmd.RunSQL StrSql
      Parce qu il voulait pas prendre la 1ère
      0
    2. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      le mois et bien du type date
      Mais que contient-il : un mois ou une date ?
      0
    3. lord_in Messages postés 44 Date d'inscription   Statut Membre > blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention  
       
      il contient une date sous forme ex 01/05/2006
      et mois c'est le nom du champ
      0
    4. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention  
       
      StrSql = StrSql + "AND ((TableTotal.mois)= #" + T1 + "#) ;"
      ???
      0
    5. lord_in Messages postés 44 Date d'inscription   Statut Membre > blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention  
       
      tjrs le meme problème !!!!
      0