🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
3 messages
3 total messages Started by Phantom Sat, 14 Mar 2020 04:02
Podformularz z poziomym paskiem przewijania
#134015
Author: Phantom
Date: Sat, 14 Mar 2020 04:02
20 lines
751 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
#134016
Author: BraZby
Date: Sat, 14 Mar 2020 18:30
66 lines
2027 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
#134017
Author: BraZby
Date: Sun, 15 Mar 2020 10:22
25 lines
384 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