Thread View: pl.comp.bazy-danych.msaccess
3 messages
3 total messages
Started by Phantom
Sat, 14 Mar 2020 11:02
Podformularz z poziomym paskiem przewijania
Author: Phantom
Date: Sat, 14 Mar 2020 11:02
Date: Sat, 14 Mar 2020 11:02
13 lines
1703 bytes
1703 bytes
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 Proszę o pomoc Pozdrawiam Tomek
Re: Podformularz z poziomym paskiem przewijania
Author: BraZby
Date: Sat, 14 Mar 2020 17:30
Date: Sat, 14 Mar 2020 17:30
67 lines
2917 bytes
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
Re: Podformularz z poziomym paskiem przewijania
Author: BraZby
Date: Sun, 15 Mar 2020 09:22
Date: Sun, 15 Mar 2020 09:22
26 lines
1447 bytes
1447 bytes
W dniu 2020-03-14 o 18:30, BraZby pisze: > W dniu 2020-03-14 o 12:02, Phantom pisze: Drobna poprawka: > '___________________________________________ > Private Sub Form_Open(Cancel As Integer) > > Dim iMonth As Integer Powinno być: Dim iMonth As String a bardziej poprawnie Dim sMonth As String a dalej bez zmian. -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads