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

  1. #21
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    Par défaut
    oui c est ce que je pense aussi, bon je continue de chercher
    encore merci

  2. #22
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    Suite ...

    J'ai fait un petit test. Le code suivant fonctionne parfaitement.
    Note que tu ne peux pas utiliser WITH dans ce cas. Tu dois recevoir un message d'erreur.

    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
     
            MaConexion.ConnectionString = ChaineDeConnection
     
            MaConexion.Open()
     
            Dim cmdText As String = "INSERT INTO contactlang (hotesse, nom)  VALUES (@p1, @p2)"
            Dim cmd As New OleDbCommand(cmdText, MaConexion)
     
            cmd.CommandType = CommandType.Text
     
            cmd.Parameters.Add("@p1", OleDbType.VarChar).Value = TBHotesse.Text
            cmd.Parameters.Add("@p2", OleDbType.VarChar).Value = TBNom.Text
     
            cmd.ExecuteNonQuery()
     
            MaConexion.Close()
    ...

  3. #23
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    Par défaut
    ok,
    je test de suite,
    merci

  4. #24
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    Par défaut
    alors,
    j"ai fait un test, resultat :

    pas d'erreur, quand je recharge le dtg, la création est bien presente, je ferme le programme
    je relance le programme et dans le dtg, la creation ne c'est pas faite.

    Je suis en train de me demander si on peux creer un nouvel enregistrement avec que 2 zones de renseignées, alors que la mdb en comporte au moins 36.

  5. #25
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    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

  6. #26
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    Tu peux faire l'INSERT avec seulement 2 champs parmi les autres.
    Pour vérifier, il te faut ouvrir la DB avec Access. Vérifier aussi que tu INSERT bien dans la DB que tu ouvres en lecture.
    Si la DB est déjà ouverte avec Access pendant que tu exécutes le VB, il te faut ré-actualiser les données (menu entouré en rouge sur illustration ci-dessous).
    Pour la vérification avec ton programme, tu dois aussi t'assurer de bien orthographier le nom de l'hotesse ...
    J'ai testé sur la DB test que tu avais envoyée précédemment :
    Nom : Admin__.jpg
Affichages : 77
Taille : 78,8 Ko

    Si tu veux envoyer tout ton projet, il faut sélectionner le dossier complet et tout envoyer dans un dossier ZIP (attention, j'ai peu de temps ce soir) :
    Nom : Admin2.jpg
Affichages : 70
Taille : 101,4 Ko

  7. #27
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    Par défaut
    j 'ai tout verifié, comprend pas,
    je te joint le projet allégé et je ne suis pas pressé, ça m'enerve parce que je n'y arrive pas
    merci encore de ton aide.
    Fichiers attachés Fichiers attachés

  8. #28
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    Tu as des difficultés notamment parce que tu mélanges des technologies diverses et que, de ce fait, tu ne sais pas avec quelle DB tu travailles.

    J'explique.

    Le code qui produit l'affichage dans Form1 utilise un DataSet intégré (TestbaseDataSet.xsd) (Illustration 1). A noter, je ne travaille jamais avec cette technologie.
    Tu tentes d'insérer les données dans une DB désignée par "Provider=microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\testbase.mdb;" (Illustration 2). Le StartupPath est le dossier de l'EXE, soit BIN\Debug pendant le développement. Si tu ouvres la DB avec Access à cet endroit, tu trouveras les enregistrements ajoutés ((Illustration 3).

    La méthode qui consiste à désigner la DB sur le disque (plutôt que de l'intégrer) est la méthode que je préfère mais il faut savoir où ce situe effectivement la DB.
    C'est pourquoi pendant le développement, j'utilise un chemin précis, par exemple (tu l'as vu dans les codes que je t'ai envoyés) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Dim NomEtCheminDB As String = "D:\Tmp\AdminGouyette\contactslang.mdb" ' A changer selon le PC
        Dim ChaineDeConnection As String = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & NomEtCheminDB & ";"  ' Exécuter en x86
    La formule ... ... ... = " & Application.StartupPath & "\test ... ... ..., je la placerai quand dans ma dernière version, celle qui sera exploitée (si c'est bien à cet endroit que l'utilisateur souhaite stocker sa DB).


    Illustration 1

    Nom : NoAdmin1.jpg
Affichages : 69
Taille : 90,6 Ko


    Illustration 2

    Nom : NoAdmin2.jpg
Affichages : 68
Taille : 104,0 Ko


    Illustration 3

    Nom : NoAdmin3.jpg
Affichages : 70
Taille : 92,2 Ko

    J'espère que ces commentaires t'aideront à mettre de l'ordre ...

  9. #29
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    Par défaut
    merci pour tous ces renseignements, j'etudie tout ça
    encore merci
    jc

  10. #30
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour,

    Peut-être pourrais-tu nous expliquer la finalité de l’application que tu envisages.
    Jusqu’ici, il y a une table Access non normalisée avec des champs dont les noms ne sont pas vraiment significatifs qui ne permettent pas de comprendre ce que sont ces données ni à quoi elles doivent servir.

    Normalisation :
    Cette table est organisée comme une page Excel, avec un ensemble de données par ligne, et tant pis si une « Hotesse » a 15 clients, son nom se retrouve 15 fois dans la table. Et si parmi tous les clients répertoriés dans la table, 10 habitent une même localité, cette localité existe 10 fois dans la table. Le jour où une faute d’orthographe est constatée dans le nom de cette localité, il faut en rechercher 10 pour corriger.
    La normalisation engendre un petit surcroît de programmation et la forme « feuille XLS » est tolérable pour de petits jeux de données et dans les cas où le concepteur ne sait pas réaliser l’analyse nécessaire (une mauvaise normalisation peut être pis que pas de normalisation).
    En ne considérant que les « Hotesses », leurs « Clients » avec leurs « Localités », une base normalisée comprendrait 3 tables : THotesse (je suppose que les hotesses sont des personnes), TClients et TLocalites. Chacune de ces tables « signalétiques » contiendrait une clé numérique unique (clé primaire). Des liaisons entre ces tables permettent de trouver les clients (chacun avec sa localité) d’une hotesse donnée. Mais cette hotesse existe une seule fois dans la DB, idem pour le client (même s’il est client de plusieurs hotesses) et une localité n’existe qu’une seule fois dans le DB (même si elle est la localité de la plupart des clients). Le requête qui permet de donner ainsi tous les clients d’une hotesse est une jointure (SELECT … JOIN … JOIN ...).
    (Un peu d’info à propos de la normalisation : ModeleRelationnel.pdf)

    Autre aspect de l’application :
    En mode feuille XLS ou avec normalisation, il est utile d’avoir une vue d’ensemble de ce qu’il faut gérer et pourquoi. Lorsque dans une première maquette, j’utilise une ListBox pour présenter les hotesses sélectionnables là où tu prévois un TextBox pour l’encodage de l’hotesse recherchée, il y a un défaut d’appréciation de l’ergonomie nécessaire. Le composant nécessaire EST le TextBox ou la ListBox, ou un ComboBox, … , mais sans une vue plus générale, nul ne peut le dire.
    (Un exemple de gestion en mode XLS (sans DB intégrée) : MonStockFR.zip. Lire le doc d'explications)

    Ainsi, une explication plus générale de ton projet permettrait davantage d’aides appropriées et probablement, te serait utile à toi-même.

    Très bonne journée,


  11. #31
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    Par défaut
    Bonjour,
    je viens de lire avec attention ton message, je vais m'en inspirer dans une version 2.0.
    concernant l'application actuelle, le fait de placer le nom du chemin en "dur" a solutionner mon problème. Nickel
    je suis bloqué maintenant sur un codage d'un ordre select avec un where sur deux tb de ma forme,
    je n'arrive pas a placer correctement les "" et les ' ',
    Pour info, c'est juste une application pour moi, qui doit gérer a peux prés 200 clients (d'ici 10 ans je pense)
    mais effectivement l'unicité des informations ce doit d’être la norme.
    mais quand on a du mal a coder une ligne simple, ce concept passe au second plan,
    jc

  12. #32
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    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.


  13. #33
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2020
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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
    Points : 10
    Points
    10
    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

  14. #34
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    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 : 65
Taille : 18,0 Ko

    Bonne continuation ...

+ 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