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 :

Condition pour l'affichage d'une boite de message


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut Condition pour l'affichage d'une boite de message
    Voilà j'ai une boite de message qui si oui lance une requète d'ajout puis le formulaire et si non lance le formulaire seul.

    Mais voilà disons que cette requête d'ajout doit être éxecutée uniquement si elle n'a pas déjà été faite.

    Si dans ma table "Commandes" il n'y a pas d'enregistrements présents à la date saisie sur mon formulaire "F_Date_Saisie" zone "Date" alors lancer la boite de message

    J'espère que c'est compréhensible comme explication.
    Merci d'avance pour l'aide !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 69
    Points : 61
    Points
    61
    Par défaut


    Rien compris du tout

  3. #3
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    lol

    On peut mettre une condition à l'affichage d'une boite de message non ?

    Si oui ma condition serait d'aller regarder dans une table si une date est présente.

    Aller voir dans la table Commandes si à la date du 12/12/1986 il y a le client Total, si oui ne rien faire si non lancer la boite de message qui demanderai alors la confimation pour executer la requête d'ajout.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    dim rec dao.recordset
    dim sql as String
     
    sql = "SELECT * FROM Commandes WHERE ladate = #" & ladate & " #";
     
    set rec = currentdb.openrecordset(sql)
     
    if not rst.eof then
       msgbox
    end if
    Voila

  5. #5
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Il me met une erreur au niveau de la première ligne
    dao.recordset n'existe pas apparement

    quand je fais dao. il me propose RecordsetOptionEnum et RecordsetTypeEnum

    ???

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    Dans ta fenetre visual basic va dans outils --> référence --> et coches la bibliothèque Microsoft dao library

  7. #7
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Microsoft DAO 3.6 Object lirary est déjà coché

    Je suis desolé de vous embêter... Mais bon une fois que je saurai le faire je n'aurais plus à vous poser la question..

  8. #8
    Invité
    Invité(e)
    Par défaut
    Salut,

    Met as entre Rec et Dao

    Starec

  9. #9
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Merci Starec mais j'ai une erreur sur cette ligne maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Set rec = CurrentDb.OpenRecordset(sq1)
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdOK_Click()
        Dim rec As DAO.Recordset
        Dim sql As String
        sql = "SELECT QRY_Commandes FROM QRY_Commandes WHERE QRY_Commandes.Date='" & Me.Date & "'"
        Set rec = CurrentDb.OpenRecordset(sq1)
        If Not rst.EOF Then
        If MsgBox("Voulez vous les ajouter les commandes journalières pour la date saisie ?", vbApplicationModal + vbQuestion + vbYesNo, "Commandes journalières") = vbYes Then DoCmd.OpenQuery "Commandes Journalières", acViewNormal, acAdd
        DoCmd.OpenForm "F_Saisie_Commandes"
        End If
    End Sub
    Requête [QRY_Commandes] champs [Date]

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    bonjour,
    Modifie cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT QRY_Commandes.* FROM QRY_Commandes WHERE Commandes.Date='" & Me.Date & "'"
    Sinon donnes nous ton erreur

  11. #11
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Toujours la même erreur il dit :

    Errueur d'execution 3078
    Le moteur de données Microsoft Jet ne peut pas trouver la table ou la requête source". Assurez vous qu'elle existe et qu'elle est correctement orthographiée.


    Requête :
    QRY_Commandes
    Champs :
    Date

    L'erreur est toujours sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rec = CurrentDb.OpenRecordset(sq1)
    En débug il me dit rec=nothing

    Existe il un tuto ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    Désolé j'avais oublié le as

    As tu bien orthographier "sql" il me semble que tu as ecris "sq1"

  13. #13
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdOK_Click()
        Dim rec As DAO.Recordset
        Dim sql As String
        sql = "SELECT Date FROM Commandes WHERE Commandes.Date = '" & Me.Date & "'"
        Set rec = CurrentDb.OpenRecordset(sql)
        If Not rst.EOF Then
        If MsgBox("Voulez vous les ajouter les commandes journalières pour la date saisie ?", vbApplicationModal + vbQuestion + vbYesNo, "Commandes journalières") = vbYes Then DoCmd.OpenQuery "Commandes Journalières", acViewNormal, acAdd
        DoCmd.OpenForm "F_Saisie_Commandes"
        End If
    End Sub
    J'ai mis sql et non sq1
    Erreur 3464 :
    Type de données incompatible dans l'expression du critère

    Est en jaune :
    Set rec = CurrentDb.OpenRecordset(sql)

  14. #14
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Petite remarque le mot DATE est un mot réservé dans ACCESS donc il est très fortement déconseillé de l'utiliser en nom de variable ou nom d'étiquette.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    quel est le type de donnée de ton champs Commandes.Date
    si c'est date remplace les ' par #

  16. #16
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdOK_Click()
        Dim rec As DAO.Recordset
        Dim sql As String
        sql = "SELECT Date_Comm FROM Commandes WHERE Commandes.Date_Comm = #" & Me.Date & "#"
        Set rec = CurrentDb.OpenRecordset(sql)
        If Not rst.EOF Then
        If MsgBox("Voulez vous les ajouter les commandes journalières pour la date saisie ?", vbApplicationModal + vbQuestion + vbYesNo, "Commandes journalières") = vbYes Then DoCmd.OpenQuery "Commandes Journalières", acViewNormal, acAdd
        DoCmd.OpenForm "F_Saisie_Commandes"
        End If
    End Sub
    J'ai changé le nom de mon champs dans la table en Date_Comm
    Maintenant il me dit
    Erreur 424
    Objet requis

    En jaune :
    If Not rst.EOF Then

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    le code est entier???
    ou il manque un end if

  18. #18
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    c'est normal que If Not rst.EOF Then soit en jaune car ton recordset se nomme rec et non rst

    remplace par :


  19. #19
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Ok merci apparemment ça fonctionne mais c'est l'inverse !
    Je m’explique : Là il va voir si dans ma table si la valeur est présente, si elle est présente il me lance la requête d’ajout alors que moi je veux l’inverse.

  20. #20
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    J'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        If Not rec.EOF Then
            DoCmd.OpenForm "F_Saisie_Commandes"
        Else
            If MsgBox("Voulez vous les ajouter les commandes journalières pour la date saisie ?", vbApplicationModal + vbQuestion + vbYesNo, "Commandes journalières") = vbYes Then DoCmd.OpenQuery "Commandes Journalières", acViewNormal, acAdd
            DoCmd.OpenForm "F_Saisie_Commandes"

    Merci pour tout, vraiment merci de passer du temps avec des débutants comme moi.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2006, 08h56
  2. affichage dans une boite de texte en fonction d'un choix
    Par bachilbouzouk dans le forum ASP
    Réponses: 3
    Dernier message: 19/04/2005, 14h53
  3. [mfc] affichage dans une boite de dialog
    Par chronos dans le forum MFC
    Réponses: 3
    Dernier message: 14/06/2004, 15h12
  4. Réponses: 2
    Dernier message: 01/05/2004, 12h19
  5. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59

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