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 de plus de 255 caractères dans un recordset


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut SQL de plus de 255 caractères dans un recordset
    Bonjour,

    La chaîne SQL envoyée via la procédure OpenRecordSet est de type String.
    Quel est le moyen pour renvoyer un recordset relatif à une chaine SQL de plus de 255 caractères ?

    Merci,

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Je dirai : un champ memo plutot que texte.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    Le type de donnée du recordset est de type string donc même si ma variable est variant (donc plus de 255 caractère) elle est tronquée lors de l'appel de open recordset.
    Set recordset = object.OpenRecordset (source, type, options, lockedits)
    Source est de type string.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Fait une requète et appel le nom de ta requète comme source de ton recordset.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       set monRS=maDB.OpenRecordset(nomDeMaRequete).
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Citation Envoyé par acama
    Le type de donnée du recordset est de type string donc même si ma variable est variant (donc plus de 255 caractère) elle est tronquée lors de l'appel de open recordset.
    Set recordset = object.OpenRecordset (source, type, options, lockedits)
    Source est de type string.
    Tu as vérifié ? En VBA les chaine ne sont pas limitée à 255 caractères mais je pense à 32560 (2 octets) sauf si tu le défini explictement.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Voila ce que j'ai pu trouver

    un champ mémo pourra être limité à 255 caractères en cas de tri‚
    regroupement‚ requête union‚ certaines exportations‚ formatage etc.· etc…
    lire par exemple les fiches:
    http://support.microsoft.com/default.as … ;fr;103998
    http://support.microsoft.com/default.as … ;fr;468408
    et
    http://minilien.com/?WnCMMg3s16
    Bonne chance

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    oui j'ai vérifié.
    J'aurais aimé éviter de créer une requête en amont. Je souhaite la créer via le code.
    Mais si elle dépasse 255 caractères, on ne peux pas utiliser OpenRecordSet.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    Merci PC75 pour ta réponse, mais mon problème n'est pas de savoir si un champ mémo peux faire plus de 255 caractères, il est que le paramètre de la procédure OpenRecordSet est de type string et donc tronqué si la chaîne de caractère transmise fait plus de 255 caractères.

  9. #9
    jfc
    Invité(e)
    Par défaut string
    Est-tu vraiment sûr de ce que tu avances.

    Pour ma part, je viens de contrôler. J'ouvre un recordset avec une chaîne sql qui fait plus de 500 caractères, sans tenir compte des valeurs concaténées dans la chaînes, valeurs qui proviennent d'autres variables.

    Je précise bien que ma chaîne est construite entièrement en vba et mon recordset ouvert.

  10. #10
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par acama
    oui j'ai vérifié.
    J'aurais aimé éviter de créer une requête en amont. Je souhaite la créer via le code.
    Mais si elle dépasse 255 caractères, on ne peux pas utiliser OpenRecordSet.
    au pire tu peux parfaitement créer une requête temporaire à la volée grâce à DAO ...
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    Je viens de faire le test direct et ça marche effectivement avec une chaîne de plus de 255 envoyé


    Donc il y a quelquechose qui tronque dans mon code, je vais vérifier

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    Ca y est j'ai trouvé : une erreur dans ma chaîne SQL...
    Ce qui m'a mis dedans c'est la fenetre espion qui elle tronque l'information affichée à 255 alors que la variable peut en faire plus.

    J'espère au moins que cela pourra servir à d'autre.

    Merci à tous et surtout JFC pour m'avoir permis de me remettre en question

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/03/2013, 15h10
  2. [SQL-Server] FreeTDS vers Microsoft SQL, plus de 255 caractères nvarchar?
    Par CGR15121 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/10/2012, 16h01
  3. Réponses: 4
    Dernier message: 22/05/2006, 11h53
  4. Plus de 255 caractères
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 13/03/2006, 17h01
  5. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07

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