Thread View: pl.comp.bazy-danych.msaccess
9 messages
9 total messages
Started by xyzeniks
Fri, 16 Dec 2016 07:58
Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: xyzeniks
Date: Fri, 16 Dec 2016 07:58
Date: Fri, 16 Dec 2016 07:58
39 lines
3492 bytes
3492 bytes
Witam jestem zainteresowany wykorzystaniem Accessa do liczb konkretnie do MiniLotto . Na przeszkodzie stoi słaba znajomość
Accessa VBA i SQL .
------------------------
Przy pomocy konwersji Makra na Moduł uzyskałem
następujący kod
>>
Option Compare Database
' DK2
Function DK2()
On Error GoTo DK2_Err
DoCmd.OpenQuery "K2", acViewNormal, acEdit
DoCmd.RunSQL "SELECT LA.K, FU.P1, FU.P2, FU.P3, FU.P4 FROM FU INNER JOIN LA ON FU.[ALL] = LA.[2] WHERE (((FU.P1)=0)) OR (((FU.P2)=2)) OR (((FU.P3)=1)) OR (((FU.P4)=9)); ", -1
' tu miejsce na export do TXT
' DoCmd.Save acQuery, "K2"
DK2_Exit:
Exit Function
DK2_Err:
' MsgBox Error$
Resume DK2_Exit
End Function
<<
Chodzi o to że
Kod wywala się błędem w linii >> DoCmd.RunSQL "SELECT.......... << o treści "Akcja uruchomSQL wymaga argumentu skladającego się z SQL"
Usiłowałem korzystając z porad Pani KarolinyVB tu http://www. ___ coderscity.pl/ftopic719.html wdrożyć inne warianty lecz jestem w tym zbyt słaby
/Nie wiem jak grupa odnosi się do linkowania na inne strony dlatego adres przedzieliłem >> ___<< /
Teraz napiszę co chciałem aby się wykonało .
W excelu otrzymuję jakieś parametry które dość sprytnie wplecione w tekst dają razem kod .Kod ten wklejam do modułu Accessa i oczekuję żeby otworzyły się
kolejno kwerendy zapisały i... od razu wyeksportowały do TXT /tę czynność jeszcze tu nie eksponuję bo jej jeszcze nie ruszyłem jak się zapoznam to dopiszę .
później jednym modułem pozamykam wszystkie otwarte kwerendy lub po udanym eksporcie do txt każdą indywidualnie zamknę
Kwerenda powinna pokazywać i eksportować do TXT tylko jedno pole .
W powyżej zamieszczonym kodzie pokazuję tylko jedną kwerendę
Prośba
Czy mógłby ktoś z szanownych Państwa dopomóc w pokonaniu tej przeszkody w kwerendzie tak aby się wykonywała i jeśli można żeby żadne komunikaty nie
zatrzymywały takiej wielozadaniowej kwerendy / Najwyżej jak coś źle to niech się :"kwerenda wywali " /
Pozdrawiam
zen
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: zen
Date: Fri, 16 Dec 2016 09:16
Date: Fri, 16 Dec 2016 09:16
11 lines
2144 bytes
2144 bytes
Czytając tu starsze posty czuję że powinienem nieco doprecyzować W Accessie obracam się tylko w obszarach Tabel, Kwerend ,Makr i Modułów jako że dużo przetwarzam w excelu i TXT Stąd określenie recordset jest mi obce i niezrozumiałe /bo chyba dotyczy raportów i formularzy / Kwerenda o której piszę wyżej to Wybierająca z kryteriami /ale to chyba wprawne oko samo wychwyci / Moja skłonność do komplikacji podsunęła mi nieco okrężną drogę tzn . po to aby pousuwać Duplikaty ze wszystkich tak utworzonych kwerend chciałem je wyeksportować do TXT i tamże je oczyścić z powtórek . Podczas gdy można by pomyśleć o dołączaniu kwerend do jednej i dopiero wtedy w Accessie usunąć duplikaty . /To taka moja dywagacja nt. tego do czego dążę/ Pozdrawiam zen
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: Zbigniew Bratko
Date: Sat, 17 Dec 2016 09:42
Date: Sat, 17 Dec 2016 09:42
63 lines
3227 bytes
3227 bytes
W dniu 2016-12-16 o 08:58, xyzeniks@gmail.com pisze: > Witam jestem zainteresowany wykorzystaniem Accessa do liczb konkretnie do MiniLotto . Na przeszkodzie stoi słaba znajomość Jeśli mogę zgadywać, czy rozpracowujesz wyniki MiniLotto ? Przybliż nieco temat, to może będzie łatwiej Ci coś doradzić. > Accessa VBA i SQL . > ------------------------ > Przy pomocy konwersji Makra na Moduł uzyskałem > następujący kod [...] > DoCmd.OpenQuery "K2", acViewNormal, acEdit > DoCmd.RunSQL "SELECT LA.K, FU.P1, FU.P2, FU.P3, FU.P4 FROM FU INNER JOIN LA ON FU.[ALL] = LA.[2] WHERE (((FU.P1)=0)) OR (((FU.P2)=2)) OR (((FU.P3)=1)) OR (((FU.P4)=9)); ", -1 > ' tu miejsce na export do TXT DoCmd.RunSQL Method (Access) https://msdn.microsoft.com/en-us/library/office/ff194626(v=office.15).aspx SQLStatement .... Description [...] Najlepiej zacznij od początku. Otwórz sobie nową kwerendę. W oknie dialogowym "Pokazywanie tabel" nie wybieraj nic. Po prostu zamknij okno dialogowe, przełącz się na widok SQL i wklej SQL Twojej kwerendy. SELECT LA.K, FU.P1, FU.P2, FU.P3, FU.P4 FROM FU INNER JOIN LA ON FU.[ALL] = LA.[2] WHERE (((FU.P1)=0)) OR (((FU.P2)=2)) OR (((FU.P3)=1)) OR (((FU.P4)=9)); Potem spróbuj przełączyć się na widok arkusza danych. I popatrz co Ci zakomunikuje Access. > > Teraz napiszę co chciałem aby się wykonało . > W excelu otrzymuję jakieś parametry które dość sprytnie wplecione w tekst dają razem kod .Kod ten wklejam do modułu Accessa i oczekuję żeby otworzyły się Mógłbyś przybliżyć nieco temat: "W excelu otrzymuję parametry które dość sprytnie wplecione w tekst dają razem kod". [...] > > Prośba > Czy mógłby ktoś z szanownych Państwa dopomóc w pokonaniu tej przeszkody w kwerendzie tak aby się wykonywała i jeśli można żeby żadne komunikaty nie > zatrzymywały takiej wielozadaniowej kwerendy / Najwyżej jak coś źle to niech się :"kwerenda wywali " / Najpierw spróbuj z innymi kwerendami zrobić tak jak pisałem. Jeżeli wszystkie się wykonają, to przyjdzie czas na następny etap ;-) -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: zen
Date: Sat, 17 Dec 2016 22:12
Date: Sat, 17 Dec 2016 22:12
47 lines
3608 bytes
3608 bytes
BraZby
Dziękuję za tak wyczerpującą odpowiedź.
Na razie tylko cokolwiek nakreślę .To co chcę zrobić opiera się
na programie do gier losowych Lotto Cad .
W nim jest taki moduł który nazywa się Supermapą ; pozwalający na
zwielokrotnienie / jakby / bazy losowań dzięki użytym tam funkcjom . // takich
alternatywnych baz mógłbym zrobić kilkadziesiąt na początek używam 4 , stąd P1, P2 , P3 i P4 //
Z drugiej strony chciałbym zmierzyć jakość i skuteczności a odnieść to
w stosunku do pogrupowanych losowo pozycji tzn jaka funkcja
najczęściej wybiera jaką grupę z pozycjami
Wiem jeszcze to brzmi enigmatycznie a na dodatek jest to faza koncepcyjna
postaram się zamieścić jakiś obrazek .
----
Druga sprawa to jest to że wszelkie obliczenia robię w excelu czyli dostaję jaikeś parametry
które mogę użyć w Accessie żeby nie powielać pewnych czynności . to
w Accesowe moduły wklejam kod jaki uzyskuję w Excelu
To proste Opierając się na powyższym kodzie
mamy np stałą część kodu do miejsca .Złóżmy że wszystkie składowe elementy kodu będą
w kolumnie A od A11
A11 SELECT LA.K, FU.P1, FU.P2, FU.P3, FU.P4 FROM FU INNER JOIN LA ON FU.[ALL] = LA.[
potem jest liczba np z wyliczeń która "siedzi" w np komórce E22 więc
A12 = E22
A13 ] WHERE (((FU.P1)= ' to następna stała część kodu
potem jest liczba z komórki G23 więc
A14 = G23
A15 )) OR (((FU.P2)=
itd
Potem w nowej linii formułą z &
=A11&A12&A13&A14 &A15& ... itd otrzymujemy najważniejszą i zaktualizowaną część kodu którą
wraz z ze stałymi "przydatkami nad i pod kopiujemy do modułu ACC .
Postaram się w poniedziałek wrócić do zaległych wyjaśnień Przepraszam że na razie tylko pobieżnie
Jeszcze raz dziękuję za odpowiedź i proszę o wyrozumiałość gdyż niektórych terminów nie znam
albo często mam błędną wiedzę o nich .
Pozdrawiam
zen
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: zen
Date: Mon, 19 Dec 2016 19:59
Date: Mon, 19 Dec 2016 19:59
10 lines
1805 bytes
1805 bytes
Witam usiłowałem wkleić tu obrazek JPG dot. źródła moich danych; niestety nie mogę znaleźć takiej opcji .. Rzeczywiście w ACCESSIE muszę pójść za radą BraZby i wszystko zrobić od początku za dużo widzę tu swoich błędów technicznych i merytorycznych . Długa droga przede mną . Liczę ze po pokonaniu tych przeszkód czegoś się może nauczę . Pozdrawiam zen /w między czasie spróbuję podpatrzeć jak tu realizowane jest umieszczanie obrazków ./
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: Zbigniew Bratko
Date: Mon, 19 Dec 2016 20:47
Date: Mon, 19 Dec 2016 20:47
28 lines
1979 bytes
1979 bytes
W dniu 2016-12-19 o 20:59, zen pisze: > Witam > usiłowałem wkleić tu obrazek JPG dot. źródła moich danych; niestety nie mogę znaleźć takiej opcji .. Nie da rady cokolwiek wkleić. Musisz gdzieś na jakimś darmowym serwerze wstawić obrazek i podać link. > Rzeczywiście w ACCESSIE muszę pójść za radą BraZby i wszystko zrobić od początku za dużo widzę tu swoich błędów technicznych i merytorycznych . > Długa droga przede mną . > Liczę ze po pokonaniu tych przeszkód czegoś się może nauczę . Z tego co pobieżnie przeczytałem, wydaj mi się że masz zestaw liczb wylosowanych w MiniLotto i próbujesz znaleźć pewne prawidłowości (ciepłe i zimne okresy), wzajemne występowanie par itp. Jeśli tak, to w miarę możliwości spróbuję Ci pomóc. > /w między czasie spróbuję podpatrzeć jak tu realizowane jest umieszczanie obrazków ./ -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: zen
Date: Thu, 22 Dec 2016 21:46
Date: Thu, 22 Dec 2016 21:46
55 lines
4224 bytes
4224 bytes
Witam trochę musiałem sobie poprzypominać jak działa ImageShack /tu też się zmieniło Nie mam pewności czy to co czynię będzie wystarczające /nie mam wprawy / zacznę od rysunków http://imageshack.com/a/img922/2567/EZ7whR.jpg Acc dla LC to link związany z tym wątkiem na bazie tego chciałem robić kwerendę Poniżej będą linki poglądowe dające obraz tego modułu z programu Lotto Cad http://imageshack.com/a/img922/7104/NoIEDs.jpg nastawy http://imageshack.com/a/img924/9954/PqXWGq.jpg Mapa Zbiorów http://imageshack.com/a/img924/8568/nNWIus.jpg raporty http://imageshack.com/a/img924/1425/GLi8pu.jpg equalizer 1) Nastawy dają pogląd możliwości budowania alternatywnych baz tzn pokazuję że można " do obiegu " wprowadzić jeszcze kilkadziesiąt baz losowań Po Co ? To to aby mieć lepszy wybór i nie czekać zbyt długo na oczekiwany układ . 2) Mapa zbiorów to "codzienny " raczej >>co losowaniowy<< układ położeń trafień . 3) Raporty wyświetlane pod Mapą Zbiorów i w plikach txt 4) Eqalizer to przykład pewnej wizualizacji gdzie widać generalnie 2 stany GORĄCE I ZIMNE Uwaga poniższe rozważania dotyczyć będą raczej pozycji liczb trafionych a nie samych liczb bo liczby tu są te same / chodzi o to że funkcje widoczne w screenie Nastawy umieszczają liczby na różnych pozycjach . jeśli się temu dobrze przyjrzeć to są takie układy w których uczestniczy b. mało liczb / np pozycja 2 i 18 dała " jednostronnie //2 z lewej a 18 z prawej dość dużo zimnych liczb // Proszę również zwrócić uwagę na czarne kratki środkujące jako pomocniczy punkt odniesienia . ------------------------------------------------------------------------ Z powyższego opisu muszą rodzić się pytania Którą funkcję wybrać kiedy na nią zagrać Co może być zwiastunem prawidłowego wyboru żeby się "wstrzelić " oczekiwany układ ----------------------------------------------- Jeśli chodzi o meritum tego tematu to moim celem jest zbudowanie dużej bazy składającej się z wielu baz pochodzących od różnych funkcji po to aby uzyskać odpowiedź; Która funkcja i kiedy może być najlepsza ?! . ------------------------------- Teraz nastał taki okres że na wszystko czasu mało A propos tego czasu. Zdrowych Wesołych Świąt .Wszystkiego najlepszego . Wszystkim --------------- Pozdrawiam zen
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: Zbigniew Bratko
Date: Fri, 23 Dec 2016 09:34
Date: Fri, 23 Dec 2016 09:34
40 lines
2339 bytes
2339 bytes
W dniu 2016-12-22 o 22:46, zen pisze: > Witam > trochę musiałem sobie poprzypominać jak działa ImageShack /tu też się zmieniło > Nie mam pewności czy to co czynię będzie wystarczające /nie mam wprawy / > > zacznę od rysunków > > http://imageshack.com/a/img922/2567/EZ7whR.jpg Acc dla LC > to link związany z tym wątkiem na bazie tego chciałem robić kwerendę > [...] > > ----------------------------------------------- > Jeśli chodzi o meritum tego tematu to moim celem jest zbudowanie dużej bazy składającej się z wielu baz pochodzących od różnych funkcji > po to aby uzyskać odpowiedź; > Która funkcja i kiedy może być najlepsza ?! . > ------------------------------- Mówiąc o bazach, masz chyba na myśli zbudowanie dużej tabeli składającej się z wielu tabelek prezentowanych pod pierwszym linkiem Acc dla LC. A spróbuj stworzyć kwerendę opartą na kilku różnych tabelach "LA" i powiąż je relacjąmi Pozycja---Pozycja. Kwerenda taka powinna Ci zawsze zwrócić 42 rekordy, a ilość kolumn zależna będzie od ilości tabel "LA". A potem to chyba wybieranie poszczególnych rekordów z takiej tabeli w oparciu o tabelki "FU". [...] -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Re: Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
Author: zen
Date: Mon, 09 Jan 2017 09:29
Date: Mon, 09 Jan 2017 09:29
26 lines
2681 bytes
2681 bytes
>> > Mówiąc o bazach, masz chyba na myśli zbudowanie dużej tabeli > składającej się z wielu tabelek prezentowanych pod pierwszym linkiem > Acc dla LC. > > A spróbuj stworzyć kwerendę opartą na kilku różnych tabelach "LA" i > powiąż je relacjąmi Pozycja---Pozycja. > Kwerenda taka powinna Ci zawsze zwrócić 42 rekordy, a ilość kolumn > zależna będzie od ilości tabel "LA". > > A potem to chyba wybieranie poszczególnych rekordów z takiej tabeli w > oparciu o tabelki "FU". << BraZby na wstępie pragnę przeprosić iż dopiero mogę odpowiedzieć i za czas jaki upłynął od Twojej odpowiedzi .Po świętach i Nowy Rok i kilka dni po spędziłem >> na białej sali<< czyli w szpitalu . -------------------- Dziękuję za tę sugestię tworzenia kwerendy Pozycja Pozycja Tak mówiąc o bazach miałem na myśli to co widać na pierwszym screenie - Każda kolumna to jakby inna baza losowań /tu byłem dość nieprecyzyjny powinienem w tym przypadku podkreślić BAZY LOSOWAŃ zwłaszcza w środowisku BAZ DANYCH / Dziękuję i Pozdrawiam zen
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