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 :

Attribuer une valeur par défaut au champ d'une table à l'ouverture d'une base


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut Attribuer une valeur par défaut au champ d'une table à l'ouverture d'une base
    Bonjour à Vous,

    Au démarrage de ma base de données, je souhaiterais entrer une valeur par défaut au champ "Date" de ma table "NOTES" de manière à ne pas avoir à la saisir à chaque fois dans mes formulaires et cela pendant le temps d'ouverture de ma base.

    Auriez-vous une idée du code que je pourrais utiliser car je bidouille depuis des heures sans trouver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Public Function ValeurDate()
     
    Dim Valdate As Date
    Dim fldDate As DAO.Field
     
    Valdate = InputBox("Saisir une date de notation par défaut", "DEFINITION DE DATE")
    Set fldDate = CurrentDb.TableDefs("NOTATIONS")("DateNotation").Properties("DefaultValue").Value = Valdate
     
    End Function
    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup de cette réponse rapide, j'ai vu ce code, ai fait des essais mais cela ne fonctionnait pas peut-être pourriez-vous m'aider ? quelque chose cloche mais ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Public Function ValeurDate()
     
    Dim fldDate As DAO.Field
    Set fldDate = CurrentDb.TableDefs!NOTATIONS.Fields("DateNote")
    fldDate.DefaultValue = InputBox("Saisir une date par défaut pour les notations", "IMPORTANT !")
    Set fldDate = Nothing
     
     
    End Function

  4. #4
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Bonjour.
    Quelle erreur as-tu ?
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Bonjour et merci beaucoup,

    L'erreur affichée est la suivante : "Erreur d'exécution '3420' : L'objet est incorrect ou n'est plus défini" et renvoie ensuite à cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fldDate.DefaultValue = InputBox("Saisir une date de notation par défaut", "IMPORTANT !")

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    salut,
    fais attention, dans le cas des dates, il y a toujours ces erreurs liées au format que tu passes.
    -#MM/dd/yyyy# ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    oui c'est tout à fait ce genre de format, type : 20/06/2008. Mais à quel endroit du code dois-je insérer ce formatage de données ?

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    il me semble que tu dois pouvoir faire une concaténation de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fldDate.DefaultValue = "#" & Format(InputBox("Saisir une date de notation par défaut", "IMPORTANT !"),"MM/dd/yyyy") & "#"
    edit : autre astuce à étudier dans le cas plus global : passer par Cdbl()
    http://access.developpez.com/faq/?page=dates#datedouble
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Cela ne fonctionne toujours pas...

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    Allez, je m'obstine en utilisant en plus un Cdate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim tempo as Variant
    tempo = InputBox("Saisir une date de notation par défaut", "IMPORTANT !")
    If IsDate(tempo) then
    fldDate.DefaultValue = "#" & Format(tempo,"MM/dd/yyyy") & "#"
    End If
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Arghhhh ! Ne fonctionne pas ...

    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 ValeurDate()
     
    Dim tempo As Variant
    Dim fldDate As DAO.Field
     
    tempo = InputBox("Saisir une date de notation par défaut", "IMPORTANT !")
    Set fldDate = CurrentDb.TableDefs!EVALUATIONS.Fields("DateEval")
    If IsDate(tempo) Then
    fldDate.DefaultValue = "#" & Format(tempo, "MM/dd/yyyy") & "#"
    End If
     
    End Function

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    et en giclant les # ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    J'essaie encore...toujours rien... même sans les "#"

  14. #14
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    et avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fldDate.DefaultValue = Format(Cdate(tempo), "MM/dd/yyyy")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si tu veux que la date du jour soit la valeur par défaut, pourquoi ne saisis-tu pas tout simplement
    dans la propriété Valeur par défaut de ton champ.

    Starec

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    JPCHEK

    Fonctionne toujours pas ! Je m'acharne, je continue de chercher... (A la Willie Dixon : N-N-N-N-Nervous... )

    STAREC

    Salut à Toi Ami Sauveteur ! Ce n'est pas la date du jour dont j'ai besoin mais vraiment d'une date précisée par l'utilisateur.

    Peut-être existe-t-il une autre astuce...

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut
    voila un bout de code qui doit fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dim tempo As Date
    Dim db As Database
     
        tempo = InputBox("Saisir une date de notation par défaut", "IMPORTANT !")
        Set db = CurrentDb
        db.TableDefs("EVALUATIONS").Fields("DateEval").Properties("DefaultValue") = Format(tempo, "dd/mm/yyyy")
        Set db = Nothing

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup de votre réponse ALAINGUI, j'ai tenté et toujours rien...

    "Erreur d'exécution '3422' : "Un autre utilisateur a ouvert la table. Impossible d'en changer la structure "

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut
    étrange car mon bout de code marche en local
    voir fichier joint

    il y a peut etre des déactivation de droits au démarrage de la base et donc la base passe en mode admin ?
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (14,9 Ko, 107 affichages)

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    C'est sempiternellement la même erreur qui apparaît, Alaingui, que dois-je faire pour le mode ?

    D'avance merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Ajouter une valeur par défaut à un champ
    Par mougeole dans le forum Doctrine2
    Réponses: 3
    Dernier message: 19/05/2017, 15h40
  2. Réponses: 3
    Dernier message: 13/07/2011, 15h58
  3. Réponses: 8
    Dernier message: 27/11/2008, 16h14
  4. Réponses: 2
    Dernier message: 22/02/2008, 10h54
  5. Réponses: 11
    Dernier message: 26/08/2006, 21h13

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