Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] Formularz z kalendarzem VBA

W-WZ 30 Sie 2018 18:08 267 8
  • #1 30 Sie 2018 18:08
    W-WZ
    Poziom 3  

    Witam wszystkich zainteresowanych moim problemem.
    Mam taki problem z kodem VBA kalendarza w formularzu. Mianowicie, po zaznaczeniu
    dowolnego dnia tygodnia od 1 do 12 wpisuje mi date w formacie Amerykańskim, powyżej już dobry format pokazuje.
    Potrzebuje też dokończyć dwa comboboxy o etykietach "miejsce pobrania i próbki pobrał". Myślę że opisałem wyraźnie o co mi chodzi.
    po otwarciu pliku wszystko będzie jasne mam taką nadzieje.
    Proszę o pomoc, bo sam nie mogę rozgryźć już tego problemu, a nie jestem aż tak dobry w programowaniu VBA.

    0 8
  • #2 31 Sie 2018 12:58
    Prot
    Poziom 32  

    W-WZ napisał:
    Mam taki problem z kodem VBA kalendarza w formularzu

    Zanim zaczniesz kombinować z kodem kalendarza, najpierw usuń wszystkie błędy formatowania dat w arkuszu, oraz skoryguj działanie Twojego formularza. :D
    Na pierwszy rzut oka widać pomieszanie formatów - proponuje wykorzystać jeden format systemowy (no jeśli z RPA :?: - to jeden ale wszędzie :D )
    Formularz z kalendarzem VBA2018-08...png Download (86.24 kB)
    To ryzykowne kodowanie - uzależnienie kilku akcji od zmiany jednego jednego TextBoxa :|
    Formularz z kalendarzem VBA2018-08-3..1).png Download (85.03 kB)

    0
  • #3 31 Sie 2018 17:18
    W-WZ
    Poziom 3  

    Bez urazy
    Dobrze jest w ten sposób tłumaczyć kto zna język VBA i posługuje się biegle językiem angielskim, ja niestety tych umiejętności nie posiadam bo uczono mnie j. rosyjskiego.
    Po prostu formularz stworzyłem sam, może nie wszystko dobrze wykonałem, ale robiłem z myślą że
    może mi się uda, niestety poległem na kodach bo okazało się ze jest to za trudne dla mnie.
    Co do formatów dat, to w mojej tabeli ustawiam format „ rrrr-mm-dd” i po kliknięciu ZAPISZ,
    zapisuje mi w kolumnach – data przyjęcia, i data badania w formacie „rrrr-dd-mm”, natomiast w kolumnie data przyjęcia format „mm-dd-rrrr).
    Jeżeli chodzi o kod, to powstawiane są formary dat „yyyy-mm-dd”, i właśnie o taki format dat mi chodzi, a u mnie dzieją się takie cyrki których nie rozumie, wybierając w kalendarzu datę dni od 1 do 12 dnia zapisuje mi w formularzu datę w formacie yyyy-dd-mm, a od 13 dnia wpisuje się poprawnie w formularzu i w tabeli, jedynie w kolumnie data przyjęcia zmienia mi format na dd-mm-rrrr.
    Jeżeli ktoś wie ja kto zrobić i wyjaśni mi tak łopatologicznie co i w którym miejscu wpisać, to może podołam temu zadaniu.
    Pozdrawiam

    Dodano po 6 [minuty]:

    Dodam jeszcze że te kody napisała mi osoba z którą na razie nie mam kontaktu,
    i nie wiem kiedy wróci, a mam jeszcze kilka dni żeby to zrobić.

    0
  • #4 31 Sie 2018 18:39
    walsydalw
    Poziom 8  

    Myślę że Prot nie przeanalizował dobrze twojego problemu.
    Prawdopodobnie wystarczy zmienić format dat w systemie, ścieżka do zmiany formatu - panel sterowania- ustawienia dodatkowe-zakładka daty.
    I wpisać żądany format, będzie ok.

    0
  • #5 31 Sie 2018 18:56
    W-WZ
    Poziom 3  

    Śliczne dzięki udało się, zmieniłem formaty w systemie i daty zapisują się prawidłowo.
    A co można zrobić z listami rozwijanymi w formularzu żeby mi pokazywały dane z listy na górze obok tabeli. chodzi mi o miejsce pobrania i próbki pobrał.

    Czy ktoś mi pomoże w tym temacie.

    pozdrawiam

    0
  • Pomocny post
    #6 31 Sie 2018 23:09
    Prot
    Poziom 32  

    W-WZ napisał:
    Proszę o pomoc, bo sam nie mogę rozgryźć już tego problemu

    Dlatego podpowiadam gdzie widzę źródło potencjalnych błędów, żebyś mógł samodzielnie je wyeliminować. Bez względu jakiego uczyłeś się języka w szkole :D - odnośnie Excela i VBA musisz zapamiętać, że program zawsze operuje datą jako wartością liczbową (np. dzisiejsza data dla niego to zawsze będzie 43343 :!: ), bez względu na to jak ona poprzez narzucone formatowanie na zewnątrz będzie prezentowana ("rrrr-mm-dd", czy "dd.mm.rrrr") :idea:
    I musisz w całym swoim projekcie to ujednolicić :cry:

    W-WZ napisał:
    formularz stworzyłem sam

    Szacun :!: :D Jeśli teraz wyszukasz błędy, którymi sypie kod formularza (np ten na moim zrzucie :cry: ) i je wyeliminujesz - to Twoja satysfakcja będzie pełna :D
    Ja z badania betonów jestem "beton" :D i nie wiem dokładnie co Ty chcesz przez ten formularz uzyskać - być może błąd, który mi wyskoczył wynika z moich braków merytorycznych :cry:
    Proponuję do analizy kodu tego formularza pełniej wykorzystać edytor MVB :idea:
    W kodzie każdej kontrolki wstaw sobie po jednym breakpoint-cie i w ten sposób wypełniając formularz - zweryfikujesz prawidłowość działania całego kodu. :idea:

    Dodano po 3 [godziny] 39 [minuty]:

    W-WZ napisał:
    A co można zrobić z listami rozwijanymi w formularzu

    We właściwościach poszczególnych kontrolek musisz wprowadzić odpowiedni RowSource np dla "Próbki pobrał" wstaw 'PRZYJĘCIE_PRÓBEK'!AB6:AB12 :spoko:

    0
  • #7 03 Wrz 2018 18:17
    W-WZ
    Poziom 3  

    Doszedł jeszcze jeden problem, przy wypisaniu formularza i kliknięciu zapisz w arkuszu zapisuje tylko dużymi literami,
    Siedzę już kilka dni nad tym i nie mogę załapać co jest tego przyczyną.
    Czy mogą też być złe ustawienia system jak w przypadku dat, czy jest tego inna przyczyna.
    Proszę o pomoc.

    0
  • #9 03 Wrz 2018 22:32
    W-WZ
    Poziom 3  

    Dzięki nie wiedziałem że to takie proste wystarczyło usunąć UCase i nawias. :D

    0