Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[VBA6] Wybór pierwszej i ostatnie daty oraz czasu



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
ak



Dołączył: 13 Lut 2007
Posty: 164

PostWysłany: Pon Lut 26, 2018 9:40 pm  OP    Temat postu: [VBA6] Wybór pierwszej i ostatnie daty oraz czasu Odpowiedz z cytatem Pisownia

Witam
W swoim programie posiadam 15 form.W każdym z nich jest rozpoczęcie danej operacji o określonym dniu i godzinie oraz jej koniec. Daty i godziny są rózne.Chodzi mi o to by w formie nowym zbiorczym była data i godzina rozpoczecia operacji najstarsza i ostatnia najnowsza.Format daty i godziny to :
MaskEdBox1.Text = Format(Now, "yyyy-mm-dd hh:nn")
MaskEdBox2.Text = Format(Now, "yyyy-mm-dd hh:nn")
Za pomocą jakiego kodu to wyrazić
Z góry dzieki za pomoc
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
samolot



Dołączył: 26 Sty 2006
Posty: 8316
Skąd: Toruń

PostWysłany: Wto Lut 27, 2018 12:18 am      Temat postu: Odpowiedz z cytatem Pisownia

Na początek jedna ważna uwaga: język VB6 jest już prawie nie używany, ja w nim kiedyś pisałem programy, no ale dziś to przeszłość i nie wszystkie szczegóły składni pamiętam. Ale znam VB.NET, w którym funkcje operujące na datach mają akurat składnią bardzo podobną. dlatego to co niżej napiszę, to będzie raczej opisowe, niż konkretny kod w VB6, ale na 90% będzie przydatne.

1. Do tej formy, w której chcesz zapisać najwcześniejszą datę i najpóźniejszą, pobierz wszystkie daty z poszczególnych form. Na przykład do kontrolki ListBox. Pamiętaj, że aby do osobnej formy pobrać jakieś dane do innej formy, to te dane źródłowe muszą być w tej formie źródłowej dostępne. A to oznacza, że powinny być tam przechowywane w zmiennej typu Public, albo kontrolce, na przykład w polu TextBox. Wówczas można się do tego TextBoxa dostać poprzez przestrzeń nazw.

2. Jeśli już je pobierzesz do jednego ListBoxa, to tej kontrolce można ustawić właściwość Sort na sortowanie rosnące, czyli na Ascending. Ponieważ ty masz format zapisu tych dat taki: "yyyy-mm-dd hh:nn",
czyli najpierw rok, potem miesiąc, dzień, godzina, minuta ,sekunda, to taki właśnie zapis dat nadaje się na sortowanie dat. Ty te daty będziesz miał zapisane w LiostBox w formacie typu String. Poza separatorami będą ty tylko cyfry. W sortowaniu rosnącym, czyli typu Ascending
cyfry sortowane są rosnąco, co oznacza, że w ListBoxie, po ustawieniu mu takiego typu sortowania, na pierwszym miejscu od góry będzie data najwcześniejsza, a na dole najpóżniejsza

3. Do sprawdzania, ile czasu minęło pomiędzy różnymi datami, służy funkcja wbudowana DataDiff(). Zwraca ona różnicę pomiędzy datami w jednostkach czasy, jakie się jej określi w argumencie

Jaką konkretnie w VB6 maja składnię funkcje daty i czasu, znajdziesz na tym forum. Skorzystaj z przycisku Szukaj

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.14426 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |