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

Langage SQL Discussion :

Requête avec variables @ et SET


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut Requête avec variables @ et SET
    Bonjour,

    Après avoir fouillé un peu, j'ai trouvé les fonctions DECLARE avec des SET.
    Donc j'ai essayé ça :

    Code SQL
    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
    16
    17
     
    DECLARE @DATEDEB DateTime;
    DECLARE @DATEFIN DateTime;
    SET @DATEDEB = '01/04/2008';
    SET @DATEFIN = '31/04/2008';
     
    SELECT...
     
             FROM ...
     
                     GROUP BY...
     
                     HAVING MaTable.ChampsDate <= @DATEDEB
                          AND MaTable.ChampsDate >= @DATEFIN
     
                     ORDER BY...
                     ;
    Le problème quand je lance la requête, j'ai :
    " Une requête pass-trought avec la propriété ayant la valeur TRUE n'a pas renvoyer d'enregistrement"

    A mon avis, j'ai dû oublier un RETURN ou alors j'ai pas compris l'utilisation du DECLARE et du SET.
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  2. #2
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut
    Salutations créature des abysses (private joke)

    Sur quel SGBD travaillez-vous ?

    Humblement

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Hello,

    SQL Server (En fait sous access mais en SQL direct qui se comporte comme du SQL ou du Transac non...)
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut
    Tes DECLARE et SET sont bons. Le problème doit venir d'ailleurs. Tu es sous formulaire Access et tu attaques une base SQL Serveur ?

  5. #5
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    En fait je ne suis pas encore sous formulaires pour l'instant j'attaque la base SQL server dans le QBE en mode SQL Server (Je devrai peut-être l'attaquer en VB alors...)

    Et si je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    DECLARE @DATEDEB DateTime;
    DECLARE @DATEFIN DateTime;
    SET @DATEDEB = '01/01/2008';
    SET @DATEFIN = '31/01/2008';
     
    RETURN @DATEDEB;
    RETURN @DATEFIN;
    Cela me mets :
    "A return statement with a return value cannot be used in this context"
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  6. #6
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select @DATEDEB = '01/01/2008'
    sous TSQL pour valoriser vos variables.

    Bon courage

  7. #7
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Salut,

    Cela me renvoi :
    "A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations"

    Cela doit provenir du fait que j'ai des champs à afficher en plus dans le select et à mon avis si j'assigne des valeurs à des variables, je ne dois avoir que les variables dans le SELECT, non ?

    Je viens d'essayer et cela me remet le message sur la requête pass-trought avec la propriété ReturnsRecords..;
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



Discussions similaires

  1. Créer une requête avec variable d'une inputbox
    Par Elias Farks dans le forum VBA Access
    Réponses: 4
    Dernier message: 14/02/2008, 17h08
  2. [debutant]Requêtes Avec Variable
    Par theoffss dans le forum VB.NET
    Réponses: 14
    Dernier message: 07/12/2007, 22h04
  3. [SQL & VBA] Requête avec Variable
    Par Altrensa dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/07/2007, 14h31
  4. Réponses: 10
    Dernier message: 11/07/2007, 12h06
  5. Requête avec variable incrémentée sur changement de clé.
    Par souellet dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/09/2005, 22h47

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