Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

jak za pomocą vba uruchomić kwerende

912 views
Skip to first unread message

Robert Ch

unread,
Dec 4, 2006, 5:56:20 AM12/4/06
to
jak za pomocą vba uruchomić kwerende aby na jej zestawie rekordów dokonać
obliczeń

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Piotr Lipski

unread,
Dec 4, 2006, 6:08:35 AM12/4/06
to
On Mon, 4 Dec 2006 10:56:20 +0000 (UTC), Robert Ch wrote:

> jak za pomocą vba uruchomić kwerende aby na jej zestawie rekordów dokonać
> obliczeń

Jakiego typu jest ta kwerenda? Wybierająca? Aktualizująca? Tworząca tabelę?
Pass-through?

--
PL

Robert Ch

unread,
Dec 4, 2006, 7:09:22 AM12/4/06
to
Piotr Lipski <piotr....@nie.p0czta.spamuj.bo.onet.w.ryj.pl> napisał(a):

Jest to kwerenda sumująca z której chcę pobrać wartości
Konkretnie z pola w wyższym rekordzie pobrać wartość i odjąc od pola w
niższym i tak poprzez wszystkie rekordy kwerendy

Robert Ch

unread,
Dec 4, 2006, 7:10:39 AM12/4/06
to
Piotr Lipski <piotr....@nie.p0czta.spamuj.bo.onet.w.ryj.pl> napisał(a):

> Dodam jeszcze że kwerenda sumuje wartości po polu data

Piotr Chlabicz

unread,
Dec 4, 2006, 7:29:01 AM12/4/06
to
"Robert Ch" wrote

>> > jak za pomocą vba uruchomić kwerende aby na jej zestawie rekordów
> dokonać
>> > obliczeń
>>
>> Jakiego typu jest ta kwerenda? Wybierająca? Aktualizująca? Tworząca
>> tabelę?
>> Pass-through?

>> Dodam jeszcze że kwerenda sumuje wartości po polu data


Poczytaj o Recordset'ach

--
Piotr Chlabicz
http://groups.google.pl/groups?as_ugroup=pl.comp.bazy-danych.msaccess


Robert Ch

unread,
Dec 4, 2006, 10:44:13 AM12/4/06
to
Dzięki ale to juz przerabiam z 4 książek i nic mi z tego nie wychodzi moze
ktos by mógł podrzucić mi jakąś składnie

Grzegorz Danowski

unread,
Dec 4, 2006, 11:34:56 AM12/4/06
to
"Robert Ch" <crob...@WYTNIJ.gazeta.pl> wrote in message
news:el1fod$l55$1...@inews.gazeta.pl...

> Dzięki ale to juz przerabiam z 4 książek i nic mi z tego nie wychodzi moze
> ktos by mógł podrzucić mi jakąś składnie

Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("NazwaTwojejKwerendy")

lub ADO:
Dim rst As ADODB.Recordset
Set rst = CurrentProject.Connection.Execute("NazwaTwojejKwerendy")

Pozdrawiam
Grzegorz

Robert Ch

unread,
Dec 4, 2006, 11:48:59 AM12/4/06
to
Dzięki
To spowoduje wykonanie kwerendy a ja chce dokonać operacji na rekordach przez
nią zwroconych chyba ze jest jakis inny sposób zeby od pola znajdującego się
we wczesniejszym wierszu zwroconym przez kwerende pobrac wartosc i odjac od
pola w następnym rekordzie

Hubert Schwarz

unread,
Dec 4, 2006, 12:54:15 PM12/4/06
to
> To spowoduje wykonanie kwerendy
Ależ Robercie, żeby otrzymać jakiekolwiek rekordy (wiersze), MUSISZ wykonać
kwerendę.
Rekordy bez kwerendy to tabela.

>a ja chce dokonać operacji na rekordach przez

No i OK, kwerenda świetnie się tu sprawdzi.

Do kodu Grzegorza Danowskiego:


Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("NazwaTwojejKwerendy")

możesz dodać coś takiego:
dim i as long ' sprawdź, czy Twoje dane to long czy inny format
if rst.EOF then goto koniec

rst.movefirst
i=rst!pole_z_liczbą
rst.movenext
Do until rst.eof
i=i-rst!pole_z_liczbą
rst.movenext
loop
rst.close
set rst=nothing

Czy dobrze rozumiem, że potrzebne Ci są też wyniki po przeliczeniu każdego
rekordu? Czy tylko różnica pierwszego rekordu i sumy pozostałych?

--
pozdrawiam,

Hubert Schwarz


Robert Ch

unread,
Dec 4, 2006, 2:02:58 PM12/4/06
to
Hubert Schwarz <hyper...@onet.eu> napisał(a):

pobieram wartość z wyższego i odejmuję od wartości niższego itd
A czy da się za pomoćą kodu wstawić kolejne pole tekstowe zeby w nim została
wyswietlona liczba w ten sposób obliczona?
I dzięki za pomoc

Hubert Schwarz

unread,
Dec 4, 2006, 2:52:50 PM12/4/06
to
> A czy da się za pomoćą kodu wstawić kolejne pole tekstowe zeby w nim
> została
> wyswietlona liczba w ten sposób obliczona?
> I dzięki za pomoc

Oczywiście, że można (w formie lub raporcie), ale jeszcze lepiej utworzyć na
formularzu pole tekstowe ze źródłem danych: funkcją obliczającą dla każdego
rekordu z osobna.
Przy dużej ilości rekordów zastanowiłbym się jednak nad tymczasową tabelą.


--
pozdrawiam,

Hubert Schwarz


Robert Ch

unread,
Dec 4, 2006, 3:09:34 PM12/4/06
to
mam formulaż który jest oparty na kwerendzie sumującej po dacie; rekordów nie
bedzie wiele problem jest w tym że do wykonania określonego zadania potrzebne
mi są pewne zasoby i jeżeli nie wykorzystam całych zasobów przy zadaniu z
pierwszej daty czyli np zadanie 400 godzin zasoby 600 to 200 godzin pozostaje
mi do wykożystania więc bedzie realizowało następne zadanie z kolejnej daty i
nie potrafię pobrać wartości tej która mi pozostaje do następnego zadania
(czyli do rekordu określającego czas potrzebny do realizacji kolejnego
zadania) gdy wstawię pole nie związane to te wartości mi się wyliczą lecz w
ostatnia wartość zostaje wstawiona do wszystkich rekordów ale to juz chyba
maksymaklnie zagmatwałem ale jak do tej pory Jesteś cierpliwy za co dzięki

Przemysław Rachwał

unread,
Dec 4, 2006, 4:53:51 PM12/4/06
to
Robert Ch napisał(a):

> Dzięki ale to juz przerabiam z 4 książek i nic mi z tego nie wychodzi moze
> ktos by mógł podrzucić mi jakąś składnie
>
dlookup
dmax
dsum

etc.

prymitywne, ale dla ciebie wystarczy

0 new messages