🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych.msaccess
Article #137688

Re: Podformularz z poziomym paskiem przewijania

#137688
From: BraZby
Date: Sat, 14 Mar 2020 17:30
67 lines
2917 bytes
W dniu 2020-03-14 o 12:02, Phantom pisze:
> Witam
> Mam podformularz (dane ciągłe) z poziomym paskiem przewijania i mnóstwem kolumn m.in z kwotami dla poszczególnych miesięcy w roku (czyli od stycznia do grudnia). Wiersze to poszczególne lata rozliczeniowe (2018, 2019, 2020). W podformularzu widzę tylko kolumny z miesiącami od stycznia do czerwca. Reszta ukryta i dostępna tylko po przewinięciu paskiem.
> Chciałbym, żeby pasek przewinął automatycznie (jeżeli jest np.: marzec) i pokazał dane od marca i dalej (ukryty z lewej strony styczeń, luty).
> Nazwy pól podformularza to odpowiednio:
> styczeń - m1rozl;
> luty - m2rozl;
> .
> .
> grudzień - m12rozl
> 

Spróbuj coś takiego:
Nazwy etykiet kolumn są następujące:

  styczeń - lblm1rozl;
  luty - lblm2rozl;
  .
  .
  grudzień - lblm12rozl

'___________________________________________
Private Sub Form_Open(Cancel As Integer)

Dim iMonth As Integer
Dim lMoveLeft As Long
Dim i As Long

   ' pobierz numer miesiąca
   iMonth = CStr(Month(Now()))

   ' ustaw najpierw fokus na pierwszym widocznym
   Me.Controls("m" & iMonth & "rozl").SetFocus

   ' wylicz przesunięcie dla widocznych formantów
   lMoveLeft = Me.Controls("m" & iMonth & "rozl").Left _
             - Me.Controls("m" & "1" & "rozl").Left

   For i = 1 To iMonth - 1
     ' ukryj formanty młodsze
     Me.Controls("m" & CStr(i) & "rozl").Visible = False
     ' i etykiety ich kolumn
     Me.Controls("lblm" & CStr(i) & "rozl").Visible = False

   Next

   ' widoczne kolumny
   For i = iMonth To 12
     ' przesuń kolumny w lewo
     Me.Controls("m" & CStr(i) & "rozl").Left = _
                 Me.Controls("m" & CStr(i) & "rozl").Left - lMoveLeft
     ' i etykiety powiązane w lewo
     Me.Controls("lblm" & CStr(i) & "rozl").Left = _
                  Me.Controls("lblm" & CStr(i) & "rozl").Left - lMoveLeft

   Next

End Sub

Przesunięcie pozostałych elementów oraz rozmiar formularza
musisz oprogramować sam.

-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Technical Details
Message-ID: <r4j4ch$of0$1@gioia.aioe.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED.AN79JoAhNweRhnB+MP1LFw.user.gioia.aioe.org!not-for-mail
References: <5237709f-7874-4292-8509-afefcb232b9c@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED.AN79JoAhNweRhnB+MP1LFw.user.gioia.aioe.org!not-for-mail
From: BraZby <byle@co.pl>
Newsgroups: pl.comp.bazy-danych.msaccess
Subject: Re: Podformularz z poziomym paskiem przewijania
Date: Sat, 14 Mar 2020 18:30:52 +0100
Organization: Aioe.org NNTP Server
Lines: 67
Message-ID: <r4j4ch$of0$1@gioia.aioe.org>
References: <5237709f-7874-4292-8509-afefcb232b9c@googlegroups.com>
NNTP-Posting-Host: AN79JoAhNweRhnB+MP1LFw.user.gioia.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit