MMORPG.pl https://mmorpg.pl/ |
||
VBA SQL i recordy https://mmorpg.pl/viewtopic.php?f=18&t=41156 |
Strona 1 z 1 |
Autor: | candidoser [ 13 cze 2012, 10:23 ] |
Tytuł: | VBA SQL i recordy |
Sprawa wyglada tak: wyciagam dane z dwoch roznych baz danych. Zapisuje to do dwoch Recordset. Teraz chcialbym znalezc wszystkie pozycje z drugiego rekordu, ktore nie wystepuje w pierwszym. Oczywiscie mozna to zrobic w petli porownujac kazda pozycje, ale pewnie da sie to zrobic za pomoca SQL (jakis JOIN?). Nie wiem tylko jak operowac SQL-em na rekordach. Calosc w VBA. |
Autor: | kamilus [ 13 cze 2012, 11:17 ] |
Tytuł: | Re: VBA SQL i recordy |
SELECT * FROM baza1.ab WHERE val NOT IN (SELECT val FROM baza2.ab WHERE 1) Zakładam, że możesz w VBA wykonywać zapytania SQL. Nie wiem jak to generalnie w VBA działa, bo nie korzystałem nigdy, ale jeśli możesz operować na SQL to to da radę. Możliwe, że będziesz musiał jeszcze pokombinować z połączeniami i jeśli bazy stoją na oddzielnych maszynach to będzie to troszkę trwało. Takie rozwiązanie na szybko. Pewnie da się to zrobić wydajniej, ale... przedstawię to w formacie pseudokodu, bo VBA nie znam: Kod: $rowset = query(SELECT val FROM baza2.ab WHERE 1);
while($rowset) { $array.add($rowset.val); if(!$rowset.first) $string = $string + ',' + $rowset.val; else $string = $rowset.val; } query(SELECT val FROM baza1.ab WHERE val NOT IN ($string)); |
Autor: | candidoser [ 13 cze 2012, 15:32 ] |
Tytuł: | Re: VBA SQL i recordy |
Dzieki. Co prawda kod nie jest dla mnie do konca jasny, ale chyba dzieki temu wpadlem na pewien pomysl. |
Autor: | Loki [ 15 cze 2012, 17:42 ] |
Tytuł: | Re: VBA SQL i recordy |
albo left join i sprawdzasz ktore zwracane z drugiej tabeli sa nullem. |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | Copyright © 2001-2012 MMORPG.pl Team |