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 :

Peut-on tester un enregistrement dans form sur open?


Sujet :

Access

  1. #1
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut Peut-on tester un enregistrement dans form sur open?
    Slt a tous,
    J'avais déja posé cette question sur un poste mais il a disparu !! ?? !!
    Quoi que le problème est différent, car ici mon formulaire est filtré, et le code que j'avais mis (récupéré ici merci le forum !!) s'applique sur des requetes et ne fonctionne pas pour les form !!
    En gros, suite au filtrage, le formulaire n'a que peu d'enregistrement (2ou3)voir aucun et quand y'en a pas je ne souhaite pas qu'il s'ouvre..
    Il faudrai surement un code sur Ouverture du Form ??
    Peut-on testé un enregistrement dans ce formulaire avant qu'il soit ouvert???
    Et si oui comment????
    Quelqu'un à une idée??
    Merci d'avance

  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 Re: Peut-on testé un enregistrement dans form sur open?
    Citation Envoyé par samlepiratepaddy
    Slt a tous,
    J'avais déja posé cette question sur un poste mais il a disparu !! ?? !!
    Quoi que le problème est différent, car ici mon formulaire est filtré, et le code que j'avais mis (récupéré ici merci le forum !!) s'applique sur des requetes et ne fonctionne pas pour les form !!
    En gros, suite au filtrage, le formulaire n'a que peu d'enregistrement (2ou3)voir aucun et quand y'en a pas je ne souhaite pas qu'il s'ouvre..
    Il faudrai surement un code sur Ouverture du Form ??
    Peut-on testé un enregistrement dans ce formulaire avant qu'il soit ouvert???
    Et si oui comment????
    Quelqu'un à une idée??
    Merci d'avance
    On ne peut pas avant qu'il soit ouvert, tu peux en revanche tester avec un DCount() avant de placer le code d'ouverture de formulaire.

  3. #3
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Ok je pige...
    Volià ce que j'ai mis, mais ça coince sur le critère ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DCount(Trigramme, F_TéléproAyantDéjaDesProspectsAffectéAujoudhui, Trigramme >= 0) = False
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    Vous avez rentré un argument non valide dans une fonction de domaine
    Pourtant dans l'esprit, c'est bien ce que je veux:
    Tester par "Dcount" si il y a au moins une ligne dans ce form avant de l'ouvrir...???
    Pourquoi ça marche po???

  4. #4
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    salut,
    c'est normal car la fonction de domaine est valable seulement sur un nom de table ou de requête.
    Dans ton cas il me semble qu'il s'agit de ton formulaire ce qui n'est pas possible.
    il te faut donc utiliser la requête sous-jacente de ton formulaire et ajouter en plus dans les critères le filtre de ton formulaire
    A+

  5. #5
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Re,
    Ok j'ai pigé !
    Mais je n'arrive pas a completre le code...
    attente: )
    a la fin de l'écriture, hors que je ne vois pas ce qui manque??? J'ai beau en rajouter il m'en demande toujours???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DCount(Trigramme, R_TéléproAyantDéjaDesProspectsAffectéAujoudhui,( "[DateExploitation]=#" & Format$(Me![DateAffectation], "mm/dd/yyyy") & "# And [Trigramme]=" & "'" & Me![ChoixTéléproCP] & "' )= False)
    Et après je complète avec ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    qui est ce que doit faire ce code si il y a un enregistrement dans F_TéléproAyant....
    Gloop's ça rame dur....

  6. #6
    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
    un exemple ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If DCount("[Trigramme]", "R_TéléproAyantDéjaDesProspectsAffectéAujoudhui", "[DateExploitation]=#" & Format$(Me![DateAffectation], "mm/dd/yyyy") & "# And [Trigramme]= '" & Me![ChoixTéléproCP] & "'" ) > 0 Then
       DoCmd.OpenForm ....
    Else
       MsgBox "Pas d'enregistrements"
    End If

  7. #7
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    J'ai testé un autre code que tu peux appliquer sur l'ouverture du formulaire et qui fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Form_Open(Cancel As Integer)
        Dim test As Variant
        Dim filtre As String
        filtre = ta condition de filtrage
        Me.Filter = filtre
        Me.FilterOn = True
        If Me.Form.RecordsetClone.RecordCount = 0 Then
          msgbox ("il n'y a pas d'engregistrement")  
           DoCmd.Close
        End If
    End Sub
    tu peux laisser la partie filtre si par exemple tu ouvres ton formulaire avec la condition where

    A+

  8. #8
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    slt Cafeine
    Heu... des exemples comme ça c'est quand tu veux !!!!
    Exactement le résultat que je voulais !!!!

    Merci Alexandre !
    Je garde précieusement ce code car il va surement mettre utile sur deux ou trois form !!!!!

    Merci à vous deux!!!
    @+

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

Discussions similaires

  1. [CR 2008] sélection enregistrement dans rapport sur 1 semaine commençant 3 semaines auparavant
    Par captainpilot dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 22/05/2010, 12h13
  2. [PHP 5.3] tester un enregistrement dans une bdd
    Par ideal23 dans le forum Langage
    Réponses: 9
    Dernier message: 23/04/2010, 11h47
  3. Réponses: 1
    Dernier message: 06/02/2008, 04h03
  4. Réponses: 12
    Dernier message: 07/07/2006, 11h08
  5. Réponses: 9
    Dernier message: 19/12/2005, 15h53

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