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 :

creer une requête en VBA avec des variables


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut creer une requête en VBA avec des variables
    Bonjour !

    Étant débutant en VB pour Access, me voilà confronté à une colle.

    Je voudrais créer une requête qui attribue des zones à des câbles. Je m'explique:

    Dans ma table (image 20), pour un même fil (ID_Net) j'ai 2 lignes... à chacune de ces lignes ont y voit une zone. Ces deux zones sont ma zone d'arrivée et de départ.

    seulement voilà, pour rejoindre la zone X a la zone Y, mon fil passe par d'autres zones. cf image 21.

    Comment faire une requête qui pour tous les fils partant d'un même point de depart et arrivant au même point d'arrivée, je leur associe les zones par lesquelles ces fils vont passer.

    ex: Au final pour un fil allant de la zone1 a la zone 5, j'ai 5 lignes avec le même numero de fil mais respectivement avec zone1, zone2, zone3, zone4 et zone5.

    Merci d'avance! je ne m'en sors pas..
    Images attachées Images attachées   

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je ne parviens pas à comprendre.

    Peux-tu

    - donner un exemple concret
    - poster une BDD compatible ACCESS2000 avec la table.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Tout d'abord merci à vous de me repondre.

    Je vais essayer d'être plus précis et si j'arrive a faire une base pas trop lourde et encombrée pour la poster je l'ajouterais par la suite.

    En fait j'ai des câbles électriques à faire passer par plusieurs zones pour relier un équipement A a un équipement B.


    Chacun de mes câbles est renseigné par la zone dans laquelle se trouve chacune de ses extrémités... Donc si mon équipement A est en zone 1 et mon équipement B en zone 5, alors le cable est pour le moment renseigné par une ligne zone1 et une ligne zone5.

    je voudrais arriver a ce que access "identifie" ma zone de départ et d'arrivée, et que si je lui dis:
    "tout les cables partant de zone1 et allant en zone 5 traversent la zone 2,3,4"
    Qu'une requete me crée 5 lignes:

    "nom de mon cable" "troncon 1" "zone 1"
    "nom de mon cable" "troncon 2" "zone 2"
    "nom de mon cable" "troncon 3" "zone 3"
    "nom de mon cable" "troncon 4" "zone 4"
    "nom de mon cable" "troncon 5" "zone 5"

    Ainsi j'aurais défini par où passent mes câbles.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Ton système de connexions est-il tel que :

    pour aller d'une zone portant un N° x vers une zone portant le N° y, on passe par toutes les zones dont le N° est compris entre x et y.

    Exemple cable abcde départ 8 / arrivée 13 ---> ce fil passe, dans l'ordre, par 9, 10, 11 et 12 ?


    Si oui, que veux-tu obtenir ? Une table dans laquelle mon exemple est renseigné :

    abcde 8-9 9-10 10-11 11-12 ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Hélas non. pas du tout.

    La notation des zones est plus complexe. Elle est composée d'une lettre suivie de 1 a 3 chiffres:

    A11 , B13, D132.... et selon les zones, je dois sélectionner un passage de câble pas forcement identique:

    exemple: pour aller de B11 a A13 : je passe par A1,A2,D210...
    pour aller de B12 a A14 : je passe par A6,B9,C420...

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    pour aller de B11 a A13 : je passe par A1,A2,D210...

    Y a-t-il un algorithme (un raisonnement, une logique, une formule magique...) qui permet de déterminer le chemin ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Non, la formule magique c'est moi.

    Il y a une logique aux noms de zones mais qui n'est pas d'un grand secours:
    les lettres représentent de grandes zones de la machine: A pour l'avant, B pour le centre, C pour le haut, D pour l'arrière.
    et le dernier digit, si il est égal a 1 ou 2, le coté: 1=gauche de la machine 2=droite de la machine.

    Par contre, chaque zone a une longueur.
    Est-il possible de faire une sorte de "dessin" dans access avec les noms des zones et que la base crée un chemin pour passer le câble en fonction de la longueur? (chemin le plus court)

    le "dessin" servirait à voir quelles sont les zones qui se touchent...

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Pourquoi ne pas essayer avec GOOGLE MAP tant que t'y es !

    Si je résume ce que j'ai compris, tu as un espace avec des points fixes.
    Ce que tu voudrais, c'est trouver le chemin le plus court entre deux points quelconques.

    Y a-t-il beaucoup de points, serait-il possible de constituer une table avec les coordonnées de chacun des points dans ton espace ?


    le "dessin" servirait à voir quelles sont les zones qui se touchent.
    Autre piste possible : une table avec pour chaque point, la liste de ses voisins.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ah... donc non c'est pas faisable tant pis.


    Oui alors je ne sais pas si c'est faisable... j'ai une cinquantaine de zones et près de 7000 câbles.... mais bon ils sont regroupés (500 qui vont de la zone A12 a B20, etc...)

    Oui, c'est a peu près celà, j'ai des zones fixes dans l'espace. (je mettrais bien une image mais mon compteur sur le forum est plein.)

    entre ces zones j'ai des chemins a respecter tout de même, donc a moi de remplir l'information du chemin que doit emprunter mes cables. En effet, c'est souvent le chemin le plus court, mais dans certains cas j'ai une zone dans laquelle je dois forcer mon câble a passer.


    par exemple, si on dit que le chemin le plus court est : Zone A1 --> A2 --> A3 --> A4, il faut quand même, si j'ai une contrainte, que je puisse le forcer a passer par une zone "A3 Bis" :

    ce qui me donnerai le chemin : Zone A1 --> A2 --> A3 --> A3 Bis --> A4

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Étant débutant en VB pour Access, me voilà confronté à une colle.
    VBA n'est pas le problème !


    donc a moi de remplir l'information du chemin que doit emprunter mes cables.
    Alors, je ne situe plus la question.

    Reprenons :

    - tu veux aller de A1 à A4
    - tu impose le chemin A1 --> A2 --> A3 --> A3 Bis --> A4

    Que souhaites-tu de ton programme ?



    (je mettrais bien une image mais mon compteur sur le forum est plein.)
    Je ne connais pas les règles. Mais si tu loges ton image sur un site et que tu postes le lien, je crois qu'il n'y a pas de limite.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Donc dans un premier temps je vais essayer de faire un formulaire qui me permette, pour aller d'une zone X a une zone Y, de sélectionner toutes les zones par lesquelles le/les câbles concernés devront passer.

    ainsi, je récupererai le chemin par lequel passent mes câbles.
    Il faudra alors mettre à jour ma table pour que chaque câble ait une ligne par zone dans lequel il passe...

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    je vais essayer de faire un formulaire qui me permette, pour aller d'une zone X a une zone Y
    Je ne vois pas sur quelle logique tu peux te baser.

    Sauf à construire une table dans laquelle, pour chaque combinaison [Départ / Arrivée] "utile", tu aurais encodé le chemin.

    Une base de départ pour déterminer les combinaisons utiles, serait de partir de la table montrée dans ton 1er post.
    Les combinaisons Départ = Arrivée n'étant sans doute pas "utiles".

    Et de la compléter au fur et à mesure que le besoin se manifeste.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  13. #13
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Je pense comme Claude, que le problème n'est pas le VBA, mais je penche plutôt sur un problème de conception.

    Si mes souvenirs sont bons, il y a près de 2 ans, dans la rubrique Requête et SQL, une discussion a eu lieu sur un problème ressemblant assez au votre.
    Il s'agissait non pas de câble et de zone, mais d'un réseau de transport (bus), avec liaison de ville à ville.

    Ca vaudrait peut-être le coup de chercher?

    Pierre

  14. #14
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Merci Pierre Antoine.

    Je vais chercher ce post alors..

    De mon coté, j'ai fait une page de formulaire comme je l'avais dit.
    1 - je choisis une zone et il me propose toutes les zones correspondantes. Par ex si j'ai un câble allant de A vers B et un autre de A vers C, alors quand je sélectionne A, j'ai une liste déroulante avec B et C.

    2 - De là, je sélectionne la zone d'arrivée (choisissons C par ex) que je veux traiter et dans une liste en dessous s'affiche toutes mes zones. Je peux alors sélectionner les zones par lesquelles mes cables allant de A vers C vont passer.

    3 - Je dois a présent créer des lignes pour chacune de ces zones dans ma table...

    Encore merci à vous

  15. #15
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour à Pierre Antoine.
    -------------------

    Je n'ai trop compris ce que tu fais... à part essayer de retrouver le bus. Avec un peu de chance c'est un trolley : tu n'auras qu'à suivre son fil

    Reviens si nécessaire.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/08/2012, 18h10
  2. Réponses: 3
    Dernier message: 08/05/2007, 17h32
  3. Imprimer une requête en Paysage sous VBA avec des raccourcis clavier.
    Par Armagnak dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/08/2006, 10h51
  4. Faire une boucle avec des variables vides ?
    Par byloute dans le forum Linux
    Réponses: 5
    Dernier message: 23/02/2006, 09h33
  5. Creer une requéte access pour choisir des textes word
    Par mariekero dans le forum Access
    Réponses: 1
    Dernier message: 16/01/2006, 10h25

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