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 :

Version d'essai


Sujet :

Access

  1. #21
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    salut Fred,
    Et en l'occurence, comme l'a dit Maxence, créer des propriétés à l'objet Database est le plus direct.
    Pour cela utilise la librairie DAO et la méthode CreateProperty de l'objet Database.
    Est ce que tu peut etre plus explicatif parceque je ne comprends pas tres bien quelle est la demarche a adopter.
    Quelles genres de propriétées?
    Merci BEAUCOUP

  2. #22
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Tous les objets de ton application sont modélisés dans le Data Access Object (DAO).

    Ta base elle-même est un objet (Database). Les objets possèdent des propriétés et des méthodes.

    Par exemple, la méthode OpenRecordset de l'objet Database permet d'ouvrir un jeu d'enregistrement basé sur une table ou une requête.

    Autre exemple, la propriété Name de l'objet Database renvoie les nom et chemin complets du fichier de la base désignée (objet Database).

    Or il est possible de créer toi même des propriétés à un objet Database. D'ailleurs les propriétés sont elles-même des objets (Property) :

    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
    'Déclare une varaible objet DAO.Database
    Dim db as DAO.Database
     
    'Déclare une varaible objet DAO.Property
    Dim prp as DAO.Property
     
    'Pointe sur la base en cours
    Set db = currentdb
     
    'On crée la propriété pour la base désignée par la variable db
    Set prp = db.createproperty("DateOuverture", dbDate)
     
    'On ajoute cette propriété à la collection des propriété de db
    db.porperties.append prp
     
    'On lit/écrit la propriété personnalisée comme ceci :
    db.properties("DateOuverture") = now
     
    set prp = nothing
    set db = nothing
    (\ _ /)
    (='.'=)
    (")-(")

  3. #23
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Ok merci j'ai capice! 8)

  4. #24
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    ça marche mais comment palier au problème de ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.Properties.Append prp
    la 2ème fois qu'on passe il met une erreur (Ne peut ajouter objet existant)
    normal...
    Ou alors où mettre la procédure pour qu'elle ne soit executée qu'1 fois?

    Impec ce plan
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  5. #25
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Il y a mille possibilités...

    Je sais pas, par exemple, tu lis la propriété là où tu as besoin de la lire en prévoyant un code de gestion d'erreur qui, en cas de non existence de la propriété, la crée automatiquement...

    Il faut être plus perspicace mon petit Faw !
    (\ _ /)
    (='.'=)
    (")-(")

  6. #26
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Voila une fonction qui retourne true si la propriété passée en argument existe sur l'objet passé lui aussi en argument.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Function PropertyExists(ByRef o As Object, ByVal nomPropriete As String) As Boolean
        On Error Resume Next
        CallByName o, nomPropriete, VbGet
        PropertyExists = (Err.Number = 0)
    End Function
    Utilisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MsgBox PropertyExists(CurrentDb, "version")

  7. #27
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Si j'ai bien compris;Pour pouvoir faire ma version d'evaluation
    1)Je crée une propriété "Date1ereOuverture" sur mon appli(donc sur ma base)que j'initialise a NOW.
    2)Je test cette propriété a chaque ouverture de l'appli ;si elle est superieur au nb jours que je veux attribuer je sors de l'appli.
    Est ce bien ca ou pas.
    Sinon est ce que qqu'un peut m'aider PLEASE!
    Merci

  8. #28
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Il faudra pas oublier de désactiver la touche shift, sinon, si ton test est fais au démarrage, l'utilisateur pourra contourner ta stratégie.
    N'oublies pas qu'il pourra aussi re-activer la touche shift.

    Donc apriori, il vaut mieux mettre ton test sur l'ouverture du formulaire principal et non sur une macro de démarrage.

  9. #29
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Mon formulaire principal s'ouvre au demarage?Est ce que c'est bon si je test dessus?
    Ou sinon comment je fais pour desactiver la touche Shift?

  10. #30
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Pour la touche shift :

  11. #31
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    j'ai mis le code de FRED ds mon form_load tel que
    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
     
    Sub Form_Load()
     
    Dim db As DAO.Database
    Dim prp As DAO.Property
    Set db = CurrentDb
     
    Set prp = db.CreateProperty("DateOuverture", dbDate)
     
    db.properties.Append prp
    db.Properties("DateOuverture") = Now
    MsgBox db.Properties
     
    Set prp = Nothing
    Set db = Nothing
    ca ne marche pas?
    est ce normal,j'avoue ke je suis un peu perdu

  12. #32
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    ça veux dire quoi ça marche pas ? Elle est où l'erreur ?

  13. #33
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    ERREUR!!
    La propriété <Value> doit être définie avant d'utiliser cette méthode. (Erreur 3386)

  14. #34
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et sur quelle ligne si ce n'est pas trop te demander ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Set prp = db.CreateProperty("DateOuverture", dbDate) 
    prp.value=now
    db.porperties.Append prp
    Essaye de définir la valeur avant d'ajouter la propriété à la collection

  15. #35
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    c 'est ok j'ai defini la valeur avant et ca marche.
    Mais le probleme a mon sens est qu'a chaque demarrage la valeur va se reinitialisé a Now et c pas bon......non?
    Sub Form_Load()


    Dim db As DAO.Database

    'Déclare une varaible objet DAO.Property
    Dim prp As DAO.Property

    'Pointe sur la base en cours
    Set db = CurrentDb

    'On crée la propriété pour la base désignée par la variable db
    Set prp = db.CreateProperty("DateOuverture", dbDate)
    prp.Value = Now
    'On ajoute cette propriété à la collection des propriété de db
    db.Properties.Append prp

    'On lit/écrit la propriété personnalisée comme ceci :
    db.Properties("DateOuverture") = Now

    MsgBox prp.Value
    Set prp = Nothing
    Set db = Nothing
    Est ce bien la que je dois tester ma propriété pour bloquer l'appli??
    MERCI

  16. #36
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et bien, oui, si la propriété n'existe pas, tu la crée sinon, tu lis sa valeur et tu la compare à la date du jour - 15 jour.

  17. #37
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Excuse moi si je ne comprends pas ,mais
    Pourquoi le prorpriété n'existerai pas si je la cree comme ds l'ex de code ci dessus et avec quoi je compare la date du jour a -15 jour??
    Merci de ta patience

  18. #38
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    ben parce qu'il y a bien fallu que tu la crées avec du code et ça sert à rien que tu l'enlèves ton code maintenant.
    Et tu compare la date du jour à la valeur de la propriété que tu as crées.

  19. #39
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Mais le valeur de ma propriété s'initialise au demarrage
    donc je vais avoir tout le temps une égalité???

    On est bien d'accord que le but est bien de recuperer la date de la l'install puis de bloquer l'appli 15jours plus tard?

  20. #40
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Elle ne s'initialise pas au démarrage. Elle ne vas s'initialiser qu'une fois. Et aprés vu que la propriété existe déjà, elle ne se réinitialise plus. Fais des test, tu verras.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2008, 14h18
  2. réaliser une version d'essai
    Par DanielB dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/05/2007, 07h36
  3. Réponses: 4
    Dernier message: 06/04/2007, 15h04
  4. [LAZARUS et DELPHI] Version d'essai 30 jours
    Par histoblog dans le forum Delphi
    Réponses: 8
    Dernier message: 20/11/2006, 18h34

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