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 :

Mise à jour d'un enregistrement avec ADO


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué Avatar de muzele
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Points : 142
    Points
    142
    Par défaut Mise à jour d'un enregistrement avec ADO
    Bonsoir,
    J'ai une table qui contient un certain nombre d'enregistrement, lorsque je tente de faire une mise à jour d'un enregistrement j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Run-time error '-214721913 (80040e07)':
    Type de données incompatible dans l'expression du critère.
    Voici le code de mon bouton commande
    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
     
    Private Sub Command1_Click()
     
        Set UpdateAgent = New ADODB.Recordset
        UpdateAgent.Open "SELECT * FROM IDplomat WHERE N° = """ & TxtSearchMatri.Text & """  ", Cnx, adOpenStatic, adLockOptimistic
     
        UpdateAgent.Update
     
        UpdateAgent!Etablissement = TxtEtablissement.Text
        UpdateAgent!AdresseMail = TxtCourriel.Text
        UpdateAgent!Validite = LblValidite.Caption
        UpdateAgent!Mission01 = TxtMission01.Text
        UpdateAgent!Mission02 = TxtMission02.Text
        UpdateAgent!Mission03 = TxtMission03.Text
        UpdateAgent!Mission = TxtMission.Text
     
        UpdateAgent.Update
     
    End Sub
    Merci pour votre disponibilité!
    Le savoir est la seule matière qui s'acroît lorsqu'on la partage !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    tu ne peux pas faire un update avec un record set ouvert en :

    adOpenStatic, adLockOptimistic

    essaye avec :

    adOpenDynamic, adLockOptimistic

    enléve aussi le premier update qui ne sert à rien tant que tu n'a pas fait de modifications.

    personnellement j'utilise de ' plutôt que des " pour encadrer les chaines des caractères dans les requetes du genre :
    "SELECT * FROM IDplomat WHERE N° = ' " & TxtSearchMatri.Text & " ' "

  3. #3
    Membre habitué Avatar de muzele
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Points : 142
    Points
    142
    Par défaut
    Merci Pascal, j'ai pu trouver la solution, 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
     
    Private Sub Command1_Click()
    If Trim$(CmbAY) >= Trim$(CmbDeY) Then
     
    'r'    CmdEnreg.Enabled = False
     
        Set UpdateAgent = New ADODB.Recordset
     
        UpdateAgent.Open "IDplomat", Cnx, adOpenDynamic, adLockOptimistic
     
    'r' On Error GoTo erreur
        UpdateAgent.Find "N°=" & "'" & TxtSearchMatri.Text & "'"
     
     
     
    '    UpdateAgent.Open "SELECT * FROM IDplomat WHERE N° = """ & Val(TxtSearchMatri.Text) & """  "
        ', Cnx, adOpenStatic, adLockOptimistic
        'UpdateAgent.Open "SELECT *
     
        UpdateAgent.Update
     
     
        UpdateAgent!NomDip = TxtNom.Text
        UpdateAgent!PostNomDip = TxtPostNom.Text
        UpdateAgent!PrenomDip = TxtPrenom.Text
        UpdateAgent!QualiteDip = TxtQualite.Text
        UpdateAgent!Etablissement = TxtEtablissement.Text
        UpdateAgent!DureeSejourRDC = TxtDureeSejour.Text
        UpdateAgent!AdresseRDC = TxtAdresseRDC.Text
        UpdateAgent!AdresseMail = TxtCourriel.Text
        UpdateAgent!TelDip = TxtPhone.Text
        UpdateAgent!Validite = LblValidite.Caption
        UpdateAgent!Mission01 = TxtMission01.Text
        UpdateAgent!Mission02 = TxtMission02.Text
        UpdateAgent!Mission03 = TxtMission03.Text
        UpdateAgent!Mission = TxtMission.Text
    'r'    SaveAgent!Matricule = TxtMatricule.Text
     
     
        UpdateAgent.Update
     
    'r'    SavePicture Image1.Picture, App.Path & "\images\face\" & Trim$(TxtMatricule) & ".jpg"
    'r'    SavePicture Image2.Picture, App.Path & "\images\finger\" & Trim$(TxtMatricule) & ".jpg"
    'r'    SavePicture Image3.Picture, App.Path & "\images\doc\" & Trim$(TxtMatricule) & ".jpg"
     
        CmdImprimer.Enabled = True
    'r'    CmdNew.Enabled = False
     
    MsgBox "Mise à jour effectuée avec succès!", vbOKOnly + vbInformation, "Enregistrement"
     
    Else
    MsgBox "Validité incorrect!", vbCritical, "Attention"
    CmbAY.SetFocus
    End If
     
    End Sub
    Merci à toute l'équipe de developpez! Ce forum nous est toujours important et ne cesse de grandir après autant d'années!
    Le savoir est la seule matière qui s'acroît lorsqu'on la partage !

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    '    UpdateAgent.Open "SELECT * FROM IDplomat WHERE N° = """ & Val(TxtSearchMatri.Text) & """  "
        ', Cnx, adOpenStatic, adLockOptimistic
        'UpdateAgent.Open "SELECT *
     
        UpdateAgent.Update
     
     
        UpdateAgent!NomDip = TxtNom.Text
    ce UpdateAgent.Update n'est pas utile à cet endroit, voir nuisible pour un collègues qui retravaillerait ton code.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre habitué Avatar de muzele
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Points : 142
    Points
    142
    Par défaut
    Salut ProgElectT,
    Ca fait un sacré bout de temps que je ne t'ai pas lu!
    Merci!
    Je supprime la ligne et clique sur résolu!
    Encore merci à tous!
    Le savoir est la seule matière qui s'acroît lorsqu'on la partage !

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/07/2012, 23h54
  2. [Oracle] Mise à jour d'un enregistrement avec un formulaire HTML et PHP
    Par Nyko17 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/10/2008, 18h06
  3. Mise à jour dans un formulaire avec condition
    Par Bourni dans le forum Access
    Réponses: 4
    Dernier message: 06/03/2006, 22h13
  4. Proplème de mise à jour d'un recordset par ADO
    Par maniani dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/01/2006, 19h14
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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