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

Access Discussion :

insert ou update pour raffraichir les données


Sujet :

Access

  1. #1
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut insert ou update pour raffraichir les données
    Bonjour, voilà je dispose d'un formulaire auto qui lit le contenu d'une table te_frais
    ce formulaire fonctionne très bien jusqu'au moment où je veux enregistrer dans l'enregistrement en cours des données car je dispose sur ce formaulaire des combobox independants auquel je dois selectionner des variables et enregistrer dans l'enregistrement en cours. j'ai effectué un unsert qui fonctionne bien mais qui me cree des nouvelles lignes au lieux d'inserer le contenu .
    faut il faire un update ou un insert (je penserai pour un update)

    voici l'insert réalisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Public Function frm_inpged_change()
     
    Dim strsql As String
    Dim rds As Recordset
    Dim dbs As Database
     
     
     
    DoCmd.RunSQL "insert into te_frais (reglement) values ('" & Forms("inpged").cbxreglement & "')"
     
     
     
    End Function

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Bonjour

    Insert, c'est pour insérer
    Update, c'est pour mettre à jour

    Dans le cadre des requêtes, on ne parle plus de champs, mais d'enregistrements.

  3. #3
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut
    j'ai effectué ce 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
     
    Public Function frm_inpged_change()
     
    Dim frmcurrent As Form
     
    Set frmcurrent = Forms("inpged")
     
    'elimine le message d'avertissement de l'update
    DoCmd.SetWarnings False
    'execute l'update sous certaines conditions
    DoCmd.RunSQL "UPDATE te_Frais SET te_Frais.reglement='" & frmcurrent.cbxreglement & "',te_Frais.typefrais='" & frmcurrent.cbxtypefrais & "'  ;"
     
     
    End Function
    il faut que j'effectue une condition sur update pour qu'il me l'enregistre dans l'enregistrement en cours (j'utilise un autoformulaire qui m'affiche les données en fonction de la ligne de la table : les boutons spin cree auto par access en bas à gauche du form)

    le pb est que ma table ne possède pas de clé primaire et beaucoup de doublons et je n'affiche pas certaines données à l'ecran.

    Comment savoir à quel ligne je me trouve dans ma table et comment l'inserer dans la condition de l'update

    c'est compliqué , j'espère que quelqu"un a la solution
    merci

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Travail directement sur le recordset du formulaire

    Mais pourquoi ne pas laisser Access gérer lui même l'enregistrement des données ? Quand l'utilisateur saisi quelque chose dans une zone de texte, cela remplit automatiquement le champ concerné dans la table définit en source du formulaire.

    le pb est que ma table ne possède pas de clé primaire et beaucoup de doublons et je n'affiche pas certaines données à l'ecran.
    Une table sans clé primaire est une aberration

  5. #5
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut
    oui mais j'ai des combobox independant non relié à la table et cette table je dois la mettre à jour par rapport à ces combobox
    j'ai rajouté un chnamp numeroauto que j'affiche dans une textbox invisible à l'utilisateur.
    à priori çà marche , je fais les tests

Discussions similaires

  1. Problème pour lire les donnée d'une table externe
    Par mardoch dans le forum SQL*Loader
    Réponses: 6
    Dernier message: 17/07/2008, 16h41
  2. Réponses: 5
    Dernier message: 01/06/2007, 11h50
  3. [VBA] [2000] Créer un module pour compacter les données
    Par DamKre dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/05/2007, 07h14
  4. Pour extraire les données d'un fichier texte
    Par Floch dans le forum Access
    Réponses: 2
    Dernier message: 02/05/2006, 15h01
  5. Delphi7-DOA : procédure dynamique pour ramener les données?
    Par delphim dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/12/2004, 18h26

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