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 6 et antérieur Discussion :

Modifier un RecordSet a travers une DataGrid


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Février 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 1
    Par défaut Modifier un RecordSet a travers une DataGrid
    Bonjour,

    Je cherche e rendre modifiable le dernier d'une DataGrid liee a un RecordSet. J'ai beau chercher sur la toile une solution a mon probleme, je ne trouve rien.
    Voici mon code pour l'instant:
    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
     
    Dim rsGetValue As New Recordset
    rsGetValue.Open sQuery, conn1, adOpenKeyset, adLockOptimistic, adCmdText
     
    If rsGetValue.EOF <> True Or rsGetValue.BOF <> True Then
        lblrecibio.Caption = rsGetValue.Fields(0)
        lblpo.Caption = rsGetValue.Fields(2)
     
        Set DataGrid1.DataSource = rsGetValue
     
        DataGrid1.Columns(0).Visible = False
        DataGrid1.Columns(2).Visible = False
     
        DataGrid1.Columns(1).Width = 20
        DataGrid1.Columns(3).Width = 70
        DataGrid1.Columns(4).Width = 120
        DataGrid1.Columns(5).Width = 60
        DataGrid1.Columns(6).Width = 20
        DataGrid1.Columns(7).Width = 60
     
        DataGrid1.Columns(5).Alignment = dbgRight
        DataGrid1.Columns(6).Alignment = dbgRight
        DataGrid1.Columns(7).Alignment = dbgRight
        DataGrid1.Columns(8).Alignment = dbgRight
     
        DataGrid1.Visible = True
     
    End If
    Je voudrais que la colunne 8 de ce tableau soit modifiable, pour que je puisse, si necessaire, mettre a jour la base de donnees.

    Merci pour tout help.

    Mateo.

  2. #2
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut
    Bonjour
    Tu as probablement oublié de définir le vérouillage de ton recordset à "optimiste".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TonRS.Open SQL, cn, adOpenDynamic, adLockOptimistic, adCmdText
    ou si tu est passé par un DataEnvironment, regarde le volet "avancé " des propriétés de l'objet Command.
    Et, à tout hasard, regardes aussi la propriété "allow update" de la DataGrid. Par déféut, elle est à "true", mais sinon modilfie la afin d'accepter les modif.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Par défaut
    Bonsoir,
    Je pense que pour pouvoir modifier, il faut mettre AllowAdnew à True et AlowDelete à True.

    jpleroisse

  4. #4
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut
    Citation Envoyé par leroissejp
    Je pense que pour pouvoir modifier, il faut mettre AllowAdnew à True et AlowDelete à True.jpleroisse
    Manqué, c'est la propriété allowupdate, comme dit précédemment

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut Lien entre recordset et Datagrid
    Que signifie le message d'erreur : "le jeu d'enregistrement ne peut pas prendre en compte les signets"

  6. #6
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut
    Un signet identifie ou définit un enregistrement de façon unique dans un objet Recordset. Ils s'utilisent avec la propriété bookmark. Ton message indique que ton recordset n'accepte pas les signets. Définis ton recordset côté client et il est probable que tu n'auras plus cette erreur.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut Réponse à JACMA
    "Ton message indique que ton recordset n'accepte pas les signets. Définis ton recordset côté client et il est probable que tu n'auras plus cette erreur"

    1 - je vais essayer par un autre moyen : création d'un data environnement
    DataGrid.DATASOURCE = xxx (tutoriel)

    cependant, quelles propriétés du recordset accepte les signets ? je croyais que les bookmarks étaient utilisés pour se positionner sur un enregistrement d'une table afin de continuer à interroger les autres enregistrements de cette même table !!

  8. #8
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut Re: Réponse à JACMA
    Citation Envoyé par MITCH31
    cependant, quelles propriétés du recordset accepte les signets ? je croyais que les bookmarks étaient utilisés pour se positionner sur un enregistrement d'une table afin de continuer à interroger les autres enregistrements de cette même table !!
    C'est tout à fait cela. Avec une base Access ou SQL, et un recordset coté client, comme code ci-après, il m'étonnerait beaucoup que tu ne puisses pas utiliser les signet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TonRS.CursorLocation = adUseClient
    Avec un DataEnvironment, c'est le même principe. Dans les propriétés de l'objet Command, regardes l'onglet Avancé. Tu as un champ à définir pour la position du curseur. Définis à 3: curseurs coté client.

Discussions similaires

  1. [Débutant] modifier les données d'une gridview à travers une FormView
    Par Alexandre le Grand dans le forum Entity Framework
    Réponses: 0
    Dernier message: 04/03/2014, 11h06
  2. Modifier base de donné a partir d'une datagrid
    Par akremb22 dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 27/08/2010, 00h33
  3. Réponses: 2
    Dernier message: 21/07/2008, 14h26
  4. [C#] Affichage des données d'une base de données à travers un Datagrid
    Par Me,Myself and I dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/02/2007, 16h38
  5. [.NET CF] Modifier les en-têtes d'une DataGrid
    Par Marc_P dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 24/10/2006, 15h02

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