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 :

datagridview et selection d enregistrements [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bravo !

    Attention, avec la méthode de l'encodage dans un TextBox, s'il y a une erreur de frappe, les enregistrements ne sont pas trouvés.
    C'est pour cette raison que dans ma première version, je présentais toutes les clés dans une ListBox pour que l'utilisateur choisie celle qu'il veut au lieu de la taper au clavier.
    Peut-être as-tu là matière à réflexion...

    Bon codage pour la suite

  2. #2
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    Bonjour Phil,
    j'ai travaillé sur mon appli, je pensais bien avancer et c'est la cata
    je veux faire un ajout dans ma mdb, mais rien ne se passe et je n'ai aucun message d'erreur.....
    je te communique mon code, si tu peux y jeter un œil,

    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
     Dim ChaineDeConnection As String = "Provider=microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\contactslang.mdb;"
     
            MaConexion.ConnectionString = ChaineDeConnection
     
            MaConexion.Open()
     
            Dim cmdText As String = "INSERT INTO contactlang (hotesse, nom)  VALUES (?,?)"
            Dim cmd As OleDbCommand = New OleDbCommand(cmdText, MaConexion)
     
            cmd.CommandType = CommandType.Text
            With cmd.Parameters
                .Add("@p1", OleDbType.VarChar).Value = Me.hotesse.Text
                .Add("@p2", OleDbType.VarChar).Value = Me.TextBox1.Text
     
                cmd.ExecuteNonQuery()
     
                MaConexion.Close()
     
                Me.Hide()

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonsoir,

    Coder un SELECT sur 2 tables n'est pas facile. Il faut qu'il existe des informations communes entre les 2 tables (généralement la PrimaryKey d'une table et la clé étrangère de l'autre). Vois le document ci-joint : ApprocheVisuelleJointure.pdf

    Par ailleurs, si les tables sont bien construites, tu peux effectuer la requête dans Access à l'aide de l'assistant. Quand tu obtiens les résultats que tu attends, il faut copier le code de la requête d'Access dans VB, la mettre entre guillemets, y concaténer les variables, ..., bref il faut la retravailler un peu mais Access t'aura donné le principal.

    Si tu envoies la DB en disant quels résultats tu veux obtenir et de quelles tables, je tâcherai de faire une vidéo de la manière de faire avec l'assistant d'Access. Je devrais trouver du temps demain après-midi.


  4. #4
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    bonjour,
    Pour l'instant je n'ai qu une seule table, je verrais plus tard.
    Je te remercie encore pour ton aide, qui m'as fait entrevoir les limites de demande d'aide.
    encore merci
    jc

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonsoir,
    Je ne suis pas sûr de la syntaxe mais je ne peux vérifier ce soir, je le ferai demain.
    Mais tu peux vérifier 2 choses.
    Ne faut-il pas remplacer les points d'interrogation par p1 et p2, ou @p1 et @p2.
    Quel est ce composant nommé hotesse : Me.hotesse.Text ?
    Je testerai demain dans la matinée.
    Bonne soirée

  6. #6
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    ok,

    pour les "?", tu as raison, regarde à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Add("@p1", OleDbType.VarChar).Value = Me.hotesse.Text
    Add("@p2", OleDbType.VarChar).Value = Me.TextBox1.Text
    il y a @p1 et p2

    pour le composant : Me.hotesse.Text, c'est une textbox qui se nomme : hotesse

  7. #7
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    J'avais mal compris ton message d'hier à 18h43'. J'ai compris 2 tables alors que tu parlais de 2 TextBox.
    Et ta question concernait les guillemets et simples quotes.

    Voici un exemple.

    Soit la requête suivante (telle qu'on peut l'obtenir avec l'aide de l'assistant d'Access) :

    SELECT * FROM contactlang WHERE hotesse = 'A' AND Nom = 'chamel';

    En VB, avec les TextBox, elle devient :

    Requete = "SELECT * FROM contactlang WHERE hotesse = '" & tbHotesse.Text & "' AND Nom = '" & tbNom.Text & "';".

    En couleur pour mieux voir :

    Nom : Requete.jpg
Affichages : 115
Taille : 18,0 Ko

    Bonne continuation ...

  8. #8
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Pour les ? ce que montre est bien juste mais faut essayer de les remplacer dans la phrase INSERT ...

  9. #9
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    j essaie demain matin,
    merci

  10. #10
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Je te confirme que, dans cet usage des paramètres, il faut rempalcer les ? par les variables.
    En outre, j'utilise une autre syntaxe d'ajout des paramètres (qui me dispense d'indiquer les types) mais cela ne signifie pas que celle que tu as utilisée ne fonctionne pas. A tester.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ' ... ... ...
            Dim cmdText As String = "INSERT INTO contactlang (hotesse, nom)  VALUES (@p1, @p2)"
            Dim cmd As OleDbCommand = New OleDbCommand(cmdText, MaConexion)
     
            cmd.CommandType = CommandType.Text
            With cmd.Parameters
           '     .Add("@p1", OleDbType.VarChar).Value = Me.hotesse.Text
           '     .Add("@p2", OleDbType.VarChar).Value = Me.TextBox1.Text
          .AddWithValue("@p1", Me.hotesse.Text)
          .AddWithValue("@p2", Me.TextBox1.Text)
     
           cmd.ExecuteNonQuery()
     ' ... ... ...
    Si je peux me permettre ... ... je te suggère de commencer les noms des composants que tu déposes sur les Forms par quelques lettres indiquant leur type.

    Par exemple, T ou TB pour une TextBox, LB pour une ListBox, CB pour un ComboBox, DG pour un DataGridView, ... Microsoft préconise une nomenclature plus compliquée, elle est bien aussi.
    Si ton TextBox "hotesse" avait été nommé THotesse ou TBHotesse, je ne t'aurais pas demandé ce qu'était ce "hotesse".
    Dans la même logique (lisiblité du code), la TextBox1 serait mieux nommée TBNom.

    J'espère que tes INSERT fonctionneront avec le code ci-dessus ...


  11. #11
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    Bonjour,

    Merci pour ces recommandations, je vais les mettre en applications.
    Concernant la modification des p1 et p2, cela n'as rien changé.

    je vais continuer de chercher.
    Merci pour ton aide
    jc

  12. #12
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    P1 et P2 : c'est pourtant bien le début de la solution...
    Peux-tu me renvoyer ton code actuel ? J'aurai peut-être un peu de temps cet après-midi.

  13. #13
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    oui c est ce que je pense aussi, bon je continue de chercher
    encore merci

  14. #14
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 34
    Par défaut
    Bonsoir,
    désespoir et dépression, rien ne fonctionne comme je le souhaite...
    pour tester ma base de données, j ai crée une autre base avec juste 5 zones dans le fichier
    une datagridview et une form2 pour une création, et toujours pareil, pas d'erreur mais pas de création de nouvelle ligne.
    j'aimerais te faire parvenir le projet mais je ne sais pas comment faire.
    jc

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. PB de selection d'enregistrement
    Par lesvran dans le forum Access
    Réponses: 4
    Dernier message: 22/06/2006, 20h24
  2. Réponses: 10
    Dernier message: 10/05/2006, 10h44
  3. [MySQL] Afficher une selection d'enregistrement sur plusieurs pages
    Par largolgd dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 09/03/2006, 22h20
  4. [CR-XI] Problème paramètrage et selection d'enregistrement
    Par silversatch62 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 13/10/2005, 21h42
  5. [CR] selection d'enregistrement conditionnele
    Par planetevoyage dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 29/03/2005, 14h02

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