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

WebDev Discussion :

Exploiter les données d'une vue sur SQLServer


Sujet :

WebDev

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut Exploiter les données d'une vue sur SQLServer
    Bonjour,

    Débutant sur webdev je voudrais savoir quel est le scénario à suivre affin de lire les données (plusieurs champs) d'une vue SQLServer tout en appliquant un filtre sur un champ bien précis? Je précise que le résultat retourné peut etre composé de plusieurs ligne.

    Quels sont les étapes essentiel à suivre?
    Quelles sont les fonctions à utiliser ? HLit() , HlitRecherche() , HFiltre () ??
    Comment manipuler (pour les afficher par exemple) les données du résultat affiché ?

    Merci à tous ! et bonne année !

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 172
    Points : 249
    Points
    249
    Par défaut
    Bonjour et bonne année à toi aussi.

    En consultant l'aide PC Soft pour la fonction HFiltre (http://doc.pcsoft.fr/fr-fr/?3044100), il y a un exemple avec les fonction à utiliser. En plus sur cet exemple, il y a une boucle qui permet de récupérer plusieurs lignes.

    Je te laisse consulter cette page en espérant que tu y trouveras les informations que tu as besoin.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    Oui , j'ai lu cet exemple.

    Ma vue : YSUIVI qui contient le champ SOHNUM (et d'autres aussi)
    Champ à filtrer : SOHNUM , le filtre peut retourner plusieurs lignes

    Si je remplace "facture" par YSUIVI et "DateFacture" par SOHNUM, il n'aime pas.

    Ne faut-il par déclarer la vue (SQLServer) quelque part ? Je précise que je me connecte en accès natif sur SQL Server...

  4. #4
    Membre habitué
    Profil pro
    Chef de projet Technique
    Inscrit en
    Avril 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet Technique

    Informations forums :
    Inscription : Avril 2007
    Messages : 89
    Points : 125
    Points
    125
    Par défaut
    je pense qu'il faut importer la vue dans ton analyse pour pourvoir l'utiliser directement avec les fonctions H.
    Sinon il faut utiliser HExecuteRequeteSQL() avec le paramètre HRequeteSansCorrection

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    Merci pour cette réponse, mais si j'utilise HExecuteRequeteSQL() comment est ce que je manipule mes données ensuite ?

    Merci encore à vous !

  6. #6
    Membre habitué
    Profil pro
    Chef de projet Technique
    Inscrit en
    Avril 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet Technique

    Informations forums :
    Inscription : Avril 2007
    Messages : 89
    Points : 125
    Points
    125
    Par défaut
    il faut utiliser une variable de type Source de données ce qui donne quelque chose du genre :
    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
     
    MaSource est une Source de Données
    resultat est un boolean
    sMaReq est une chaîne = [
    SELECT * FROM
    maTable
    ]
     
    resultat =HExécuteRequêteSQL(MaSource ,MaConnxionBDD, hRequêteSansCorrection, sMaReq) ALORS
     
    si resultat alors
    <div style="margin-left:40px">
    HLitPremier(MaSource)
    SI pas hendehors(maSource) ALORS
    <div style="margin-left:40px">trace(maSource.maRubrique)</div>FIN</div>FIN
     
    HAnnuleDeclaration(maSource)
    sinon l'aide en ligne donne aussi des exemple http://doc.pcsoft.fr/fr-FR/?3044084&...cuteRequeteSQL

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    Bonsoir à tous,

    Merci à tous pour votre aide qui m'ont aidé à avancer. finalement je suis passé par de la programmation avec des requetes SQL. pour exploiter les données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // Initialisation de la requête
    	resultat2 = SQLExec(req,"R1") 
    	SI resultat2 <> "" ALORS
    		TANTQUE SQLAvance("R1") = 0
    			sstatut = PLSuivi(SQLCol("R1",2),SQLCol("R1",3),SQLCol("R1",4),SQLCol("R1",5),SQLCol("R1",6),SQLCol("R1",7),SQLCol("R1",8),SQLCol("R1",9))
    			SI stest > sstatut ALORS
      				stest = sstatut
    			FIN
    		FIN
    		SQLFerme("R1")
    	FIN
    Cependant, j'ai toujours un problème avec PLSuivi (procédure local)
    en debug, je me rend compte que mes valeur ne passent pas
    Quelle peut etre la raison ?

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    SQLExec renvoie un booléen.
    Ensuite, il serait mieux de récupérer les données avant de les transmettre à une procédure, donc de stocker les résultats de la requête dans des variables.

    Essayes voir si ca marche.
    La connaissance s'accroît quand on la partage.

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    OK ca marche

  10. #10
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Tu m'étonnes !!!
    La connaissance s'accroît quand on la partage.

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

Discussions similaires

  1. [XL-2007] Recopier les données d'une cellule sur plusieurs feuilles
    Par anubis62 dans le forum Excel
    Réponses: 1
    Dernier message: 25/06/2009, 08h41
  2. trigger sur une vue sur sqlserver 2005
    Par thor76160 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 07/03/2009, 11h41
  3. Réponses: 2
    Dernier message: 18/06/2008, 17h29
  4. impossible de modifier les données d'une vue
    Par lepierot dans le forum Toad
    Réponses: 10
    Dernier message: 30/11/2007, 15h40
  5. Réponses: 2
    Dernier message: 23/10/2007, 08h11

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