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

IHM Discussion :

Fonction Test entre 2 tables


Sujet :

IHM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut Fonction Test entre 2 tables
    Bonjour,

    Je sèche sur un petit problème en VBA....
    J'ai 2 Formulaires (entres autres)

    Formulaire Roue
    un champ "Bar" (Numérique)
    un champ "Taille" (Texte = small, medium, large)

    Formulaire Taille (définissant les différentes tailles possibles c'est à dire entre 0 et 250 mm c'est small, entre 250 et 400 c'est medium....etc)

    Ce que je cherche à faire c'est que l'entrée d'une valeur dans Bar provoque l'affectation automatique de la taille dans le formulaire roue...

    Autrement dit : je rentre une valeur dans BAR, je recherche dans la table "Taille" dans quel cas je me trouve, j'affecte la valeur concernée au champ taille dans Roue....

    Et j'avoue que je ne sais vraiment pas par où commencer....Quelqu'un aurait il une idée??

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,

    Manque d'explications votre question.

    Les deux formulaires s'adressent-ils à la même table ou à des tables différentes.

  3. #3
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut Infos supplémentaires
    Bonjour,

    Les deux formulaires s'adressent à deux tables différentes.
    Une Table Roue et une table Taille
    Quelles autres infos manque t-il?

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Par défaut
    bonsoir,
    si j'ai bien compris tu aurais une table disons roue avec un formulaire attaché.
    pour atteindre ton résultat je ne vois pas l'intérêt d'une table et d'un formulaire Taille enfin....
    il suffirait sur l'évènement après mise a jour du champ bar de mettre le code suivant pour affecter la taille à ton champ.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Bar_AfterUpdate()
    Select Case Me.Bar
    Case 0 To 250
    Me.Taille = "small"
    Case 251 To 400
    Me.Taille = "medium"
    Case Is > 400
    Me.Taille = "large"
    End Select
     
     
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut
    Merci beaucoup pour cette réponse!

    La solution que vous me proposez est en fait celle que j'utilise pour le moment.

    L'idée d'une table Taille est de tout simplement pouvoir paramétrer cette information.
    Si par exemple l'an prochain des modifications font que la catégorie Small n'est plus entre 0 et 250 mais entre 0 et 125 et qu'une nouvelle catégorie prend place entre 125 et 250 ....l'utilisateur doit pouvoir rajouter une nouvelle catégorie et modifier les données numériques ...

    J'ai pour le moment écrit ces quelques lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Bar_AfterUpdate
    Dim x as Integer
    x=Me.Bar.Value 
    Me.Taille.value = size (x) 
    End Sub
    Cependant je suis bloqué sur l'écriture de la fonction size (x) notament car je ne sais pas comment faire référence dans le code aux champs de la table Taille alors que je ne suis pas dessus.

    Sinon mon idée était de faire une boucle avec compteur i qui s'incrémente sur le N° auto et qui compare la valeur de "bar"avec les valeurs paramètres...

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Par défaut
    Bonjour,
    Une proposition, il peut y en avoir d’autres….
    Ex : avec une table « tbl_Taille », avec les champs suivants
    N° champ auto
    param_mini
    param_maxi
    Taille

    Mettre sur le code suivant sur AfterUpdate de Bar.
    ATTENTION penser à ajouter la référence ADO. (Microsoft ActiveX Data Objects 2.x Library)
    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
    19
    20
    21
    22
    Private Sub Bar_AfterUpdate()
    Dim cnc As New ADODB.Connection
    Dim rst As New ADODB.Recordset
     
    DepasParam = DMax("param_maxi", "tbl_Taille")
     
    If Me.Bar > DepasParam Then
    Me.Taille = "large"
    Exit Sub
    End If
     
    Set cnc = CurrentProject.Connection
    rst.Open "tbl_Taille", cnc, adOpenDynamic, adLockBatchOptimistic
    Do Until rst.EOF
    If Me.Bar >= rst("param_mini") And Me.Bar <= rst("param_maxi") Then
    Me.Taille = rst("Taille_param")
    Exit Sub
    End If
    rst.MoveNext
    Loop
     
    End Sub

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

Discussions similaires

  1. [AC-2007] Fonction Test entre 2 tables
    Par Greg47 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/05/2010, 18h27
  2. Réponses: 41
    Dernier message: 27/08/2006, 15h17
  3. test entre des lignes successives d'une table
    Par preskovik dans le forum Access
    Réponses: 4
    Dernier message: 22/03/2006, 08h45
  4. Requete select pour récupérer les no match entre 2 tables
    Par Celina dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/12/2003, 11h59
  5. Update entre 2 tables
    Par jfox dans le forum SQL
    Réponses: 8
    Dernier message: 04/11/2003, 10h22

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