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 :

Souci d'enregistrement dans un datagrid


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut Souci d'enregistrement dans un datagrid
    Bonjour,
    Je rencontre un petit souci concernant l'enregistrement de données dans un datagrid.

    Sur ce sub la ligne rouge me permet l'enregistrement :
    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
    Private Sub Oeilgauche_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Oeilgauche.Click
            If enregistrement = True Then Enregistrebase() ' si enregistrement disponible seulement
            ListQ.Visible = False
            With Visiondeloin
                .Oeilgauche.Enabled = False
                .Oeilgauche.Visible = False
                .Initialisationoeil() ' l'autre oeil n'est pas encore fait ( l'oeil gauche)
                .Initialisationcouleurtextbox()
                .txtDocteur.BackColor = Color.LightSlateGray
                .relift.ForeColor = Color.White
                .Calcul.ForeColor = Color.SteelBlue
                If .txtDocteur.Text = "" Then
                    .txtDocteur.BackColor = Color.Purple
                    .txtDocteur.Focus()
                Else
      If .txtPRENOM.Text = "" Or .txtNOM.Text = "" Or .TxtNAISSANCE.Text = "" Then
                        .txtPRENOM.BackColor = Color.Purple
                        .txtPRENOM.Focus()
                    Else
                        .S.BackColor = Color.Purple
                        .S.Focus()
                    End If
                End If
                Pseudo.Checked = False
                second.Checked = False
                relift.Checked = False
            End With
            Me.Dispose()
        End Sub
    et tout fonctionne a merveille

    j'ai maintenant le button precedant dont le code est :
    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
     
    Private Sub Buttondv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttondv.Click
            second.Checked = True
            Visiondeloin.second.Checked = True
            examen.second = "Oui"
            Label47.Visible = False
            LabelSECOND.Visible = True
            If Visiondeloin.Pseudo.Checked = True Then
                Pseudo.Checked = True
            Else
                Pseudo.Checked = False
            End If
            If Visiondeloin.relift.Checked = True Then
                relift.Checked = True
            Else
                relift.Checked = False
            End If
            TextBoxDIFF.Visible = True
            TSO2.Visible = True
            RectangleShape9.Visible = True
            Automatique3()
            Affichinfocalcul()
        End Sub
    et je voudrais que lorsque je clique sur le button Buttondv, il me proposr et realise l'enregistrement exactement comme pour le sub precedant.

    J'ai le souci suivant :
    Si je copie la ligne rouge dans buttondv, il me propose l'enregistrement et le réalise mais je ne peux plus enregistrer avec le button Oeilgauche

    Je ne comprends aps ce qui se passe, c'est comme si l'enregistrement n'etait pas disponible lors du clic sur oeilgauche dans ce cas

    Merci pour vos suggestions

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 33
    Par défaut
    Peux-tu nous donner le code de ta méthode "Enregistrebase()"?

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    Re bonjour
    Voici le sub enregistrementbase(), j' ai occulté volontairement la liste de tous les champs juste pour une histoire de longueur de code dans le post.
    Je ne vois pas ce qui pourrait clocher hormis eventuellement 'enregistrement = False en fin de sub ....

    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
     
    Public Sub Enregistrebase()
            ' Demande d'enregistrement dans la base
            If langue = "en" Then
                messageaff = "Do you want to record the preceding consultation in the database ?"
                infoaff = "Recording consultation"
            Else
                messageaff = "Voulez-vous enregistrer la précédente consultation dans la base de données ?"
                infoaff = "Enregistrement consultation"
            End If
            If MessageBox.Show(messageaff, infoaff, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                ' enregistrement de la consultation dans la base
                With examen 
                    'listing des champs à enregistrer
                     Dim sqltxt As String = "Insert into Consultations Values('" & .praticien & "','" & .jexamen & "', 'les champs a enregistrer');"
                    Using cmd As OleDbCommand = New OleDbCommand(sqltxt, con)
                        Try
                            ' on se connecte à la base
                            con.Open()
                            cmd.ExecuteNonQuery()
                            con.Close()
     
                        Catch ex As Exception
                            If langue = "en" Then
                                messageaff = "An error occurred during the access in writing of the list of the consultations"
                                infoaff = "Error writing file"
                            Else
                                messageaff = "Une erreur est survenue au cours de l'accès en écriture à la liste des consultations"
                                infoaff = "Erreur écriture fichier"
                            End If
                            MessageBox.Show(messageaff, infoaff, MessageBoxButtons.OK, MessageBoxIcon.Warning)
                        End Try
                    End Using
                End With
            End If
            enregistrement = False ' enregistrement fait ou demande de non-enregistrement : donc plus d'enregistrement disponible à enregistrer 
     
        End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 33
    Par défaut
    Et voila tu as ton erreur c'est quand tu mets
    qui ne te permet plus de d'enregistrer avec ton "Oeilgauche_Click_1"

    Dans le code de ton Oeil gauche tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If enregistrement = True Then Enregistrebase() ' si enregistrement disponible seulement
    Alors que quand tu appuies sur ton bouton "Buttondv" il fait le traitement de "Enregistrebase()" 1 fois et à la fin il remet ton boolean "enregistrement" à "false" et dans ton Oeil gauche la premiere chose que tu fais c'est de vérifier si ton boolean "enregistrement" est a true alors qu'il va toujours être à false.

    Je ne sais pas si j'ai été claire dans mes explications...

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    je pense avoir bien compris ton explication oui,
    j'ai donc 2 solutions
    - soit j'enleve le dans mon sub enregistrement mais du coup je peux enregistrer a tous les endroits ou j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If enregistrement = True Then Enregistrebase() ' si enregistrement disponible seulement
    ce qui n'est pas génial

    - soit je crée une autre sub enregistrementbase2() qui ne comporte pas ou alors qui mets et j'applique cette sub uniquement sur mon buttondv

    je teste de suite .......

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 33
    Par défaut
    Ou sinon tu peux trouver un endroit convenable dans ton traitement pour remettre ton boolean. Je ne sais pas c'est quoi ta condition pour permettre l'enregistrement mais je crois que c'est là tu devrais mettre

  7. #7
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    je reviendrai demain sur le traitement de l'enregistrement assez complique.
    Toutefois, il y a un truc que je n'arrive pas a appréhender
    Compte tenu que ma datagrid permet de réinjecter des données pour éventuellement retravailler des données, j'aimerais pouvoir faire 2 type d'enregistrement au choix
    - un enregistrement qui écrase les données précédentes
    - un enregistrement qui vient s'ajouter a celui existant (un peu comme lorsqu'on enregistre un fichier qui a le meme nom qu'un precedant sous office par exemple)

Discussions similaires

  1. Réponses: 14
    Dernier message: 07/12/2010, 09h40
  2. Réponses: 2
    Dernier message: 13/03/2009, 17h28
  3. Réponses: 3
    Dernier message: 11/09/2007, 14h00
  4. ajout dynamique d'enregistrements dans un datagrid
    Par sb.aida dans le forum ASP.NET
    Réponses: 1
    Dernier message: 16/04/2007, 14h10
  5. [VB.NET]Suppression d'un enregistrement dans un DataGrid
    Par San Soussy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/06/2005, 10h30

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