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 :

VB6 Access Mise a jour d'un champ


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut VB6 Access Mise a jour d'un champ
    Bonjour,

    Je débute au niveau VB6-Access. J'ai fait un embryon d'application pour gérer mes comptes (oui c'est d'une banalité affligeante).

    Donc j'ai une table Access avec mes crédits-débits et une requête qui permet de calculer le solde.

    Dans l'appli VB6, j'ai des champs liés à mes crédits –débits et un champ lié à ma requête.

    Problème, quand je modifie une valeur de crédit ou débit via l'appli (ou quand je rajoute), mon champ "solde" lui ne se met pas à jour sauf si je ferme et que je réouvre mon appli.

    J'ai essayé de mettre à jour via un bouton (datRequete est donc le controle qui pointe qur ma requete):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Mise_a_jour_solde_Click()
     datRequete.Recordset.Edit
     datRequete.Recordset.Update
    End Sub
    Pb : message d'erreur d'exécution 3027 – Impossible de mettre à jour. La base de données ou l'objet est en lecture seule.

    Je ne vois pas quoi faire….

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bonjour,

    datRequete est donc le controle qui pointe qur ma requete
    Quel est ce contrôle ? Comment construis-tu le RecodSet ?
    Peux-tu nous montrer le reste de ton code ?
    Quelle est la version de la référence Jet utilisée ?

  3. #3
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    peut être en utilisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    datRequete.Recordset.Refresh
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Le "Refresh" ne marche pas.

    Le code complet :
    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
     
    Private Sub cmdAjouter_Click()
     datAuthors.Recordset.AddNew
     txtId.SetFocus
    End Sub
     
     
    Private Sub cmdDernier_Click()
     datAuthors.Recordset.MoveLast
    End Sub
     
    Private Sub cmdEffacer_Click()
     datAuthors.Recordset.Delete
     datAuthors.Recordset.MoveNext
    End Sub
     
    Private Sub cmdPrécédent_Click()
    If Not datAuthors.Recordset.BOF Then
     datAuthors.Recordset.MovePrevious
    End If
    End Sub
     
    Private Sub cmdPrem_Click()
     datAuthors.Recordset.MoveFirst
    End Sub
     
    Private Sub cmdRétablir_Click()
     datAuthors.UpdateControls
    End Sub
     
    Private Sub cmdSuivant_Click()
    If Not datAuthors.Recordset.EOF Then
     datAuthors.Recordset.MoveNext
    End If
    End Sub
     
    Private Sub CmdUpdate_Click()
     datAuthors.Recordset.Edit
     datAuthors.Recordset.Update
     
    End Sub
     
    Private Sub Command1_Click()
     'datRequete.Recordset.Edit
     'datRequete.Recordset.Update
    End Sub
     
     
    Private Sub txtRembours_Change()
    If txtRembours.Text = "-1" Then
     Check1.Value = 1
    Else
     Check1.Value = 0
    End If
    End Sub
    Private Sub Check1_Click()
    If Check1.Value = 1 Then
     txtRembours.Text = "-1"
     Else
     txtRembours.Text = "0"
     End If
    End Sub
     
    Private Sub txtTrouver_LostFocus()
    Dim str As String
    str = Trim(txtTrouver.Text) & "*"
    str = "date like '" & str & "'"
    If txtTrouver.Text <> "" Then
     datAuthors.Recordset.FindFirst str
     
    End If
     
    End Sub
    datRequete est un controle data dont la propriété "Databasename" est défini comme étant l'emplacement de la base.

    Le champ "solde" de la requete apparait dans une textbox dont le datasource=datRequete et datafield=solde

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    la methode pour mettre un recordset c'est de faire une edit, la mofication, puis l'update. un edit suivi immediatement d'un update ne sert a rien

    avec des controles liès, il suffit de passer a un autre enregistrment pour mettre à jour l'enregistrement en cours de modif
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  6. #6
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par getea85
    Le "Refresh" ne marche pas.
    Commant ca "ca ne marche pas" ?

    essai plutot

    Car on ne rafraichis pas l'enregistrement mais plutot le control. La comme ca ca devrai aller
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Citation Envoyé par sovo
    Car on ne rafraichis pas l'enregistrement mais plutot le control.
    Oups, tu as parfaitement raison sovo.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Exact c'est çà !

    Merci

    Désolé, je vais créer un nouveau sujet pour une requête.

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

Discussions similaires

  1. Mise a jour d'un champ dans une base access
    Par FabriceAmex dans le forum IHM
    Réponses: 9
    Dernier message: 10/06/2010, 09h48
  2. [Access] mise à jour/ajout d'enregistrement
    Par lp38 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/10/2006, 16h59
  3. Réponses: 4
    Dernier message: 25/09/2006, 14h36
  4. Access mise a jour a partire des fichier Ascii
    Par mehdichess74 dans le forum Access
    Réponses: 1
    Dernier message: 25/06/2006, 13h08
  5. [Access] Mise à jour de table depuis une autre
    Par Marcant dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/06/2006, 16h53

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