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 :

Problème de table sans clef primaire


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 29
    Par défaut Problème de table sans clef primaire
    Bonjour
    Je cherche à sortir des données d'une table qui ne comporte pas de clef primaire (c'est mal, je sais). C'est une table qui liste des évènements listés par personnes concernés et par date.

    Je fais une rqt Linq pour sortir les champs "Nom" et "Date", mais j'ai plusieurs évènements pour une même date et un même nom. J'ai bien rajouté une clef primaire 'ID', mais cela ne m'aide pas beaucoup.

    J'ai tenté de lister à la main les différents enregistrement du résultat de la rqt, sans succès.

    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
    Dim liste(tableCasiers.Rows.Count, 10) As String
     
                For i = 0 To tableCasiers.Rows.Count
                    If tableCasiers.Rows(i).Item("Date").ToString = "" Then Exit For
                    If tableCasiers.Rows(i).Item("PJ").ToString = ListBox6.Text Then
                        liste(i, 0) = tableCasiers.Rows(i).Item("PJ").ToString
                        liste(i, 1) = tableCasiers.Rows(i).Item("Date").ToString
                        liste(i, 2) = tableCasiers.Rows(i).Item("Type interaction").ToString
                        liste(i, 3) = tableCasiers.Rows(i).Item("Organisation").ToString
                        liste(i, 4) = tableCasiers.Rows(i).Item("Personne").ToString
                        liste(i, 5) = tableCasiers.Rows(i).Item("Notes").ToString
                        liste(i, 6) = tableCasiers.Rows(i).Item("Notoriety").ToString
                        liste(i, 7) = tableCasiers.Rows(i).Item("Street Cred").ToString
                        liste(i, 8) = tableCasiers.Rows(i).Item("Public Awareness").ToString
                    End If
                Next
     
    For i = 0 To tableCasiers.Rows.Count
                    CasierInteractionCB.Text = liste(i, 2)
                    CasierOrgaTextBox.Text = liste(i, 3)
                    CasiersPersTextBox.Text = liste(i, 4)
                    NotesTextBox.Text = liste(i, 5)
                    NotoCB.Text = liste(i, 6)
                    StreetCCB.Text = liste(i, 7)
                    PACB.Text = liste(i, 8)
     
                Next
    Cela tient plus de l'algo que du code, mais je sèche un peu. Si des âmes charitables ont des idées...

    Merci

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select distinct date, nom
    from tatable

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 29
    Par défaut
    Ahem...Effectivement, c'est pas compliqué.
    Singulièrement, ça ne fonctionne pas alors que j'aurais juré que c'est la bonne méthode.

    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
    Dim rqtcasiers = From elt In tableCasiers
                Where (elt.Item("PJ") = casierCB.Text And elt.Item("Date") = ListBox6.Text)
                                Select elt Distinct
     
                NotesTextBox.Clear()
                CasierOrgaTextBox.Clear()
                CasierInteractionCB.Items.Clear()
                CasiersPersTextBox.Clear()
                NotoCB.Items.Clear()
                StreetCCB.Items.Clear()
                PACB.Items.Clear()
     
     For Each p In rqtcasiers
     
                    CasierInteractionCB.Text = p.Item("Type interaction").ToString
                    CasierOrgaTextBox.Text = p.Item("Organisation").ToString
                    CasiersPersTextBox.Text = p.Item("Personne").ToString
                    NotesTextBox.Text = p.Item("Notes").ToString
                    NotoCB.Text = p.Item("Notoriety").ToString
                    StreetCCB.Text = p.Item("Street Cred").ToString
                    PACB.Text = p.Item("Public Awareness").ToString
                Next
    En fait, les dates apparaissent dans une listbox. Quand l'utilisateur clique sur une date, les autres champs d'info se mettent à jour. Mais j'ai positionné la rqt Linq dans l'évènement listbox_clik. Donc vb génère la rqt à chaque fois, donc le distinct n'agit pas.
    J'ai essayé de positionner la variable de résultat de la rqt hors de la procédure (en variable générale), sans résultat.

    Actuellement, j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub bouton_Recherche
    procédure de recherche
    rqt avec distinct
    end sub
     
    sub listbox_click
    alimentation des champs par le résultat de la rqt
    end sub
    L'idée étant de ne passer la rqt qu'une seule fois. Mais non.

Discussions similaires

  1. Réponses: 10
    Dernier message: 17/07/2012, 15h01
  2. Différence de tables sans clé primaire
    Par Nicola dans le forum Access
    Réponses: 2
    Dernier message: 19/09/2006, 17h22
  3. Mapper une table sans clé primaire
    Par rosros dans le forum Hibernate
    Réponses: 4
    Dernier message: 14/09/2006, 15h16
  4. [Hibernate] Mapper une table sans clé primaire
    Par neuromencien dans le forum Hibernate
    Réponses: 4
    Dernier message: 13/06/2006, 17h05
  5. [MySQL] Requête SQL selectionner l'id d'une table sans clef commune
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 36
    Dernier message: 03/02/2006, 09h27

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