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

VBA Access Discussion :

Extraire les valeurs par défaut de champs dans une table


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Points
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Par défaut Extraire les valeurs par défaut de champs dans une table
    Salut

    Je souhaiterai recuperer les valeurs par defaut des champs d'une table pour les afficher dans des champs sur un formulaire et pouvoir modifier les valeurs par defaut (pour cela j'ai déjà trouvé comment faire...).

    J'ai essayé avec 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub Modif_Cycle_Ouverture(Poste As String, SemaineM As Integer, LigneD As Integer, LigneF As Integer, ColonneD As Integer, ColonneF As Integer)
     
    Dim BaseM As DAO.Database
    Dim Table As DAO.TableDef
    Dim ChampSource As String
    Dim FM As String
    Dim FM2 As Forms
    Dim ChampDestination As String
     
    Set BaseM = CurrentDb
     
    Select Case Poste
       Case "T"
          Set Table = BaseM.TableDefs("T_Planning_PosteT_Sem" & SemaineM)
       Case "I"
          Set Table = BaseM.TableDefs("T_Planning_PosteI_Sem" & SemaineM)
       Case "A"
          Set Table = BaseM.TableDefs("T_Planning_PosteA_Sem" & SemaineM)
    End Select
     
    Set FM = Forms("SF_Modif_S" & SemaineM)
    FM2=FM
     
    For intL = LigneD To LigneF
       For intC = ColonneD To ColonneF
          ChampSource = Table.Fields("PosteL" & intL & "C" & intC).DefaultValue
          ChampDestination = FM.Controls("Poste" & Poste & "_L" & intL & "C" & intC)
          ChampDestination = ChampSource
       Next
    Next
     
     
    End Sub
    mais à l'éxécution j'ai le message Objet requis sur la ligne 21

    Si besoin je peux transmettre un bout de ma base.

    Quelqu'un pourrait m'aider ???

    Merci beaucoup !!!

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 307
    Points
    5 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 307
    Points : 5 725
    Par défaut
    Bonjour,

    Il y a des contradictions entre le lignes 6 et 21

    6 Dim FM As String

    21 Set FM = Forms("SF_Modif_S" & SemaineM)

    Bonne continuation.

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Points
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Par défaut
    Salut

    J'ai tenté de corriger avec ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Select Case SemaineM
       Case "1"
          FM = Forms("F_Modif_Planning").SF_Modif_S1.Form
       Case "2"
          FM = Forms("F_Modif_Planning").SF_Modif_S2.Form
       Case "3"
          FM = Forms("F_Modif_Planning").SF_Modif_S3.Form
       Case "4"
          FM = Forms("F_Modif_Planning").SF_Modif_S4.Form
       Case "5"
          FM = Forms("F_Modif_Planning").SF_Modif_S5.Form
    End Select
    et j'ai supprimé le Dim FM as string

    mais j'ai le message Erreur définie par l'application ou par l'objet donc Debogage et il bloque sur la ligne 4

    que ce soit avec set devant FM ou pas, ou avec ou sans les " " autour des chiffres...

    Merci de votre aide...

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 307
    Points
    5 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 307
    Points : 5 725
    Par défaut
    Bonjour,

    Tester ces codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim F as Form
    Set FM = Form_F_Modif_Planning.SF_Modif_S1.Form
    Normalement, une fois que Form_F_Modif_Planning. a été tapé (y compris le point), les SF_Modif_S1 S2 ... doivent apparaître dans la liste déroulante des membres contenus dans Form_F_Modif_Planning (sinon c'est que d'autres noms leur ont été donnés au sein du formulaire).

    Cordialement.

  5. #5
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Points
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    ... doivent apparaître dans la liste déroulante des membres contenus dans Form_F_Modif_Planning (sinon c'est que d'autres noms leur ont été donnés au sein du formulaire).

    Cordialement.
    Voila la raison du probleme... Un des sous-formulaires etait mal nommé dans le formulaire principal...

    Maintenant je bloque la dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    For intL = LigneD To LigneF
       For intC = ColonneD To ColonneF
          ChampSource = Table.Fields("PosteL" & intL & "C" & intC).DefaultValue
          ChampDestination = FM.Controls("Poste" & Poste & "_L" & intL & "C" & intC)
          ChampDestination = ChampSource
       Next
    Next
    ce que je veux c'est que le champ texte que l'on peut trouver à FM.Controls("Poste" & Poste & "_L" & intL & "C" & intC)doit affiché la valeur du ChampSource mais rien ne s'affiche dans mes champs texte...

    Je l'aurai un jour je l'aurai !!!

    Merci de votre aide!!!!

  6. #6
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Points
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Par défaut Je l'ai eu !!!
    Bon ça y est !!! J'y suis arrivé !!!

    3 jours de galère !!!

    Merci pour l'aide apportée !!!

    Au cas où ca pourrait aider :
    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
    Sub Modif_Cycle_Ouverture(Poste As String, SemaineM As Integer, LigneD As Integer, LigneF As Integer, ColonneD As Integer, ColonneF As Integer)
     
    Dim BaseM As DAO.Database
    Dim Table As DAO.TableDef
    Dim ChampSource As String
     
     
    Set BaseM = CurrentDb
     
    Select Case Poste
       Case "T"
          Set Table = BaseM.TableDefs("T_Planning_PosteT_Sem" & SemaineM)
       Case "I"
          Set Table = BaseM.TableDefs("T_Planning_PosteI_Sem" & SemaineM)
       Case "A"
          Set Table = BaseM.TableDefs("T_Planning_PosteA_Sem" & SemaineM)
    End Select
     
    Select Case SemaineM
       Case 1
          Set FM = Forms("F_Modif_Planning").SF_Modif_S1.Form
       Case 2
          Set FM = Forms("F_Modif_Planning").SF_Modif_S2.Form
       Case 3
          Set FM = Forms("F_Modif_Planning").SF_Modif_S3.Form
       Case 4
          Set FM = Forms("F_Modif_Planning").SF_Modif_S4.Form
       Case 5
          Set FM = Forms("F_Modif_Planning").SF_Modif_S5.Form
    End Select
     
    For intL = LigneD To LigneF
       For intC = ColonneD To ColonneF
          ChampSource = Table.Fields("PosteL" & intL & "C" & intC).DefaultValue
          Controles = "Poste" & Poste & "_L" & intL & "C" & intC
    '      ChampDestination = FM.Controls("Poste" & Poste & "_L" & intL & "C" & intC)
          FM.Controls(Controles) = ChampSource
    '      MsgBox ChampDestination
       Next
    Next
     
    End Sub

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

Discussions similaires

  1. [V7] Modifier les valeurs par défaut du champ "Description" dans les lignes de facture
    Par jmbinformatique dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 24/11/2014, 09h21
  2. [A-07] Valeur automatique d'un champs dans une table Access
    Par bertin19 dans le forum Modélisation
    Réponses: 4
    Dernier message: 18/11/2008, 11h20
  3. Réponses: 21
    Dernier message: 23/06/2008, 19h35
  4. Réponses: 6
    Dernier message: 07/08/2007, 22h42
  5. Réponses: 10
    Dernier message: 15/12/2006, 08h34

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