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 :

Création d'une table en continu


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut Création d'une table en continu
    Bonjour,

    J’ai besoin d’un petit coup de main au sujet du Tutoriel formulaires pseudo continus (Repousser les limites des formulaires en mode continu)

    http://cafeine.developpez.com/access...pseudocontinu/

    Je voudrais utiliser le code « DemultiplierSource » pour créer une table continu mais en le modifiant le code pour que :

    Dans champ Nom0 mettre tous les Noms dont le champ Code = A, dans champ Nom1 mettre tous les Noms dans le champ Code = B, et ainsi de suite.

    Salutations

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par jmde
    Bonjour,

    J’ai besoin d’un petit coup de main au sujet du Tutoriel formulaires pseudo continus (Repousser les limites des formulaires en mode continu)

    http://cafeine.developpez.com/access...pseudocontinu/

    Je voudrais utiliser le code « DemultiplierSource » pour créer une table continu mais en le modifiant le code pour que :

    Dans champ Nom0 mettre tous les Noms dont le champ Code = A, dans champ Nom1 mettre tous les Noms dans le champ Code = B, et ainsi de suite.

    Salutations
    Hello,

    merci d'avoir jeté un coup d'oeil à mon tuto ...
    Sache tout d'abord que la gestion des formulaires continus a été revue dans Office 12 (2007 ?) et qu'il sera possible sans tout ce code étrange d'obtenir le même résultat.
    Ensuite, je ne comprends pas ce que tu souhaites avoir ...
    Mon tuto ne fait que démultiplier des enregistrements ... ce que tu souhaites ressemble plus à un tableau croisé dynamique ...
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonjour,

    C’est exact, mais c’est aussi et surtout pour me familiariser avec toutes ces lignes de code.

    Donc sans vouloir abuser de ton temps peux-tu maider ?

    J’ai réussi à faire le premier passage en fonction de l’année (en rouge les lignes ajoutées)


    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
    '---Premier passage recopie les champs en fonction de l'année
    intNb = 4
    
    '   Nom de l'enregistrement 1 sera Nom0 de l'enregistrement 1
        If Not recSource.EOF Then
            recSource.MoveFirst
        Do While Not recSource.EOF
                If Year(recSource!DateNaissance) = "1990" Then            
              recDest.AddNew
                    For J = 0 To recSource.Fields.Count - 1
                        If Len(recSource.Fields(J)) > 0 Then
                            recDest.Fields(J) = recSource.Fields(J)
                        Else
                            recDest.Fields(J) = 0
                        End If
                    Next J
                recDest.Update
                End If            
            recSource.MoveNext
            Loop
    Pour le deuxième passage pas de problème et lorsque les enregistrements de premier passage sont inférieur au deuxième j’intercepte l’erreur 3021 et je rajoute les enregistrements (en rouge les lignes ajoutées)


    '
    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
    ---Passage suivants 
            For I = 1 To intNb - 1
                  recSource.MoveFirst
                  recSource.Move I
                  recDest.MoveFirst
            Do While Not recSource.EOF
               If Year(recSource!DateNaissance) = "2000" Then
    '---la méthode Edit rend modifiable l'enregistrement
        recDest.Edit
            If Not recDest.EOF Then            
            For J = 0 To recSource.Fields.Count - 1
                   If Len(recSource.Fields(J)) > 0 Then
                        recDest.Fields(J + (I * recSource.Fields.Count)) = recSource.Fields(J)
            Else
                 recDest.Fields(J + (I * recSource.Fields.Count)) = 0
                   End If
                Next J
        Else
        recDest.AddNew
             For J = 0 To recSource.Fields.Count - 1
                 If Len(recSource.Fields(J)) > 0 Then
                        recDest.Fields(J + (I * recSource.Fields.Count)) = recSource.Fields(J)
            Else
                 recDest.Fields(J + (I * recSource.Fields.Count)) = 0
                   End If
                Next J
        
             End If         
    '---la méthode Update sauvegarde les modifications
            recDest.Update
            recDest.MoveNext
            End If
            recSource.MoveNext
            Loop
        Next I
           End If
    
    
    DS01:
    Select Case err.Number
        Case 3010
            Resume Next
        Case 3021
            Resume Next
    Par contre pour les autres passage qui concerne l’année 2001 et 2002 je n’y arrive pas.

    If Year(recSource!DateNaissance) = "2001" Then

    Peux-tu stp me donner quelques explications sur cette ligne :
    recDest.Fields(J + (I * recSource.Fields.Count)) = recSource.Fields(J)

    Salutations.

Discussions similaires

  1. création d'une table dans une base de donnée accèss
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 10h54
  2. Question sur la création d'une table
    Par air dans le forum Oracle
    Réponses: 4
    Dernier message: 23/10/2005, 12h46
  3. Réponses: 4
    Dernier message: 19/10/2005, 11h26
  4. Création d'une table avec foreign key
    Par lepierre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/09/2004, 14h20
  5. INTERBASE Création d'une table
    Par Corben dans le forum InterBase
    Réponses: 2
    Dernier message: 19/06/2004, 20h55

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