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 :

Bogue introuvable sur ajout et modif


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut Bogue introuvable sur ajout et modif
    Bonjour,

    Je travail sur une appli pour la gestion de carburant/véhicules et j'ai un bogue dont je n'arrives pas à trouver la raison.

    Quand j’ajoute un un bénéficiaire dans mon sous formulaire "SFmVehicules" mon sous formulaire "SFmVehiculesVue" se rafraichi mais en créant des doublons ou carrément en supprimant un bénéficiaire ?!?

    La même chose qd je désires faire une modification à mon sous formulaire "SFmVehicules" avec clique sur l'immatriculation.

    Je vous met l'appli ici car j'ai du mal à m'expliquer et à expliquer le pb.
    Cliquez sur l'onglet gestion Flotte, et essayez d'ajouter un bénéficiaire ou de modifier les résultats seront plus parlant

    Merci d'avance,
    Cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut


    lorsque tu passes des nouveaux enregistrements, pense bien à requery tes sous formulaires, en vérifiant que ceux ci soient ouverts

    Tu n'as pas de doublons au sens où tu l'as défini dans ta base, avec la clé primaire sur un auto number

    Il faut donc faire des contrôles avant les mises à jour et ajouts

  3. #3
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Jean Philippe,

    Pourrais tu me donner un exemple en code car là je t'avoue que je ne comprends pas

    J'ai pourtant pris comme modèle la sortie de carburant, ce devrait être +/- identique, j'ai pensé à la table _PARAM_ aussi. Aiguilles moi stp

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Pour updater un contrôle j'utilise ca:
    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
    '***************************************************************************************
    ' Author : Jean-Philippe ANDRÉ (Jpcheck)
    '***************************************************************************************
    '
    ' This sub requeries a specific control form a specific form, when this form is loaded
    '
    '***************************************************************************************
    '*                                  PARAMETERS                                         *
    '***************************************************************************************
    ' strFormName: define the form
    ' strControlName: define the control
    '
    Sub UpdateControl(strFormName As String, strControlName As String)
        If CurrentProject.AllForms(strFormName).IsLoaded Then
            Forms(strFormName).Controls(strControlName).Requery
        End If
    End Sub

  5. #5
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Et tu met cela à quel niveau ds le formulaire ?
    Et quand tu veux requery tous les contrôles ?
    Car je suppose que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms(strFormName).Controls(strControlName).Requery
    "strControlName" Est le nom d'un contrôle.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    oui, exactement, c'est indiqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' strFormName: define the form
    ' strControlName: define the control
    l'appel se fera donc avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UpdateControl "F_MonFormulaire", "C_MonControl"

  7. #7
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    D'accord, et je repose donc ma question différemment, pour faire un requery sur TOUS les contrôles y a t'il une syntaxe spécifique genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UpdateControl "F_MonFormulaire", "*"
    ?

    et je déclenche cela à la fermeture du formulaire d'où je viens ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Ben dans ce cas, tu adaptes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms(strFormName).Requery
    à la place

  9. #9
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Voilààààà oki je comprends mieux dans ce sens tu demande un requery à tout ton formulaire n'est ce pas ?

    Mais concernant les Sous Formulaires, comme ds mon cas ou je souhaites faire un requery de mes sous From comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Close()
    Forms("FmAccueil").Controls("SFmMvtVue").Form.Requery
    Forms("FmAccueil").Controls("SFmTotalStock").Form.Requery
    Forms("FmAccueil").Controls("SFmEntree").Form.Requery
    End Sub
    Je dois transformer cela en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub UpdateControl(strFormName As String, strControlName As String)
        If CurrentProject.AllForms(strFormName).IsLoaded Then
            Forms("SFmMvtVue").Requery
            Forms("SFmTotalStock").Requery
            Forms("SFmEntree").Requery
        End If
    End Sub
    ?

  10. #10
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Mais cela ne change rien au pb pour l'instant, quand j'ajoute un nouveau bénéficiaire carburant il me remplace le premier de la liste d'attribution véhicules par le dernier entré ?!

  11. #11
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Tu pars encore dans tous les sens là

    En fait comme tu passes par des sous formulaires, tu n'as aucun moyen de savoir si tu es dans le cas d'une mise à jour ou d'un ajout.

    Je t'avoue que ta présentation de formulaire ne m'est pas des plus simple à appréhender

  12. #12
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Je t'avoue que ta présentation de formulaire ne m'est pas des plus simple à appréhender
    Que te chagrine t il ds le formulaire ? Que me conseillerais tu ?

  13. #13
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Tu remplaces le sous formulaire par 2 boutons, un "nouveau" et un "modif" qui ouvriront chacun le formulaire tel qu'on l'a abordé durant de nombreuses journées

  14. #14
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Oki, je ferais les changements que tu me dit, donc un bouton ajout pour le sous form attribution de véhicules ?

    Sinon globalement que penses tu de l'idée ? De plus vu ce que j'apprends avec cette appli elle sera de bonne utilité pour les débutants comme moi, je serais vraiment heureux le jour ou elle sera avec un tuto

  15. #15
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut Bogue continuel ds le form load pour la TbEntree
    Bonjour Jean Philippe,

    J'ai bien fais ce que tu m'a dit, à savoir un bouton ajout, mais j'ai tjrs le même pb.

    Avec le code adapté à la TbEntree :
    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
    Private Sub Form_Load()
    Dim IDEntree As Double
    IDEntree = Nz(GetParam("IDEntree"), 0)
    If IDEntree <> 0 Then
        'load existing data
        Me.zdtDateEntree = Nz(DLookup("DateEntree", "TbEntree", "IDEntree=" & IDEntree), "")
        Me.zdtQte = Nz(DLookup("Qte", "TbEntree", "IDEntree=" & IDEntree), "")
     
    Else
        'create new one
        Me.zdtDateEntree = ""
        Me.zdtQte = ""
     
    End If
    End Sub
    Il me donne une erreur :
    Erreur d'execution '-2147352567 (80020009)':Impossible d'attribuer la valeur à cet objet.
    Je regarde ton code pour la tbMvt :
    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
    Private Sub Form_Load()
    Dim IDMvt As Double
    IDMvt = Nz(GetParam("IDMvt"), 0)
    If IDMvt <> 0 Then
        'load existing data
        Me.zdtDatesortie = Nz(DLookup("Datesortie", "TbMvt", "IDMvt=" & IDMvt), "")
        Me.zdlBeneficiaire = Nz(DLookup("Beneficiaire", "TbMvt", "IDMvt=" & IDMvt), "")
        'Me.zdtCompteurA s'auto alimente si absence de données par la plus recente valeur de CompteurD du beneficiaire selectionné
        Me.zdtCompteurA = Nz(DLookup("CompteurA", "TbMvt", "IDMvt=" & IDMvt), "")
        Me.zdtCompteurD = Nz(DLookup("CompteurD", "TbMvt", "IDMvt=" & IDMvt), "")
        Me.zdtPompeD = Nz(DLookup("PompeD", "TbMvt", "IDMvt=" & IDMvt), "")
        Me.zdtPompeA = Nz(DLookup("PompeA", "TbMvt", "IDMvt=" & IDMvt), "")
     
    Else
        'create new one
        Me.zdlBeneficiaire = Me.zdlBeneficiaire.ItemData(0)
        Me.zdlBeneficiaire = ""
        'Me.zdtCompteurA s'auto alimente si absence de données par la plus recente valeur de CompteurD du beneficiaire selectionné
        Me.zdtCompteurA = ""
        Me.zdtCompteurD = ""
        Me.zdtPompeD = ""
        Me.zdtPompeA = ""
     
    End If
    End Sub
    Et je n'arrives pas à saisir ce que j'ai pu faire de travers

    Cordialement,
    Sylvain

  16. #16
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    hum, sur quelle ligne as-tu l'erreur stp ?

  17. #17
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.zdtDateEntree = Nz(DLookup("DateEntree", "TbEntree", "IDEntree=" & IDEntree), "")

  18. #18
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Ta zone de texte attend une valeur de type date, si tu lui attribues "", ca pose problème, passe lui Date() par défaut par exemple

  19. #19
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Toujours pareil

  20. #20
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Voici le fichier avec les modif (BtnAjout) et double clique sur text en rouge.

    L'erreur est sur le double clique dans la zone "ENTREE DE CARBURANT"
    Et dans la zone ATTRIBUTION DE VEHICULE" ou là qd tu fais un ajout il y en a 2 qui s'affiche en doublon et si tu modifie un c'est 2 qui se modifient

    Je comprends rien de rien à ce qui ce passe

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/06/2011, 06h14
  2. Réponses: 1
    Dernier message: 19/05/2006, 17h33
  3. fichier js introuvable sur serveur
    Par nerick dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/12/2005, 14h16
  4. souci sur ajout de données de zone de liste
    Par Tierisa dans le forum IHM
    Réponses: 6
    Dernier message: 27/09/2005, 08h30
  5. Réponses: 8
    Dernier message: 13/09/2005, 21h05

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