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 :

[débutant] champs en VBA


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut [débutant] champs en VBA
    boujour,

    j'aimerai savoir comment on transcrit [produit].[ref_int] en language VBA?

  2. #2
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 150
    Points : 107
    Points
    107
    Par défaut
    c quoi exactement produit et ref_int ?

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    produit est ma table, et ref int mon champs

  4. #4
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    j'avoue que je n'ai pas compris la question

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 150
    Points : 107
    Points
    107
    Par défaut
    et tu veux faire quoi avec ?

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    pardon, c'est un oubli de ma part
    [produit].[ref_int] est du languague SQL, je voulai savoir comment on ecrit l'équivalent de ca, en VBA

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    l'integré dans un If... then...Else

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    rien ne t'empeche de mettre des conditions dans ton SQL. regarde l'aide sur la fonction IIf() ---> vraifaux() en français et ceci peut être utiliser dans du SQL pas besoin de VBA.

  9. #9
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,
    Avec DAO (Référence Microsoft DAO 3.x à rajouter dans VBA):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim db as DAO.Database, rs as DAO.RecordSet
     
    Set db = CurrentDB
    Set rs = db.OpenRecordset("Produit")
     
    While not rs.EOF
      Debug.Print rs![ref_int]   ' ou Debug.Print rs("ref_int")
      rs.MoveNext
    Wend
     
    rs.close
    db.close
    Voir aussi http://warin.developpez.com/access/dao/ partie 5

  10. #10
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    j'ai un formulaire de sortie de stock.
    j'aimerais que, quand un produit est sorti du stock, access, compare la quantité disponible (qdispo appartenant à la table produit) à la quantité minimum (qmin appartenant à la table produit).
    si qdispo est inférieur à qmin, j'aimerai affiché un message d'alerte(commande à faire).

    je voudrai que ces lignes fonctionne: (c'est un mélange de SQL et VBA)

    If [produit].[qdispo] <= [produit].[qmin] Then MsgBox "commandez cette pîèce", vbInformation, "alerte de niveau bas"
    End If
    si c'est possible de faire ca en SQL, cela m'arrangerai

  11. #11
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    je ne vois pas pourquoi tu fais un sql puisque tu as un formulaire de saisi qui est déjà alimenter par une requête ou table. comment effectues-tu ta sorti de stock sur ton formulaire ? par un click ? comment se présente ta table ?

  12. #12
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    la sortie de stock est faite à l'aide d'une macro, lors du clic sur le bouton enregistrer

    la commande sql suivante:

    UPDATE [produit] SET [produit].[qdispo] = [produit].[qdispo]-[historique des sorties].[Qsorti] WHERE [produit].[ref_int] = [historique des sorties].[ref_int]

    ensuite elle alimente mon formulaire d'historique de sorti de stock

    j'aimera que quand la sorti est effectuer par la commande précédente, la macro fai ma comparaison

    comment ca comment ma table est faite?

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Points : 31
    Points
    31
    Par défaut
    Je ne suis pas certain de la syntaxe, mais ca éclairera les utilisateurs avancé :

    Je pense que que Skizo veut juste savoir que :

    [Produit].[ref_int]

    = en VBA :

    Form("Produit").ref_int ou Forms("Produit").ref_int ou Formulaire("Produit").ref_int

    ou encore Me.ref_int (fais des test je ne sais plus lesquels correspondent à quoi, et je ne parviens pas a retrouver leur défénition)

    "Me" désigne ton formulaire ouvert je crois..

    j'ai peut être servi à rien, mais c'est pas grave

  14. #14
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    tout aide, peut importe la nature ou ca divergence par rapport au sujet m'est précieuse

    produit n'est pas un formulaire, mais une table

  15. #15
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    j'ai transformé comme ca:

    If tbl.produit.qdispo <= tbl.produit.qmin Then MsgBox "commandez cette pîèce", vbInformation, "alerte de niveau bas"
    End If

    il ya encore une erreur mais je voi pas ou

  16. #16
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    il est tout à fait possible de passer par VBA. sinon le plus simple si tu ne veux passer par vba est de comparer les champs [qdispo] et [qmin] en mode création de la table si ces deux champs sont dans la même table (d'où ma question sur ta table) en procédant ainsi :

    mode création de table ---> sur la barre de menu tu as "propriété" image d'une "main" et sur la ligne "valide si" tu fais la comparason : [qdispo]-[qmin]<=0 et sur la ligne "message si erreur" tu mets ton message :"commandez cette pîèce".

    ça te va ?

    nb : le seul inconvénient de cette méthode est que tu ne peux personnaliser ta boite de dialogue.

  17. #17
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Points : 31
    Points
    31
    Par défaut
    Oups j'avais mal compris, je crois qu'il faut déclarer un ptit msg sql
    du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Dim sql As String
        sql = "SELECT [ref_int] FROM [Produit]"
    En esperant aider un tout tout petit peu quand même, a+

  18. #18
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    oui et non
    parce que j'en suis à la première étape
    car ensuite, il faut que quand cette condition est vrai, créer une demande d'achat (état)
    c'est pour ca que je voulai intégrer ca en VBA ou SQL

  19. #19
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Dans ce cas, il y a peut-être plus simple.
    Crée une requête sur Produit avec comme critère qdispo<qmin.
    Si DCount("*", "LaRequête")>0 c'est qu'il y a un besoin d'approvisionnement et cette même requête pourra servir pour ton Etat.

    Qu'en penses-tu ?

Discussions similaires

  1. [Derby] [Débutant] champ auto-incrémenté possible ?
    Par Cassios dans le forum Autres SGBD
    Réponses: 5
    Dernier message: 24/06/2011, 15h43
  2. Relation de plusieurs champs en vba
    Par jbbabb dans le forum Access
    Réponses: 1
    Dernier message: 27/07/2006, 11h27
  3. Retrouver une valeur dans un champ en VBA
    Par friiitz dans le forum Access
    Réponses: 6
    Dernier message: 11/05/2006, 15h02
  4. [EJB2.1 Entity] [Débutant] Champs auto-incrémenté (identity)et EJB
    Par Houbbba dans le forum Java EE
    Réponses: 9
    Dernier message: 04/04/2006, 19h15
  5. [XSD][Débutant] champs obligatoires ?
    Par cvacavant dans le forum Valider
    Réponses: 7
    Dernier message: 02/02/2006, 14h51

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