🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
3 messages
3 total messages Started by KS Fri, 20 Mar 2015 21:31
Przeniesienie rekordu z tabeli do innej abel
#136852
Author: KS
Date: Fri, 20 Mar 2015 21:31
13 lines
1241 bytes
Witam,

Jak najprościej przenieść rekord z tabeli do innej tabeli?
Najlepiej przy użyciu ADO.

Wiem ze mogę np.
utworzyć rekord w docelowym rst poprzez addnew i wypełnić pola 
wartościami ze starego "na piechotę"
Nie można tak jakoś żeby dokładnie skopiować rekord bez zagłębiania się 
w pola? Obie tabele maja identyczną strukturę.

Pozdrawiam
K.S.
Re: Przeniesienie rekordu z tabeli do innej abel
#136853
Author: Zbigniew Bratko
Date: Sat, 21 Mar 2015 08:48
25 lines
1595 bytes
W dniu 20-03-2015 22:31, KS pisze:
> Witam,
>
> Jak najprościej przenieść rekord z tabeli do innej tabeli?
> Najlepiej przy użyciu ADO.
>
> Wiem ze mogę np.
> utworzyć rekord w docelowym rst poprzez addnew i wypełnić pola
> wartościami ze starego "na piechotę"
> Nie można tak jakoś żeby dokładnie skopiować rekord bez zagłębiania się
> w pola? Obie tabele maja identyczną strukturę.
>

A coś takiego:

sSQL = "INSERT INTO TwojaTabelaDocelowa SELECT * FROM 
TwojaTabelaZrodlowa WHERE JakisTwojWarunekWybierajacyRekord(y);"
CurrentDb.Execute sSQL, dbFailOnError


-- 
Pozdrowienia
BraZby
www.faq.accdb.pl/
www.acc97.accdb.pl/
Re: Przeniesienie rekordu z tabeli do innej abel
#136854
Author: KS
Date: Sun, 22 Mar 2015 20:17
46 lines
2770 bytes
W dniu 2015-03-21 o 09:48, Zbigniew Bratko pisze:
> W dniu 20-03-2015 22:31, KS pisze:
>> Witam,
>>
>> Jak najprościej przenieść rekord z tabeli do innej tabeli?
>> Najlepiej przy użyciu ADO.
>>
>> Wiem ze mogę np.
>> utworzyć rekord w docelowym rst poprzez addnew i wypełnić pola
>> wartościami ze starego "na piechotę"
>> Nie można tak jakoś żeby dokładnie skopiować rekord bez zagłębiania się
>> w pola? Obie tabele maja identyczną strukturę.
>>
>
> A coś takiego:
>
> sSQL = "INSERT INTO TwojaTabelaDocelowa SELECT * FROM
> TwojaTabelaZrodlowa WHERE JakisTwojWarunekWybierajacyRekord(y);"
> CurrentDb.Execute sSQL, dbFailOnError
>
>

Dzieki! O take coś chodziło:-). Własnie napisałem funkcję przenoszącą 
rekord z tabeli do innej tabeli. Czyli pierw Inser Into a potem Delete 
na tabeli źródłowej.
Całość objąłem transakcją po wykonaniu sprawdzam ilość rekordów w tabeli 
źródłowej i docelowej oraz wartość która jest sumą pola cena.
I o ile w przypadku ilosci rekordów wszystko jest ok to sprawdzanie 
wartości za pomocą porównania w stylu :

if(wartośćTabeliŹródłowejPrzedPrzeniesieniem+WartośćTabeliDocelowejPrzedPrzeniesieniem=
WartośćTabeliŹródłowejPoPrzeniesieniu+WartośćTabeliDocelowejPOPrzeniesieniu)=true 
then
msgbox"wszystko ok"
else
msgbox"cośźle"
end if

Daje mi false bo mam powstają jakieś różnice na którymś miejscu po 
przecinku.
Pole cena jest zmiennoprzecinkowe a tabele mają razem ponad 600k 
rekordów. Rowiązałem to tak że sprawdzam czy różnica nie jest większa 
niż 0.01 co mi wystarcza, ale to trochę mnie to zaskoczyło że są różnice.

Pozdrawiam
K.S.
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