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 :

contrôle scrollbar


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut contrôle scrollbar
    salut.

    J'ai donc un p'tit probleme et après une recherche sur le forum, parcour de qlq pages... et je dois dire que vu le nombre qui existe c'est pas facile de trouver si not' probleme à d'ja été traité...
    Donc par soucis de rapidité pour trouver une solution ben je fais un tit post... j'suis certes conscient qu'a force d'en faire des nouveau post ca rallonge la liste pour c'lui qui veut chercher une réponse a son probleme c'qui fait qu'a son tour et f'ra un nouveau post...
    Euh enfin bref désolé si vous avez d'ja eu le probleme...

    Bon j'ai créer un Formulaire sous Access 2000, jusque la rien de zarbi, ensuite j'ai utilisé le code Lecture en bloc expliqué sur le site... jusque la tout marche nickel... ben ouais alors pk je post
    ben en fait j'aimerais remplacer les deux p'tits bouton tout simple par un scrollbar...

    j'ai donc les données de mon formulaires qui sont succéptible de changer (le nb d'enregistrement du recordset) car mes données proviennent d'une requete SQL en vba (select * from patati where patata...) d'apres des zones de liste modifiable et autre conneries qui peuvent servir a la clause Where ou meme by order

    bref le nb d'enregistrement est variable
    j'attribut donc la valeur max de mon scrollbar a l'aide de Scrollbar.max = Recordset.count
    la valeur min étant 1 si y'a des enregistrement
    bon bref j'arrive a mettre tous ca en place

    mais quand je clic sur le tit bouton monté de mon scrollbar ben y'a rien, normal fo p'tre mettre un code ouép ben v'la mon probleme

    a par l'événement sur MAJ je vois pas ou je pourrais geré mon déplacement ds mes enregistrement.. pis ensuite si je tape Scrollbar. ben y'a pas grand min de possibilité .application, . value, .oldvalue bref j'vois pas quel argument me permetrais de gerer le déplacement d'apres le bouton cliqué sur le scrollbar...

    bon j'espère avoir été assez clair dans mes explications, si jamais c'est po le cas ben scuser moi j'suis qu'un pietre programmeur c'est pas du tout mon métier c'est simplement par loisir et envie de me prendre la tete...
    y'en a qu'on vraiment des loisirs a stapé la tete cont' les mur... ah ben ma fille...

    Merci d'avance...

    modération : cafeine, pas de titres en majuscules

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    1/ Tu aimes bien les smileys...

    2/ La difficulté du scrollbar est qu'il possède déjà une valeur Max fixée à 32767 ce qui fait que si ton jeu d'enregistrements les dépasse, tu es mal...

    3/ Le scrollBar possède deux événements qui peuvent répondre à ta demande mais il faudrait pour chaque scroll faire un GoToControl qui se rapporte à la valeur de ton scrollbar et que cette valeur soit transposable au niveau du RecordSet afin d'en trouver l'enregistrement correspondant... C'est pas évident.

    4/ Ne serait-il pas plus intéressant pour toi de regarder ce tutoriel qui répond d'une manière dérivée à ta demande.

    Argy

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    salut !

    merci de ta réponse, en fait l'avantage du scrollbox enfin ce que j'en pense donne vite un apercu des enregistrement parcouru et du nombre d'enregistrement restant... pis quand on est en bas avec l'accenceur on le voit donc on s'rend vite compte qu'il n'y'a plus rien derrière...

    J'ai donc commencer a tester avec ta méthode concernant le gotocontrol,
    j'ai donc plusieur zone de texte nomé "Titre_1","Titre_2","Titre_3",etc...
    bref comme dans l'exemple cité plus (lecture en bloc)...

    j'ai donc construit le nom du controle a atteindre avec le début "Titre_" puis le restant venant de la valeur de mon ScrollBox...
    ben on se doute tout de suite que je me heurte a un problème quand on arrive au control "Titre_20" et que l'on clic encore sur le scrollbox il ne trouve plus le control "Titre_21" puisqu'il n'existe pas dans mon formulaire ...
    il existera donc plusieur solution pour géré ce problème et donc de lui dire que lorsque l'on est arrivé au control 20 ben de revenir sur le premier...
    Il faudra également géré que lorsque l'on sera en hau de la liste (sur le control titre_1) de lui dire de revenir sur le dernier soit "titre_20"
    pour donner l'illusion que l'on parcour une liste défilante...

    bref j'aurais pu faire tout ca simple avec un formulaire en mode continu et le control scrollbox du formulaire... le problème c'est que je ne sais pas attribué une couleur différente (alternance de deux couleur) pour chaque ligne de mon formulaire... par exemple comme on peut foir sur certain relevé de compte...

    Enfin si quelqu'un a la moindre info sur le controle activeX Scrollbox je suis preneur ( comment savoir si l'utilisateur se déplace vers le bas ou le haut...) En tout cas merci pour ta réponse car elle m'a orienté vers une tite ruelle qui pourra p'tre résoudre mon probleme...
    en attendant je cherche toujours j'vais pas me laisser faire par un tit control

    donc grand merci...

    Ps : Désolé Caféine pour le titre en Maj... ze le ferais plus

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Mouais... Je suis pas fana de ton concept mais bon.

    Bon, pour ce qui est des couleurs, tu as une solution :
    Tu peux colorier l'arrière plan d'une ligne d'un formulaire en mode continu d'une couleur et la suivante d'une autre de façon alternative simplement en contrôlant la valeur d'un champ : par exemple, pour chaque N° pair, en jaune et chaque impaire en bleu...

    Tu peux jeter un oeil à ce tuto qui t'aideras certainenent dans ta tâche.

    Argy

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Re
    Salut !!!

    Merci de ta réponse, ben ouép y'a chacun aura son p'tit mot sur l'utilité de tel ou tel control bref... la solution concernant la coloration d'une zone de texte sur un formulaire continu me semblé aussi plus facile... J'avais donc télécharger ce fameux higlhightdemo et j'en avais apprécié le code et l'effet rendu (ben ouép un formulaire continu c'est pas top si ca reste fait tout simple avec l'assistant) bref j'ai vu que vous aviez plusieur exemple sur le site concernant les formulaires continus... et j'ai donc jetté un zoeil au code...

    Celui dont tu parle dans ton tuto (selection de l'enrg actif) m'avait justement attiré... et j'en avait regardé le code... quand je prend donc votre formulaire tout marche bien... seulement quand j'adapte votre code je me heurte a un petit probleme que voici...

    la méthode FindFirst sur Ors (recordset) ne marche pas ici, cela vient certainement d'une reference qui n'est pas installé, ou d'un paramamètre manquant, j'avais donc laissé tombé car quand je ne trouve pas une solution tout de suite a un probleme, je ne cherche pas tout de suite à le résoudre ben oué mes connaissance en programmation ne m'offre parfois pas la possibilité de comprendre immédiatement le prob...
    je laisse donc tombé provisoirement le temps d'augmenter mes connaissances en cherchant sur d'ot'truc...
    Et une fois que j'ai appris des nouvelles chose je me repenche sur mé précédent prob... ce qui souvent me donne la possibilité de les résoudres...
    Pis quelques fois je fais appel a d'autre personnes a l'aide des forums ou autres... comme maintenant...

    encore merci pour tes réponses...

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Re salut !

    Bon j'ai reussi cette histoire de cadre autour de l'enregistrement actif
    j'ai donc également les numéro de linge me reste plus qu'a mettre en place le code si pair ou impair avec un changement de couleur...
    Voici le code pour que la fonction marche ici sur mes formulaire des fois que ca pourrait servir a quelqu'un qui a le prob...
    Le Rs n'est pas déclaré en tant que recordset mais en tant qu'Object c'est la seule soluce que j'ai trouver pour que cela marche...

    Function LineNumber() As Long
    On Error GoTo Err_Func

    Dim frm_Form As Form
    Dim Rs As Object
    Dim int_Numero_Ligne As Integer

    Set frm_Form = Form
    Set Rs = frm_Form.RecordsetClone


    Rs.FindFirst "[Reference_Jeux] = " & Reference_Jeux

    Do Until Rs.BOF
    int_Numero_Ligne = int_Numero_Ligne + 1
    Rs.MovePrevious
    Loop

    Exit_LineNumber:
    LineNumber = int_Numero_Ligne
    Exit Function

    Err_Func:
    int_Numero_Ligne = 0
    Resume Exit_LineNumber

    Erreur_Procedure

    End Function


    Bon voila me reste donc plus que l'histoire du changement de couleur selon la ligne (pour le formulaire en mode continu) mais je vais continué de cherché pour cette histoire de scrollbar qui me tracasse un tit peu...
    car dans mon formulaire de lecture en bloc j'avais un cover du jeu selon le jeux selectionner dans la liste

    la avec le systeme de formulaire contin ca m'obligerais a claquer mon form continu dans un autre form afin de pouvoir charger le cover d'apres le record actif sur la liste... enfin si le scrollbar me prend trop le chou faudra faire evoluer les deux solutions... merci pour vos réponse j'avance doucement vers le résultat recherché...
    tout ca pour avoir des forms un peu + perfectionné ben mon dieux qu'est ce qu'on f'rai po...

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    J'adore Titeuf, en BD...
    Mais dans ce forum, évite... Nous sommes des grandes personnes et apprécions volontiers que la gente qui le fréquente soit en mesure de comprendre chaque mot ou expression de tout un chacun...
    Pense aussi aux balises CODE quand tu poses un bout de code...

    Pour l'histoire du FindFirst qui plante, c'est parce que tu as référencé prioritairement ADO au dessus de DAO... (As tu besoin de ADO ???)

    Place DAO au-dessus et le problème est oublié.

    Argy

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Rien que des solutions....
    Bonjour !

    Si le simple fait d’écrire une phrase avec des petits mots bien écrits, peut simplifier la lecture et la compréhension pour certains et que d’autres en ressentent même le sentiment d’être un peu plus grand et que cela leur donne en prime l’impression de faire partie des grandes personnes… Je veux bien accorder un peu de temps à l’écriture d’une telle phrase…

    L’adaptation est souvent la preuve d’une tolérance, je préfère m’adapter au langage d’un livre ou d’un article et le comprendre tels que l’auteur l’aurait souhaité, parce qu’il me sera vraisemblablement impossible de demander à un quelconque écrivain de republier son livre en utilisant mon langage ou ma façon d’écrire. Hé ! Oui la vie est ainsi faite….

    En ce qui concerne donc le fait de référencer avant les « DAO » a la place des « ADO » a effectivement résolu le problème concernant la déclaration en tant que Recordset. J’ai donc modifié le problème et tout le code d’origine fonctionnent comme il l’était prévu à l’origine.
    Je me suis donc penché sur cette histoire de couleur par rapport au numéro de ligne, suivant qu’il sera pair ou impair. Il suffit simplement de faire un mod. 2 du nombre et suivant le résultat on sait si le nombre est pair ou impair… Il est également possible avec la méthode de représentation des nombres en binaires, puis en regardant le bit de poids le plus faible. Bref j’ai donc réussi ce qui me poser encore il ni y’a pas très longtemps un petit problème.

    Donc tous mes problèmes ont trouvé une solution, sauf cette histoire de scrollbar que je ne sais manier aussi facilement que j’aurais pu le prétendre. Enfin je n’en reste pas moins déterminer et je finirais bien par dompter ce fameux control. Merci encore pour toutes vos réponses qui m’ont été d’une grande utilité…

  9. #9
    Membre régulier Avatar de GESCOM2000
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 107
    Points : 79
    Points
    79
    Par défaut
    moi j'ai ce code qui marche nikel

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Private Sub BT_Suivant_Click()   
    If OkChange(Me) Then
        DoCmd.GoToRecord , , acNext
        End If
    End Sub
     
    Private Sub LstCodeSociete_AfterUpdate()
        If OkChange(Me) Then
        t = Me.LstCodeSociete.Column(0)
        DoCmd.GoToRecord , , acGoTo, t
        Me.LstCode.Value = Me.LstCode2.Value
        End If
    End Sub
     
     
     
    Function OkChange(f As Form) As Integer
     
        On Error GoTo OkChangeErreur
     
        If f.Dirty Then
            DoCmd.DoMenuItem A_FORMBAR, A_FILE, A_SAVERECORD, , A_MENU_VER20
        End If
     
        GoTo FinOkChange
     
    OkChangeErreur:
     
        MsgBox "bal... bla bla", 0, "ERREUR"
        Resume Next
     
    FinOkChange:
     
        OkChange = Not f.Dirty
     
    End Function

Discussions similaires

  1. Scrollbar verticale d'un contrôle toujours en bas
    Par clem67 dans le forum VB.NET
    Réponses: 5
    Dernier message: 28/01/2011, 22h33
  2. [C#] Contrôle scrollbar horizontale avec la souris
    Par heavydrinker dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/10/2006, 15h21
  3. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53
  4. [visuel]ScrollBar et StatusBar
    Par psl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/08/2002, 21h28
  5. [Kylix] Contrôle DBGrid
    Par KThrax dans le forum EDI
    Réponses: 1
    Dernier message: 10/05/2002, 14h18

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