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

Défis Discussion :

Arkham - 30/04/2007 - Defi Access N°1


Sujet :

Défis

  1. #21
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    Citation Envoyé par DMboup
    J'ai maintenant une solution fonctionnelle basée sur le formulaire dont l'image est présentée ci-dessous.
    Il ne me reste qu'à remplacer ma table temporaire par un tableau (ou une liste) et à faire le complément.
    ça a une bonne tête

    Concernant l'ouverture de la fenêtre VBA :
    chez moi c'est l'instruction CreateEventProc qui ouvre cette fenêtre; même problème vu sur divers forums; la seule solution efficace semble être de créer soit-même la procédure événementielle avec InsertLines ...

    Une remarque toutefois : tu ne sembles pas prendre en compte la modification de listes existantes, je me trompe?
    Si mes listes existent déjà et que je veux simplement les lier, est-ce tu gères ce cas?
    (le sujet mentionnait "en création ou en modification" )

    Sinon prend ton temps quand même, faudrait pas aller plus vite que moi

  2. #22
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Arkham46
    ... CreateEventProc qui ouvre cette fenêtre; même problème vu sur divers forums; la seule solution efficace semble être de créer soit-même la procédure événementielle avec InsertLines ...
    Chez moi c'est les deux que je combines. CreateEventProc pour créer la procédure événementielle et InsertLines pour écrire le code dans la procédure créer.

    J'ai finalement mis mon formulaire en modal et du coup la fenetre VBA est en arrière plan. C'est toujours pas élégant.

    Citation Envoyé par Arkham46
    Si mes listes existent déjà et que je veux simplement les lier, est-ce tu gères ce cas?
    (le sujet mentionnait "en création ou en modification" )
    Non tu as vu juste. J'avais complétement oublié la modification. mais il me semble que c'est moins compliqué.
    Citation Envoyé par Arkham46
    Sinon prend ton temps quand même, faudrait pas aller plus vite que moi
    T'inquiéte pas. je ne fais pas la course. C'est juste que je fais pleins de liaison et que cet assistant me raccourci beaucoups de temps.

    A part ca j'ai deux autres soucis.

    1 - Dans les listes que je crées, je considères la première colonne comme l'identifiant numérique de la liste et je le cache automatiquement (largeur colonne = 0). Je ne sais pas si c'est vouloir aller plus loin en mettant en place une possibilité de choix des colonnes à afficher et de l'identifiant de la liste.

    2 - Contrôle de cohérence des types pour la liaison

    (On ne peut pas non plus tout faire pour un programmeur).
    Amicalement

  3. #23
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par DMboup
    ... oublié la modification. mais il me semble que c'est moins compliqué.
    Erreur !!! Peut être que je suis engagé dans une voie sans issue mais la modification semble extrémement compliquée. Il y a énormément de cas en prendre en compte.

    1. Les listes existent avec les requêtes et code VBA = > liaison simple à faire
    2. Les listes existent avec les requêtes sans code= > liaison et code VBA à faire
    3. Les listes existent sans aucune informations = > requêtes, liaison et code VBA à faire

    4. Une des listes doit être complétée : élèment inexistant
    4.1 Requête
    4.2 Code VBA
    4.3 Liaision à faire

    5. Un des éléments est à modifier
    5.1 Requête
    5.2 Code VBA
    5.3 Liaision

    ..........................................................

    A part ca j'ai maintenant un complément de menu mais fonctionnel bizarement que si le fichier est en mde. Avec un mda, j'ai un message d'erreur qui dit que le code n'est pas compilé ou qu'il y a des erreurs (ce qui n'est pas le cas).
    Amicalement

  4. #24
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    Citation Envoyé par DMboup
    Chez moi c'est les deux que je combines. CreateEventProc pour créer la procédure événementielle et InsertLines pour écrire le code dans la procédure créer.
    Pour ne pas voir du tout la fenêtre VBA, le seul moyen que j'ai trouvé c'est d'utiliser InsertLines pour insérer les lignes à la place de la fonction CreateEventProc...

    Citation Envoyé par DMboup
    1 - Dans les listes que je crées, je considères la première colonne comme l'identifiant numérique de la liste et je le cache automatiquement (largeur colonne = 0). Je ne sais pas si c'est vouloir aller plus loin en mettant en place une possibilité de choix des colonnes à afficher et de l'identifiant de la liste.
    .
    Vu comme ça c'est sûr que refaire l'assistant de création de zone de liste c'est pas cool.
    As-tu envisagé d'appeler l'assistant de création standard à partir de ton programme?
    cf : http://arkham46.developpez.com/artic...mplements/#LVI
    Dans mon cas ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "acwzmain.lst_Entry", "NomDeLaZoneDeListe", "NomDeLEtiquetteAssociée"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Run "acwzmain.cmb_Entry", "NomDeLaZoneDeListeModifiable", "NomDeLEtiquetteAssociée"
    A voir si ça peut s'insérer dans ton cas...

    Citation Envoyé par DMboup
    Erreur !!! Peut être que je suis engagé dans une voie sans issue mais la modification semble extrémement compliquée. Il y a énormément de cas en prendre en compte.
    Exact! Enfin je veux dire : exact pour ce qui est de la difficulté.
    Peut-on traiter tous les cas? J'en doute.
    Par contre on peut peut-être poser des alertes pour dire "ça je ne sais pas faire".
    Par exemple, si la requête est trop complexe et qu'on ne sait pas la modifier de manière fiable pour insérer la clause where, alors on affiche un message d'erreur et on bloque le déroulement de l'assistant.
    Ou alors autre option : on affiche juste un avertissement, et on crée une ébauche du code qui devra être modifiée manuellement.
    On ne peut effectivement pas tout faire, mais si on ne sait pas faire, alors je pense qu'il faut au moins le faire savoir à l'utilisateur (=le développeur).


    Citation Envoyé par DMboup
    A part ca j'ai maintenant un complément de menu mais fonctionnel bizarement que si le fichier est en mde. Avec un mda, j'ai un message d'erreur qui dit que le code n'est pas compilé ou qu'il y a des erreurs (ce qui n'est pas le cas).
    Alors ça je n'ai pas vu ce problème.
    A quel moment le message d'erreur? A l'exécution, à l'installation??

  5. #25
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Arkham46
    Alors ça je n'ai pas vu ce problème.
    A quel moment le message d'erreur? A l'exécution, à l'installation??
    A l'exécution. Et ca ne l'empêche pas de fonctionner après fermeture de la fenêtre qui affiche le message
    Amicalement

  6. #26
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    Citation Envoyé par DMboup
    A l'exécution. Et ca ne l'empêche pas de fonctionner après fermeture de la fenêtre qui affiche le message
    Je n'ai pas réussi à reproduire ce message d'erreur...
    Peut-être une décompilation du code pourrait aider (cf ici pour la commande)

  7. #27
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    J'ai finalement créer une nouvelle base et tous importer. La après compilation ca marche aussi bien avec le mda qu'avec le mde.

    Maintenant pour la suite est ce que je dois envoyer la solution déjà fonctionnelle pour teste ou faut-il attendre que la modification soit intégrée pour le faire?
    Amicalement

  8. #28
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    Citation Envoyé par DMboup
    Maintenant pour la suite est ce que je dois envoyer la solution déjà fonctionnelle pour teste ou faut-il attendre que la modification soit intégrée pour le faire?
    Note que la date de fin a été mise à fin juin.
    Si quelqu'un d'autre veut se lancer, ça laisse encore un bon mois.
    Mais tu peux soumettre ton complément avant si tu veux.

  9. #29
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    En attendant de finaliser la partie concernant la modification, je soumets mon complément pour d'éventuelles remarques et suggestions.

    C'est un mda version Access 2003
    Amicalement

  10. #30
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    Citation Envoyé par DMboup
    En attendant de finaliser la partie concernant la modification, je soumets mon complément pour d'éventuelles remarques et suggestions.

    C'est un mda version Access 2003


    J'ai bien vu ton message mais j'étais en congés et le retour est dur.
    Je vais regarder j'espère avant le WE.

  11. #31
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 868
    Points : 4 739
    Points
    4 739
    Par défaut
    Citation Envoyé par DMboup
    En attendant de finaliser la partie concernant la modification, je soumets mon complément pour d'éventuelles remarques et suggestions.

    C'est un mda version Access 2003
    Si ça ne te demande pas trop de travail, pourrais-tu nous poser un MDA version 2000 ?
    Merci beaucoup
    "Always look at the bright side of life." Monty Python.

  12. #32
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Le mda version 2000 est joint.

    Attendons toujours remarques.
    Amicalement

  13. #33
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 868
    Points : 4 739
    Points
    4 739
    Par défaut
    Merci
    Je parie qu'en distribuant en Acc2000, tu toucheras une plus grande population et donc des remarques.
    Je vais tester sous qqs jours.

    "Always look at the bright side of life." Monty Python.

  14. #34
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 868
    Points : 4 739
    Points
    4 739
    Par défaut
    Malgré l'orage, je suis mis à tester, sous Acc2000 donc :

    Pour info, dans un nouveau form, je vais lié 3 listes :
    noPaysLst
    noDeptLst
    codeCP

    Le pb : lorsque je selectionne par double clic le premier champ de la table qui correspond à la première liste, j'ai une erreur sur la ligne en rouge :
    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 ListeChamps_DblClick(Cancel As Integer)
    
    'MAJ DU CONTROL ChampALister (Liste des colonnes de la requête à construire)
        
        If IsNull(Me.ChampALister.RowSource) Or Me.ChampALister.RowSource = "" Then
            Me.ChampALister.RowSource = Me.ListeChamps.Value
        Else
            Me.ChampALister.RowSource = Me.ChampALister.RowSource & ";" & Me.ListeChamps.Value
        End If
        Me.ChampALister.Requery
        
        Me.ListeChamps.RemoveItem (Me.ListeChamps.Value)
        Me.ListeChamps.Requery
        Me.ChampALister.Enabled = True
        If Eval(Me.ListeEnCour.Value) > 1 Then
            Me.ChampLiaison.Enabled = True
        End If
    End Sub
    "Always look at the bright side of life." Monty Python.

  15. #35
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Je viens de tester sur Access 2002, et ça marche !
    Bon, il y a encore plein d'erreurs si on ne clique pas où il faut quand il faut, mais c'est normal, tout est loin d'être finalisé !
    Mais si on remplit tout comme il faut, ça fonctionne

  16. #36
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par micniv
    Malgré l'orage, je suis mis à tester, sous Acc2000 donc :
    Pour info, dans un nouveau form, je vais lié 3 listes :
    noPaysLst
    noDeptLst
    codeCP
    Le pb : lorsque je selectionne par double clic le premier champ de la table qui correspond à la première liste, j'ai une erreur sur la ligne en rouge :
    Vérifies tes références notamment le Microsoft DAO 3.6 Object Library.
    Amicalement

  17. #37
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 868
    Points : 4 739
    Points
    4 739
    Par défaut
    J'ai bien cette lib DAO 3.6

    Mais la méthode .RemoveItem appliquée à une liste de valeurs ne semble pas être reconnue en ACC 2000.
    "Always look at the bright side of life." Monty Python.

  18. #38
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par micniv
    ...Mais la méthode .RemoveItem appliquée à une liste de valeurs ne semble pas être reconnue en ACC 2000.
    Peut être bien. J'ai enregistré le fichier de Acc 2003 vers 2000 avant de de faire le complément. Je vais vérifier sur 2000.
    Amicalement

  19. #39
    Invité
    Invité(e)
    Par défaut
    Bonjour

    La méthode RemoveItem n'existe qu'à partir d'Access 2002, de même que pour Additem.

    DMboup Si tu utilises ces méthodes, ton Addin ne sera pas compatible avec Access 2000.

    Starec

  20. #40
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Starec
    Bonjour
    La méthode RemoveItem n'existe qu'à partir d'Access 2002, de même que pour Additem.

    DMboup Si tu utilises ces méthodes, ton Addin ne sera pas compatible avec Access 2000.

    Starec
    D'accord. Je verrais la compatibilité avec Access 2000.

    Mais en attendant, as tu testé et qu'as tu comme résultat?
    Amicalement

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Compatibilité VBA Access 2007 et Access 2002
    Par Lord Nelson dans le forum VBA Access
    Réponses: 0
    Dernier message: 16/03/2008, 02h47
  2. [Access 2007]Application Access 2002 ne fonctionne pas
    Par napster dans le forum VBA Access
    Réponses: 6
    Dernier message: 14/02/2008, 17h59
  3. [2007] Formulaire Access via SharePoint
    Par Plug dans le forum IHM
    Réponses: 0
    Dernier message: 30/10/2007, 10h38
  4. Lire une base de données access 2007 avec access 2003
    Par gblanchard dans le forum Runtime
    Réponses: 6
    Dernier message: 08/05/2007, 03h59

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