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 :

ADO mise a jour d'un datagrid


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut ADO mise a jour d'un datagrid
    Bonjour je commence l ado avec sql et je n'arrive pas a mettre a jour le data grid lors d"un delete cascade

    voici mon code:

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    Dim con As New Connection 'Déclaration des variables,Instanciation des variables
    Dim rst As New Recordset 'Déclaration des variables,Instanciation des variables
    Dim str_requete_nom As String
    Dim str_requete_produit As String
    Private Sub bou_effacer_Click()
    Dim int_rel As Integer
     
    int_rel = rst.Fields(1)
    con.Execute "DELETE FROM `nom_tbl` WHERE `rel` =" & int_rel
     
    Call FONC_EXEC_REQUETE(str_requete_nom, rst, con)
    rst.Update
    Set rst = Nothing
     
    Call FONC_EXEC_REQUETE(str_requete_produit, rst, con)
     
     
    End Sub
     
    Private Sub Form_Load()
     
    'Connexion à la base de données
    con.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
                            & "SERVER=" & "127.0.0.1" & ";" _
                            & "DATABASE=" & "exo1" & ";" _
                            & "UID=" & "root" _
                            & ";"
    'Ouverture de la base de données
    con.Open
     
    str_requete_produit = "Select * from produit_tbl"
    str_requete_nom = "Select * from nom_tbl"
     
    Call FONC_EXEC_REQUETE(str_requete_produit, rst, con)
     
    Set datagrid_produit.DataSource = rst
     
    Set rst = Nothing 'libere le rst
     
    Call FONC_EXEC_REQUETE(str_requete_nom, rst, con)
     
    Set datagrid_nom.DataSource = rst
     
    'Set rst = Nothing 'libere le rst
    End Sub
     
    Public Function FONC_EXEC_REQUETE(str_req As String, ByRef rst As Recordset, ByRef con As Connection) As Boolean
    '============================================================================='
    ' FUNCTION : FONC_EXEC_REQUETE(...)
    ' DESCRIPTION : Execute une requête SQL
    ' PARAMS : * str_req : Requête à exécuter
    '          * rst : Variable permettant de stocker les enregistrements
    '============================================================================='
        'Initialisation du RecordSet
        If rst.State <> adStateClosed Then rst.Close
     
        'Positionne le curseur côté client
        rst.CursorLocation = adUseClient
     
        'Vérifie que la connexion passée est bonne
        Set rst.ActiveConnection = con
     
        On Error GoTo ErrRequete
        'Exécute la requête
        rst.Open str_req, con, adOpenDynamic
     
        FONC_EXEC_REQUETE = True
     
        Exit Function
    ErrRequete:
        FONC_EXEC_REQUETE = False
     
        MsgBox "ADOManager.FONC_EXEC_REQUETE:ErrRequete" & vbCr & vbCr & Err.Description, vbCritical
     
    End Function
    Merci d'avance

  2. #2
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    Salut,
    Je ne suis pas un habitué d'ado mais il me semble que dans l'evenement clique de ton bouton effacer il te manque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set datagrid_nom.DataSource = rst
    a la fin afin de mettre à jour ton datagrid.
    Je n'en suis pas sur, à essayer.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut
    Ok mais quoi a chaque fois que je vais faire des modifications dans mon datagrid je vais devoir reballancer tous mon rst dans le datagrid il ne se met pas a jour par lui même ????

    Bizart en dao je faisais un rst.refresh mais ici on sait pas!!!!

    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] mise a jour table par datagrid
    Par adelcrb dans le forum C#
    Réponses: 6
    Dernier message: 03/09/2013, 17h40
  2. Mise à jour d'un datagrid
    Par devZorro dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/10/2005, 19h00
  3. Réponses: 18
    Dernier message: 24/08/2005, 09h52
  4. [ADO] [Mise a jour ] Erreur
    Par hamed dans le forum Bases de données
    Réponses: 7
    Dernier message: 13/03/2005, 19h16
  5. [Acess][ADO] Mise à jour d'un DBGrid
    Par arogues dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/02/2005, 15h14

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