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

ADO.NET Discussion :

calcul de la moyenne


Sujet :

ADO.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 60
    Points : 47
    Points
    47
    Par défaut calcul de la moyenne
    Salut ,

    Je suis entrain de développer une application de base de données pour la gestion des notes des élèves d'un collège.

    Mon problème vient de cette erreur que le compilateur VB.NET m'affiche :
    Erreur de syntaxe (opérateur absent) dans l'expression ".
    Voici mon code VB.NET ( Visual Basic 2008) :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Imports System.Data
    Imports System.Data.OleDb
     
    Public Class Form1
        Dim strcon As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & Application.StartupPath & "\notes.mdb"
        Dim con As New OleDbConnection
     
        Dim strSQL As String = "SELECT e.idelv, e.nom, e.pren ,
        m.libmat , t.libtrim, 
        ((t1.moycc * 2) + t2.note_comp) / 5 AS Moyenne
    FROM 
    (
        SELECT n1.idelv, c1.idmat, c1.idtrim, 
            AVG(n1.note) AS moycc
        FROM evaluation n1
        INNER JOIN controle c1 ON c1.idcontr = n1.idcontr
        WHERE c1.typecontr <> 'comp'
        GROUP BY n1.idelv, c1.idmat, c1.idtrim
    ) t1 
    INNER JOIN 
    (
        SELECT n2.idelv, c2.idmat, c2.idtrim, 
            n2.note AS note_comp
        FROM evaluation n2
        INNER JOIN controle c2 ON c2.idcontr = n2.idcontr
        WHERE c2.typecontr = 'comp'
    ) t2 
        ON t2.idelv = t1.idelv
        AND t2.idmat = t1.idmat
        AND t2.idtrim = t1.idtrim
    INNER JOIN eleve e ON e.idelv = t1.idelv
    INNER JOIN matiere m ON m.idmat = t1.idmat
    INNER JOIN trimestre t ON t.idtrim = t1.idtrim"
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Me.Text = "Calcul des moyennes par élève et par matière"
            con.ConnectionString = strcon
            Dim da As New OleDbDataAdapter(strSQL, con)
     
            Dim ds As New DataSet
            con.Open()
            da.Fill(ds, "evaluation")
            con.Close()
     
            dg.DataSource = ds
            dg.DataMember = "evaluation"
            dg.Columns("MoyMat").DefaultCellStyle.Format = "##.##"
     
        End Sub
     
    End Class
    J'ai vérifié plusieurs fois les instructions , j'ai fait des recherches sur le NET mais en vain , je n'arrive pas à localiser l'origine de l'erreur , s'il vous plait aidez-moi.J'ai oublié de vous dire que le compilateur VB.NET pointe sur cette ligne en m'affichant l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    da.Fill(ds, "evaluation")

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    VB accepte les retours à la lignes?

    faut pas mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim strSQL As String = "SELECT e.idelv, e.nom, e.pren ," & _
    "ligne 2" & _ 
    "ligne 3"
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 60
    Points : 47
    Points
    47
    Par défaut
    Merci de votre conseil , oui je sais mais c'est par oubli mais le problème ce n'est pas les retours à la ligne , ça c'est déjà fait et corrigé , le problème c'est erreur qui me bloque, Merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Le SQL autant le débugger dans un éditeur SQL.

    En l’occurrence il suffit de reprendre le code de la requête dans Access.

    Et pourquoi ne pas dans ce cas créer un dataset typé et utiliser l'assistant de création de requête pour créer un adapter correct ?

Discussions similaires

  1. [Tableaux] Calcul d'une moyenne à partir d'un tableau
    Par Mordanus dans le forum Langage
    Réponses: 13
    Dernier message: 09/05/2007, 18h03
  2. calcul de la moyenne sans compter le 0
    Par chrischros10 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/03/2007, 11h34
  3. requete sql : calcul d'une moyenne
    Par timide94 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/01/2007, 19h12
  4. [Access] Calcul de population moyenne
    Par tatayoyo dans le forum Langage SQL
    Réponses: 28
    Dernier message: 05/09/2006, 19h41
  5. Problème dans le calcul des normales moyennes,
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 12/04/2005, 17h50

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