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

Macros Access Discussion :

Comment comparer la valeur d'un control d'une boite de dialogue avec celui d'un formulaire? [Toutes versions]


Sujet :

Macros Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 71
    Points : 47
    Points
    47
    Par défaut Comment comparer la valeur d'un control d'une boite de dialogue avec celui d'un formulaire?
    Bonjour,

    Avec ce corde cela fonctionne tres bien, mais sans les contraintes
    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
    Private Sub btvalider_Click() 
    On Error GoTo btvalider_Click_Err 
    If (Not IsNull(RechercheF)) Then 
    DoCmd.OpenForm "T_Fournisseurs", acNormal, "", "[No]=[Forms]![RechercheF]![RechercheF]", acReadOnly, acNormal 
    DoCmd.Close acForm, "RechercheF" 
    Exit Sub 
     End If 
     Beep 
     MsgBox "Rentrer le numéro du Fournisseur a rechercher!", vbOKOnly, "Recherche Fournisseur" 
     Me.RechercheF.SetFocus 
    btvalider_Click_Exit: 
     Exit Sub 
     
    btvalider_Click_Err: 
     MsgBox Error$ 
     Resume btvalider_Click_Exit 
    End Sub
    NB : a) [No] ceci est le champ numéro contenant le numéro des fournisseurs
    b) ][Forms]![RechercheF]![RechercheF] est le formulaire de recherché avec la zone de texte RechercheF
    c) T_Fournisseurs est le formulaire fournisseurs qui doit ouvrir.

    J'aimerais comparer la valeur du contrôle [No] qui se trouve sur le formulaire fournisseurs qui doit ouvrir avec la valeur du contrôle [RechercheF] qui se trouve sur le formulaire [Recherche Fournisseur]. Quand je cliquer sur le bouton si la valeur entrer sur le formulaire de recherche n'existe pas sur le formulaire fournisseur, il doit afficher un message.

    J'ai beau essayer, mais je n'ai réussi pas, aide moi SVP !
    Avec ce code les contraintes fonctionnent correctement, mais seulement quand je rentre le premier enregistrement du formulaire, le formulaire fournisseur ouvre.
    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
    Private Sub btvalider_Click() 
    On Error GoTo btvalider_Click_Err 
    'If Me.RechercheF = [No] Then 
     ' DoCmd.OpenForm "T_Fournisseurs", acNormal, "", "[No]=[Forms]![RechercheF]![RechercheF]", acReadOnly, acNormal 
     'DoCmd.Close acForm, "RechercheF" 
    'ElseIf IsNull(RechercheF) Then 
    'MsgBox "Entrer le numero du Fournisseur!", vbOKOnly, "Recherche Fourn" 
     ' Me.RechercheF.SetFocus 
    'ElseIf Not IsNumeric(RechercheF) Then 
     ' MsgBox "La valeur cherchée doit être numérique !", vbExclamation 
     ' Me.RechercheF.SetFocus 
    'ElseIf "[No]" <> (RechercheF) Then 
     'MsgBox "Fournisseur n'existe pas!", vbOKOnly, "Recherche prof" 
     'Me.RechercheF.SetFocus 
    'Else 
    'MsgBox "Erreur Inatendue!", vbOKOnly, "Recherche prof" 
     ' Me.RechercheF.SetFocus 
    'Exit Sub '(Not IsNull(RechercheF)) 
    'End If 
    btvalider_Click_Exit: 
     Exit Sub 
     
    btvalider_Click_Err: 
     MsgBox Error$ 
     Resume btvalider_Click_Exit 
     
    End Sub
    J'ai essayé plusieurs autre manières ca ne marche pas. Je ne sais plus quoi faire.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Essaye cela qui devrait résoudre ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "T_Fournisseurs", acNormal, "", "[No]=" & [Forms]![RechercheF]![RechercheF], acReadOnly, acNormal
    A+

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 71
    Points : 47
    Points
    47
    Par défaut ouverture de formulaire access sur donnees specifique avec message de confirmation
    ca ne fonctionne pas toujours.
    ecoute
    le formulaire qui doit ouvrire (T_Fournisseurs) contien le champ No, Nom, Prenom, Adresse etc. et il ya 6 enregistrements environ.

    cependant, le formulaire de recherche contien un seul champ: le champ RechercheF. avec bouton valider.

    je veux quand je tappe une valeure dans le champ du formulaire de recherche et quand je clique sur le bouton, s'il ne trouve pas cette valeur pour qu'il y ait un message de confirmation.

    c'est-a-dire, je veux comparer les deux champs de ces deux formulaire, le champ [No] du formulaire fournisseur et le champ [recherchef] du formulaire de recherche.

    svp aide moi!

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 71
    Points : 47
    Points
    47
    Par défaut ouverture de formulaire access sur donnees specifique avec message de confirmation
    svp
    dis moi comment je peux comparer deux zones de textes de deux formulaires diferents? si la valeure entrer dans form1 n'existe pas dans form2 encliquant sur le bouton valider, un message doit confirmer que cette valeur n'existe pas, si non, form2 doit ouvrire sur l'enregistrement specifier.

    je suis vraiment coince.

  5. #5
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour samgione,

    Je crois que René n'avait pas bien compris la question et je le comprend ce n'était pas clair. Avec les explications que tu as ajouté je te dirais que ce n'est pas possible de la façon que tu nous montres. Tu ne peux pas faire référence à un champ dans un formulaire si celui-ci est fermé.

    Pour faire fonctionner ton formulaire de recherche tel que tu le désires, il faut que tu fasses une vérification sur la table.
    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
    Private Sub btvalider_Click() 
    On Error GoTo btvalider_Click_Err 
    Dim db as Dao.Database
    Dim rst as Dao.Recordset
    Dim strSQL as String
    strSQL = "SELECT TaTable.No FROM TaTable WHERE ((No=)" & Forms![RechercheF]![RechercheF] & ");"
    Set db = Currentdb
    Set rst = db.OpenRecordset(strSQL)
    If rst.EOF = False Then 
    DoCmd.OpenForm "T_Fournisseurs", acNormal, "", "[No]=[Forms]![RechercheF]![RechercheF]", acReadOnly, acNormal 
    DoCmd.Close acForm, "RechercheF" 
    ElseIf rst.EOF = True Then
    MsgBox "Blablabla",vbCritical
     
    'ElseIf IsNull(RechercheF) Then 
    'MsgBox "Entrer le numero du Fournisseur!", vbOKOnly, "Recherche Fourn" 
     ' Me.RechercheF.SetFocus 
    'ElseIf Not IsNumeric(RechercheF) Then 
     ' MsgBox "La valeur cherchée doit être numérique !", vbExclamation 
     ' Me.RechercheF.SetFocus 
    'ElseIf "[No]" <> (RechercheF) Then 
     'MsgBox "Fournisseur n'existe pas!", vbOKOnly, "Recherche prof" 
     'Me.RechercheF.SetFocus 
    'Else 
    'MsgBox "Erreur Inatendue!", vbOKOnly, "Recherche prof" 
     ' Me.RechercheF.SetFocus 
    'Exit Sub '(Not IsNull(RechercheF)) 
    'End If 
    rst.Close
    Set rst = Nothing
    Set db = Nothing
    btvalider_Click_Exit: 
     Exit Sub 
     
    btvalider_Click_Err: 
     MsgBox Error$ 
     Resume btvalider_Click_Exit 
     
    End Sub
    Bonne journée

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 09h57
  2. Réponses: 5
    Dernier message: 12/10/2010, 17h38
  3. Réponses: 2
    Dernier message: 05/05/2008, 09h07
  4. Réponses: 14
    Dernier message: 20/11/2007, 18h28
  5. Réponses: 17
    Dernier message: 31/12/2005, 21h32

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