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

VBA Access Discussion :

Gestion de stock en VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut Gestion de stock en VBA
    Bonjour,

    afin d'achever ma base de données, j'aurais encore une petite question. Je voudrais dans un sous formulaire "détails du bordereau", avec un bouton de commande, appliquer a tous mes enregistrements la formule suivante :
    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
     
    Dim strLink As String
        strLink = SauvegarderActualiser
            If NbRestant <= 0 Then
                ACommander = Quantité
                AValidation = 0
                Stockbel = "Indisponible"
            Else
                AValidation = NbRestant - Quantité
                    If AValidation > 0 Then
                        ACommander.Value = 0
                        Stockbel.Value = "Disponible"
                    Else
                        ACommander = Quantité - NbRestant
                        AValidation = 0
                        Stockbel.Value = "Indisponible"
                    End If
            End If
    En fait, cette formule marche nickel, mais que pour un enregistrement à la fois. Je pense qu'il manque pas grand chose !!! Et est-il possible d'utiliser un bouton de commande avec un sous formulaire en feuille de données ??? Je pense pas, mais serait il possible d'appeler mon bouton via le formulaire "principal" ??? Car pour le moment, mon sous formulaire est un formulaire tous simple et pour une raison de faciliter et uniformité avec mes autres formulaires, je le revoudrais en feuille de données.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    bonjour,

    tu utilises beaucoup de variables dant on code, peux-tu nous indiquer comment tu les alimentes stp ? Une requête update par le vba est possible, mais encore nous faudrait-il les champs de la table à mettre à jour ^^
    Merci
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    En fait, tous ces variables viennent de mes tables :
    Stockbel, NbRestant => tbl Matériel
    AValidation, ACommander, Quantité => Détails du bordereau
    J'ai voulu essayer avec une requete, mais je ne connais pas assez le SQL pour çà.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    alors tu auras plusieurs requêtes de mise à jour des données possibles: un exemple, à adapter selon le nom exact des champs et tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Table_Materiel SET Stockbel='INDISPONIBLE' WHERE NBRestant<0
    tu vois l'idée ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    je vois l'idée , bien vu, je vais essayer d'appliquer cela a mon cas, merci bcp à toi jpcheck

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    Afin de ne pas créer 50milles requetes, est-il possible d'utiliser un case avec un UPDATE et par la meme occasion utilisé mon WHERE pour filtrer mon formulaire ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Matériel SET Stockbel=(CASE WHEN NbRestant>0 THEN "Disponible" ELSE "Indisponible" END);

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Matériel SET Stockbel=(CASE WHEN NbRestant>0 THEN "Disponible" ELSE "Indisponible" END);
    Pourquoi "Opérateur absent" ???
    C'est bizarre, même en SELECT, je n'arrive pas à utilisé le CASE WHEN.

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

Discussions similaires

  1. [XL-2010] Code VBA - Gestion de Stocks
    Par polysandre dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/10/2014, 10h11
  2. Votre avis sur fichier Excel-Vba gestion des stocks
    Par mira3 dans le forum Conception
    Réponses: 5
    Dernier message: 10/04/2012, 10h01
  3. Réponses: 52
    Dernier message: 23/05/2006, 11h08
  4. gestion des stocks
    Par gekondo dans le forum Access
    Réponses: 1
    Dernier message: 30/09/2005, 11h41
  5. Appel a une procedure stockée en vba
    Par The_Nail dans le forum VBA Access
    Réponses: 36
    Dernier message: 01/04/2003, 16h44

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