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

Conception Discussion :

DATE dans requête SQL = Cellule de mon fichier Excel


Sujet :

Conception

  1. #21
    Futur Membre du Club
    Homme Profil pro
    Chef des ventes
    Inscrit en
    Septembre 2021
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Chef des ventes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2021
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Pour rester d'abord dans la configuration qui est la tienne:
    • J'ai créé les deux tables sur mon serveur sql de tests;
    • J'ai copié-collé ta requête telle que tu la donnes.


    J'ai bien eu la demande des 4 paramètres, et lorsque je reviens dans la requête après, j'ai bien le bouton "Paramètres" accessible et il me donne bien la fenêtre permettant de les valoriser tous les 4.

    Cela étant dit, j'ai remarqué une certaine instabilité dans l'apparition et la gestion des fenêtres de paramètres, lors de mes tests. Du coup, j'avais saisi une simple requête "SELECT CO_Nom, 0,0 from F_DOCLIGNE" et l'avais validée. Pas de fenêtre de paramètres, donc. Puis j'ai recollé TA requête complète et j'ai récupéré la demande des paramètres.

    Peut-être cela pourrait-il être une piste pour toi? Peux-tu tester cela? Si ça donne rien, on s'aiguillera vers une solution Power Query pour voir si ça tient la route en fonction du volume de données.
    Quand je saisi TA simple requête "SELECT CO_Nom, 0,0 from F_DOCLIGNE", j'ai ce message d'erreur...
    Nom : Capture_erreur requete simple.png
Affichages : 71
Taille : 4,0 Ko

    si je la modifie en "SELECT CO_Nom, 0,0 from F_DOCLIGNE", j'obtiens cela...
    Nom : Capture_modif requête_LI.jpg
Affichages : 68
Taille : 629,8 Ko

    Puis quand je recolle MA requête, j'ai à nouveau les messages d'erreur ("nombre de parametres non valide" et "Index de descripteur non valide")
    Et seulement 2 paramètres dans la fenêtre:
    Nom : Capture_Parametres SQL.png
Affichages : 64
Taille : 54,6 Ko

  2. #22
    Futur Membre du Club
    Homme Profil pro
    Chef des ventes
    Inscrit en
    Septembre 2021
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Chef des ventes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2021
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par iCorse Voir le message
    Ma plus grande frustration, y être parvenu, sans être capable de renouveler l'opération!
    Je le redis, je suis "incapable", mais réellement "INCAPABLE", de partir d'un fichier Excel vierge et d'arriver à la fenêtre "Propriétés de connexion..."

    ....

    Depuis ce jour, je le redis "INCAPABLE" de reproduire cela, je duplique mes fichiers, puis modifies mes requêtes.

    Ce qui pourrait, d'ailleurs, être une raison possible de mon blocage... Ne me permettant pas de rajouter d'autres "Paramètres".
    Ne penses-tu pas qu'à force de dupliquer mon fichier Excel, j'aurais pu rendre encore plus instable l'apparition et la gestion de la fenêtre de paramètres?

  3. #23
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Non, le fait de dupliquer les classeurs ne pose à mon avis pas de problèmes concernant cette fenêtre.

    Désolé pour la mauvaise requête, je n'ai pas fait attention que co_nom n'est pas une colonne de la table f_docligne.

    Je te propose deux démarches:

    1. saisir la requête select co_no, dl_montantht, dl_montantht from f_docligne dans la zone du texte de la commande puis cliquer sur Modifier la requête.... Une fenêtre va s'ouvrir (MS Query) et tu peux la fermer par la croix. Ce faisant, tu vas "vraiment" réinitialiser l'interface: ta requête va être adaptée (alourdie par les préfixes des tables, notamment) et normalement, le bouton Paramètres sera grisé. Tu remplaces cette requête par ta grande requête filtrée et normalement, en validant sur OK, tu vas recevoir les demandes des paramètres.


    2. Je te joins un fichier avec ta requête sur MA base de données. Il convient donc de copier TA chaine de connexion "DSN=..." de ton fichier et de remplacer ma chaine par la tienne dans le fichier que je te joins. Il se pourrait alors que tu récupères la gestion des paramètres.


    Après cela, il reste la solution Power Query
    Fichiers attachés Fichiers attachés
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #24
    Futur Membre du Club
    Homme Profil pro
    Chef des ventes
    Inscrit en
    Septembre 2021
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Chef des ventes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2021
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Alors...

    Citation Envoyé par Pierre Fauconnier Voir le message
    1. saisir la requête select co_no, dl_montantht, dl_montantht from f_docligne dans la zone du texte de la commande puis cliquer sur Modifier la requête.... Une fenêtre va s'ouvrir (MS Query) et tu peux la fermer par la croix. Ce faisant, tu vas "vraiment" réinitialiser l'interface: ta requête va être adaptée (alourdie par les préfixes des tables, notamment) et normalement, le bouton Paramètres sera grisé. Tu remplaces cette requête par ta grande requête filtrée et normalement, en validant sur OK, tu vas recevoir les demandes des paramètres.
    Après la saisie, je clique sur Modifier la requête... et j'obtiens le message d'erreur ci-dessous...
    Nom : Capture_Erreur modif requete.png
Affichages : 64
Taille : 4,6 Ko

    Je clique sur OK, ferme la fenetre QUERY ... Je recolle MA requete, mais le bouton Paramètres reste grisé... Je valide et à nouveau message "nombre de parametres non valide" et "Index de descripteur non valide"
    Je retourne sur requete, le bouton Paramètres reste grisé !!


    Citation Envoyé par Pierre Fauconnier Voir le message
    2. Je te joins un fichier avec ta requête sur MA base de données. Il convient donc de copier TA chaine de connexion "DSN=..." de ton fichier et de remplacer ma chaine par la tienne dans le fichier que je te joins. Il se pourrait alors que tu récupères la gestion des paramètres.
    Je colle ma chaine de connexion, je controle les parametres et je valide...
    message "nombre de parametres non valide" et "Index de descripteur non valide"

    Pour le fun, je remplace les '?' par les dates de mon exemple ('01/09/2021' et '30/09/2021') ... Ca fonctionne!


    Citation Envoyé par Pierre Fauconnier Voir le message
    Après cela, il reste la solution Power Query
    Eh ben, je vais m'y intéresser... voir ce que je peux trouver à ce sujet sur le fofo pour le prendre en main, jusqu'à pouvoir compiler et paramétrer mes recherches

    Encore merci pour le temps que tu y as consacré

  5. #25
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    A toutes fins utiles...


    Je suis parti de l'idée que la colonne DO_Date était une colonne typée DATE dans le sql server. N'ayant pas SAGE, je ne sais pas vérifier cela. Le fait que tu mentionnes '01/09/2021' et '30/09/2021' dans la requête me fait dire que ce pourrait être un champ texte? Lorsque tu as ta requête avec les deux paramètres (l'un ou l'autre des SELECT), tu utilises quoi comme requête? Mets les deux requêtes stp, celle avec la date "en dur" et celle avec les ?. Celle avec les ? fonctionne et renvoie le résultat escompté?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #26
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Dis, je viens de voir une chose

    Dans le message 11, tu donnes la requête que tu utilises... avec un espace polluant sur les lignes WHERE (entre COLLABORATEUR et .CO_No):
    WHERE F_DOCLIGNE.CO_No = F_COLLABORATEUR .CO_No and F_DOCLIGNE.DO_Type = 7 and F_DOCLIGNE.DO_Date BETWEEN ? and ?

    Il faudrait vérifier sans l'espace, car je doute que le SQL analyse correctement la requête avec cet espace.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #27
    Futur Membre du Club
    Homme Profil pro
    Chef des ventes
    Inscrit en
    Septembre 2021
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Chef des ventes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2021
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    A toutes fins utiles...


    Je suis parti de l'idée que la colonne DO_Date était une colonne typée DATE dans le sql server. N'ayant pas SAGE, je ne sais pas vérifier cela. Le fait que tu mentionnes '01/09/2021' et '30/09/2021' dans la requête me fait dire que ce pourrait être un champ texte? Lorsque tu as ta requête avec les deux paramètres (l'un ou l'autre des SELECT), tu utilises quoi comme requête? Mets les deux requêtes stp, celle avec la date "en dur" et celle avec les ?. Celle avec les ? fonctionne et renvoie le résultat escompté?
    Que ce soit...
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CO_Nom, sum(DL_MontantHT) AS VENTES
    FROM F_DOCLIGNE, F_COLLABORATEUR
    WHERE F_DOCLIGNE.CO_No = F_COLLABORATEUR .CO_No and F_DOCLIGNE.DO_Type = 7 and F_DOCLIGNE.DO_Date BETWEEN ? and ?
    Group by CO_Nom
    où les ? font réference aux cellules C1 et C2

    ou encore, "en dur."..
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CO_Nom, sum(DL_MontantHT) AS VENTES
    FROM F_DOCLIGNE, F_COLLABORATEUR
    WHERE F_DOCLIGNE.CO_No = F_COLLABORATEUR .CO_No and F_DOCLIGNE.DO_Type = 7 and F_DOCLIGNE.DO_Date BETWEEN '01/09/2021 and '30/09/2021'
    Group by CO_Nom

    L'une comme l'autre me renvoie les mêmes et "bons" résultats!

  8. #28
    Futur Membre du Club
    Homme Profil pro
    Chef des ventes
    Inscrit en
    Septembre 2021
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Chef des ventes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2021
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Dis, je viens de voir une chose

    Dans le message 11, tu donnes la requête que tu utilises... avec un espace polluant sur les lignes WHERE (entre COLLABORATEUR et .CO_No):
    WHERE F_DOCLIGNE.CO_No = F_COLLABORATEUR .CO_No and F_DOCLIGNE.DO_Type = 7 and F_DOCLIGNE.DO_Date BETWEEN ? and ?

    Il faudrait vérifier sans l'espace, car je doute que le SQL analyse correctement la requête avec cet espace.
    Il semblerait que le SQL n'en tienne pas compte. Avec ou sans espace...
    • Les ? engendrent une erreur
    • Les dates "en dur" ramènent les résultats attendus

Discussions similaires

  1. [Débutant] Erreur Date dans requête SQL
    Par jayce23 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/02/2014, 09h17
  2. [XL-2007] Controle de date dans requête SQL
    Par nanousik dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/03/2013, 18h10
  3. [AC-2002] Critére DATE dans requête SQL
    Par Flavien23 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/05/2009, 11h00
  4. [AC-2002] Critére DATE dans requête SQL
    Par Flavien23 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 05/05/2009, 10h50
  5. Utilisation de variable Date dans requète SQL sous Access
    Par noakiss dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/03/2008, 09h37

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