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

VB.NET Discussion :

Comment Calculer avec datacolumns.expression


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2012
    Messages : 57
    Points : 36
    Points
    36
    Par défaut Comment Calculer avec datacolumns.expression
    Bonjour à tous
    J'ai un Formulaire ou j'ai placé les éléments de mon dataset Pannes et
    j'utilise la propiété datacolmns.expression dans des colonne pour avoir le total
    des prix des pièces utilisée, le total du cout de l'intervention et le total de 2
    et lors de la sauvgarde j'ai une exeption Le mappage de colonnes de SourceColumn 'Total' a échoué car le DataColumn 'Total' est une colonne calculée. ???

    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
    Public Class Form45
     
     
        Private Sub PannesBindingNavigatorSaveItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PannesBindingNavigatorSaveItem.Click
            Me.Validate()
            Me.PannesBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.Pannes_DataSet)
     
        End Sub
     
        Private Sub Form45_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO: cette ligne de code charge les données dans la table 'Pannes_DataSet.Pannes'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            Me.PannesTableAdapter.Fill(Me.Pannes_DataSet.Pannes)
     
        End Sub
    End Class
    Me serai-il plus facile de reconfigurer ma requête SQL ?? mais comment faire ??
    Total Interv = TempsInterPanne*55
    TotalMat = NB pièce pautilisée pr panne * PrixPce
    Total = TotalMat + TotalInterv

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <s>SELECT        PanneID, [Nom du site panne], [Nom du secteur panne], [Nom demandeur panne], [N° Téléphone demandeur panne], [Date demande panne], [Nom intervenant panne],
                              [N° Téléphone intervenant panne], [Date intervention panne], [N° CFC panne], [Designation machine panne], [Description panne], [Cause panne], 
                             [Tâche éffectué pour la panne], [NB pièce utilisée pour panne], [N° Article pièce panne], [N° Référence pièce panne], [Designation pièce panne], [Date fin intervention], 
                             [Status de la panne], HistoriqueID, PrixPce, Total, TotalInterv, TotalMat, TempsInterPanne
    FROM            Pannes</s>
    Un peu d'aide svp je dois présenté ce projet fin juillet et je suis qu'un pauvre frigoriste...
    P.S je suis sous visual basic 2010

  2. #2
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Si je ne m'abuse, les colonnes calculées ne doivent pas être mise à jour.

    Forcément ! Elles sont calculées.

    Comment remplissez-vous votre dataset ?

    Supposition : (car je suis loin d'être un expert comme d'autres ici)
    Vous récupérez toutes les colonnes de votre table (vos tables?) dans le dataset.
    Ce dernier pensant bien faire, écrit de lui-même une requête update prenant en compte tous les champs se trouvant dans la requête de sélection (qui est probablement écrite automatiquement également).
    Le souci est donc au niveau des colonnes calculées que ce dataset tente vaillamment de mettre à jour.
    Kropernic

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2012
    Messages : 57
    Points : 36
    Points
    36
    Par défaut
    D'accord donc premièrement je devrais modifier la propriété UPDATE de mon dataset "pannes" ?

    Et désolé si je vous répond un peu à l'ouest, je ne suis pas très sur de bien comprendre la question j'ai un peu de difficulté et mélange avec tous ce vocabulaire employé..

    Pour revenir a nos moutons je remplir mon dataset je passe par l'assistant
    ou sois le concepteur de dataset et ensuite j'ajouter mes colonne désirée..
    c'est bien ce que tu voulais savoir

  4. #4
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Ok, je pense voir comment tu fais. J'imagine que tu utilises une base de données access.

    Perso, avec sql serveur, j'utilise les procédures stockées de manière à ne plus écrire aucun code sql dans mon projet.

    Je suppose qu'il y a moyen d'utiliser les query de access comme les procédures stockées de sql serveur.

    Perso, pour mes dataset :
    1 - J'ajoute un dataset au projet et je lui donne un nom adéquat
    2 - J'ajoute un TableAdapter au dataset et j'utilise les procédures stockées que j'ai créé pour lui dire ce qu'il doit faire.

    C'est un peu plus fastidieux mais je trouve cela plus propre et plus facilement maintenable.

    Je te recommande donc de :
    - créer une query dans access qui te retourne toutes les colonnes que tu as besoin pour l'affichage
    - créer une query dans access qui sera chargé de mettre à jour à ta table en lui passant en paramètre uniquement les valeurs appropriées (et donc pas les colonnes calculées)
    - si nécessaire, créer une query dans access qui sera chargée des éventuelles suppressions (qui prend les paramètres qui vont bien)

    De cette manière, tu peux dire à ton table adapter que pour un select il doit utiliser la query1, que pour un update il doit utiliser la query2, que pour un delete, il doit utiliser la query3 et que pour un insert il doit utiliser la query4.
    (tu verras ça dans l'assitant au moment de configurer ton TableAdapter).

    Ca fait beaucoup d'information et c'est nettement plus compréhensible quand on le voit faire que quand on le lit. Donc teste et n'hésite pas à revenir poser des questions.

    Entre temps, p-e que des pro d'access passeront par là.

    En espérant avoir aidé...
    Kropernic

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2012
    Messages : 57
    Points : 36
    Points
    36
    Par défaut
    Alors non je n'utilise pas acces mais j'ai fait comme très bien décrit avec sql server le problème c'est que je n'ai pas de procédure stockée pour lui dire quoi faire...
    Merci déjà pour ces pistes !

  6. #6
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Si tu utilises sql server, alors y a plus qu'à faire comme j'ai dit.

    Tu verras, ça marchera nickel ! Et au moins, c'est toi qui contrôleras ce que fait exactement le dataset et pas lui qui fera sa popote interne (enfin si mais moins qu'avant).

    Si t'as besoin d'aide pour les procédures stockées, n'hésite pas
    Kropernic

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2012
    Messages : 57
    Points : 36
    Points
    36
    Par défaut
    Je n'arrive pas a créer ma procédure, j'ai trouvé télécharger une video sur msdn et dans son visual basic 2005 de la video, dans l'explorateur de base de données elle a plus de dossier que moi !! dans ce dossier stored procedure par ou elle passe par la créer.
    Ou pourrai tu me montrer un exmple de code ou m'expliquer comment faire pour la créer.
    Je vais encore un peu feuilleté aussi ces cours plasterre en attendant voir sir je trouve plus sur le sujet

  8. #8
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Où (dans quel outil visuel) essaies-tu de créer ta procédure stockée ?

    Est-ce dans Visual Studio ou dans SSMS (Sql Server Management Studio) ?

    En fait, j'aurais besoin d'en savoir plus sur votre environnement de travail de manière à pouvoir vous aider plus efficacement.
    Kropernic

Discussions similaires

  1. [FAQ] Comment tester une chaîne de caractères avec une expression régulière ?
    Par Baptiste Wicht dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 20/11/2007, 19h43
  2. Réponses: 2
    Dernier message: 13/03/2007, 11h19
  3. [RegEx] Comment extraire avec une expression régulère
    Par teen6517 dans le forum Langage
    Réponses: 1
    Dernier message: 12/03/2007, 16h35
  4. Réponses: 3
    Dernier message: 12/11/2006, 19h31
  5. Réponses: 2
    Dernier message: 22/03/2004, 10h50

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