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 :

pb algo vers Vba et/ou SQL


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut pb algo vers Vba et/ou SQL
    Bonjour,

    Voilà le problème :
    j'ai récupéré par une requête les infos suivantes :

    - n°article
    - empl : emplacement
    - type : type d'emplacement
    - capacite : capacité de l'emplacement
    - vol_occ : volume occupé
    - vol_dispo : volume disponible
    - tx_occ : taux d'occupation de l'emplacement

    L'objectif est de lister les transferts pertinents dans l'entrepot afin d'optimiser le stockage.

    Une répresentation du résulat sous forme de "liste transfert" avec un champ emplacement source et un autre emplacement destination pourrait être une représentation adaptée...

    Dans cet objectif je pensais à quelque chose comme ça :

    SI un article est stocké à plusieurs emplacements de même type, alors je compare les volumes occupés et disponibles dans chaque emplacements où sont stockés cet article.

    Si le volume occupé est inférieur au volume disponible alors un transfert est possible.
    Sinon je cherche un emplacement disponible de capacité pouvant accueillir le volume total occupé par cet article et le transfert est possible.

    ou encore exprimé comme ça :

    Si
    (n°article <> n°article+1) alors //cet article à un seul empl.;
    i := i + 1 ;
    //transfert impossible ;

    Sinonsi
    (type = type + 1) alors
    Si
    (vol.occ.n°article < vol.dispo.n°article+1) alors
    empl := emplacement source ;
    empl+1 := emplacement destination;
    Afficher; //transfert possible ;
    Sinon
    (SELECT empl AS emplacement destination FROM list where tx_occ = 0, capacité>SUM(vol_occ);
    FinSi;
    Finsi;

    Persuadée que mon algo à des failles et est un mixe pas très élégant de divers pseudo langage j'aimerais des conseils sur les possiblités de traiter ce problème via Access ?
    ps: je ne maitrise pas le VBA, plus SQL mais pas experte !

    Merci

  2. #2
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut
    si quelqu'un peut m'orienter vers de sources suceptibles de m'aider ?

    en ce qui concerne mon problème, par SQL est-ce que vous pensez que c'est jouables ? des if...then ? autrement je pense dans un 1er temps me concentrer sur "si vol_occ<vol dispo" alors transfert possible.. des idées pour traduire ça en SQL ou VBA ?

    merci

  3. #3
    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
    salut ô deby,
    vite fait tu passes par des boucles de test if then else end if

    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
    Si 
    (n°article <> n°article+1) alors //cet article à un seul empl.;
    i := i + 1 ;
    //transfert impossible ;
     
    Sinonsi 
    (type = type + 1) alors
    Si 
    (vol.occ.n°article < vol.dispo.n°article+1) alors
    empl := emplacement source ;
    empl+1 := emplacement destination;
    Afficher; //transfert possible ; 
    Sinon 
    (SELECT empl AS emplacement destination FROM list where tx_occ = 0, capacité>SUM(vol_occ);
    FinSi;
    Finsi;
    donnerait en VBA a peu près ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    If n°article <> n°article + 1 Then
    i = i + 1 
     
    ElseIf type = type + 1 Then
       If vol.occ.n°article < vol.dispo.n°article + 1 Then
             empl = emplacementsource
             empl+1 = emplacementdestination
             MsgBox "transfert possible"
       Else
          Set RS = CurrentDb.OpenRecordSet("SELECT empl AS emplacement destination FROM list where tx_occ = 0, capacité>SUM(vol_occ);")
       End If
    End If
    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

  4. #4
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut
    grand merci jpcheck je vais tester ça toute suite !

  5. #5
    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
    ca ne fonctionnera pas si tu lances le code tel quel hein
    les variables doivent être nommées comme il faut, et tout et tout
    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

  6. #6
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut
    mince j'ai rêvée 1 bonne minute !

    merci quand même ça me donne une piste, il me reste à bien déclarer mes variables et faire attention sur la syntaxe no ?
    bon je ne sais pas si je dois te l'avouer mais c'est mon 1er prog en vba !

Discussions similaires

  1. pb requete SQL vers VBA pour un formulaire
    Par Grodaf dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/12/2008, 09h20
  2. requete sql vers vba
    Par popofpopof dans le forum VBA Access
    Réponses: 9
    Dernier message: 01/08/2008, 21h51
  3. Transfert requête SQL QBE vers VBA
    Par Alain CARDINI dans le forum VBA Access
    Réponses: 5
    Dernier message: 29/05/2008, 05h11
  4. PB traduction requete sql vers vba
    Par stan314 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 28/05/2006, 17h27
  5. Probléme VBA Word et SQL server
    Par andrau dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/10/2005, 11h52

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