🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
9 messages
9 total messages Started by xyzeniks@gmail.c Thu, 15 Dec 2016 23:58
Uruchomianie kwerendy z poziomu VBA / najkorzystniejsza metoda /
#133882
Author: xyzeniks@gmail.c
Date: Thu, 15 Dec 2016 23:58
60 lines
2741 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 /
#133883
Author: zen
Date: Fri, 16 Dec 2016 01:16
23 lines
1012 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 /
#133885
Author: Zbigniew Bratko
Date: Sat, 17 Dec 2016 10:42
62 lines
2198 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 /
#133886
Author: zen
Date: Sat, 17 Dec 2016 14:12
67 lines
2885 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 /
#133887
Author: zen
Date: Mon, 19 Dec 2016 11:59
14 lines
658 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 /
#133888
Author: Zbigniew Bratko
Date: Mon, 19 Dec 2016 21:47
27 lines
962 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 /
#133889
Author: zen
Date: Thu, 22 Dec 2016 13:46
81 lines
3219 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 /
#133890
Author: Zbigniew Bratko
Date: Fri, 23 Dec 2016 10:34
39 lines
1300 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 /
#133894
Author: zen
Date: Mon, 09 Jan 2017 01:29
37 lines
1399 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