IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

sql et variable string limité à 250 caractères


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Points : 44
    Points
    44
    Par défaut sql et variable string limité à 250 caractères
    Bonjour,
    Inspiré par le très bon tuto de cafeine j'ai fait un formulaire de recherche.

    Je bute sur une limite de la variable "SQL" (c'est son nom) qui semble limitée à 250 caractères d'où bug quand ma chaîne dépasse. Comment contourner ce problème?

    merci

    Pour info je mets le lien du tuto formulaire de recherche cafeine pour ceux qui voudront m'aider : http://cafeine.developpez.com/access...rchemulti/#LVI

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    tu as raison un string à pour habitude d'être limité à 255 caractères.

    mais un string déclaraté en VBA:
    String
    (longueur variable) 10 octets + longueur de la chaîne 0 à environ 2 milliards
    String
    (longueur fixe) Longueur de la chaîne 1 à environ 65 400
    d'après <F1>

    ps:bienvenu

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Points : 44
    Points
    44
    Par défaut toujours bloqué
    Je ne parviens pas à affecter à une variable une chaine SQL de plus de 251 caractères.
    Quelqu'un a une idée?

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    bon, visiblement tu n'as pas l'air d'être convaincu:
    voici un exemple que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim sSQL As String
    sSQL = "INSERT INTO table1 " & _
    "SELECT Table1.ID AS ID, Table1.[Study number] AS [Study number], Table1.[Study title] AS [Study title]," & _
    "Table1.[Study management] AS [Study management], Table1.Sponsor AS Sponsor, Table1.[Amount of first payment] AS [Amount of first payment]," & _
    " Table1.[1st payment-Approval date] AS [1st payment-Approval date], Table1.Status1 AS Status1, Table1.[Amount of second payment] AS [Amount of second payment], Table1.[2nd payment-Approval date] AS [2nd payment-Approval date], Table1.Status2 AS Status2, Table1.[Amount of third payment] AS [Amount of third payment], Table1.[3rd payment-Approval date] AS [3rd payment-Approval date], Table1.Status3 AS Status3, Table1.[Amount of fourth payment] AS [Amount of fourth payment], Table1.[4th payment-Approval date] AS [4th payment-Approval date], Table1.Status4 AS Status4, Table1.[Amount of fifth payment] AS [Amount of fifth payment], Table1.[5th payment-Approval date] AS [5th payment-Approval date], Table1.Status5 AS Status5, Table1.[Supplementary study cost] AS [Supplementary study cost]," & _
    " Table1.[Supplementary cost-Approval date] AS [Supplementary cost-Approval date], Table1.Status AS Status, Table1.[Already payed] AS [Already payed], Table1.[Total study cost] AS [Total study cost] " & _
    "FROM Table1 " & _
    "WHERE (((Table1.[Amount of first payment])>0) And ((Table1.[1st payment-Approval date])>#1/1/2007# And (Table1.[1st payment-Approval date])<#1/1/2008#) And ((Table1.Status1)<>'Payed')) Or (((Table1.[Amount of first payment])>0) And (isnull(Table1.[1st payment-Approval date])) And " & _
    "((Table1.Status1)<>'Payed')) Or (((Table1.[Amount of second payment])>0) And ((Table1.[2nd payment-Approval date])>#1/1/2007# And (Table1.[2nd payment-Approval date])<#1/1/2008#) And ((Table1.Status2)<>'Payed')) Or (((Table1.[Amount of second payment])>0) And " & _
    "(isnull(Table1.[2nd payment-Approval date])) And ((Table1.Status2)<>'Payed')) Or (((Table1.[Amount of third payment])>0) And ((Table1.[3rd payment-Approval date])>#1/1/2007# And (Table1.[3rd payment-Approval date])<#1/1/2008#) And ((Table1.Status3)<>'Payed')) Or (((Table1.[Amount of third payment])>0) And (isnull(Table1.[3rd payment-Approval date])) And ((Table1.Status3)<>'Payed')) Or (((Table1.[Amount of fourth payment])>0) And ((Table1.[4th payment-Approval date])>#1/1/2007# " & _
    "And (Table1.[4th payment-Approval date])<#1/1/2008#) And ((Table1.Status4)<>'Payed')) Or (((Table1.[Amount of fourth payment])>0) And (isnull(Table1.[4th payment-Approval date])) And ((Table1.Status4)<>'Payed')) Or (((Table1.[Amount of fifth payment])>0) And ((Table1.[5th payment-Approval date])>#1/1/2007# And (Table1.[5th payment-Approval date])<#1/1/2008#) And ((Table1.Status5)<>'Payed')) Or (((Table1.[Amount of fifth payment])>0) And (isnull(Table1.[5th payment-Approval date])) And ((Table1.Status5)<>'Payed')) Or (((Table1.[Supplementary study cost])>0) And ((Table1.[Supplementary cost-Approval date])>#1/1/2007# And (Table1.[Supplementary cost-Approval date])<#1/1/2008#) And ((Table1.Status)<>'Payed')) Or (((Table1.[Supplementary study cost])>0) And (isnull(Table1.[Supplementary cost-Approval date])) And ((Table1.Status)<>'Payed'));"
     
    MsgBox Len(sSQL)
     
    DoCmd.RunSQL sSQL
    la sql a 3131 caractères! et la commande marche.

    mais tu peux encore faire un lifting autrement, regarde ici
    sinon débug et regarde à quel moment il te tronque la variable.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Points : 44
    Points
    44
    Par défaut merci merci
    Merci,

    Je comprends mieux le traitement de ma variable.
    Ce qui me plantait c'est que je recherchais la cause d'un plantage avec la fenêtre espion et que la valeur (elle et elle seule) de la variable dans cette fenêtre espion apparaît tronqué à 251 caractères, donc j'en déduisais faussement que ma variable ne contenait que 251 caractères, mais que nenni*! effectivement la variable contient bien tous mes caractères (même la partie du code sql faut d'ailleurs...)

    Merci a toi Vodiem d'avoir passé un peu de temps, ton aide a été précieuse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Variable String limitée à 255 caractères !?
    Par HaHaa dans le forum VBA Access
    Réponses: 5
    Dernier message: 07/07/2010, 19h31
  2. Variable string supérieur à 255 caractères !
    Par AgriFlash dans le forum Langage
    Réponses: 14
    Dernier message: 20/05/2008, 22h10
  3. [VBA E] String limité à 200 caractères
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2006, 12h01
  4. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 16h29
  5. Sql et Variable String
    Par jaafarben dans le forum JDBC
    Réponses: 1
    Dernier message: 11/08/2005, 22h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo