Nieoficjalna polska strona Lineage 2

Offtopics => Komputery - Hardware, Systemy, Software => Wątek zaczęty przez: sobek w Marzec 04, 2015, 01:25:01 pm

Tytuł: Korespondencja seryjna
Wiadomość wysłana przez: sobek w Marzec 04, 2015, 01:25:01 pm
Cześć, zajmował się ktoś z Was tym tematem.

Chodzi mi o rozwiązanie np takie problemu.

1. Jest wzór umowy (docx)
2. Jest zrzut z bazy danych np xlsx albo csv
3. Baza zawiera np 800 klientów (NIP) które mają np 1000 budynków. (czyli zdarza się, iż jeden NIP ma 2-3 budynki)
4. Chodzi teraz o to aby w korespondencji seryjnej po wpisaniu NIP wpisała się data, nazwa firmy etc.... i teraz co istotne aby "skrypyt" wyszukał w bazie wszystkie adresy i wkleił np w formie tabeli. [czyli takie wyszukaj pionowo] wszystkie adresy dla danego NIP.

Ktoś coś takie robił? W jakim kierunku iść? w SQL? Macro w Excel? Access? ....

Tytuł: Odp: Korespondencja seryjna
Wiadomość wysłana przez: MastJedi w Marzec 04, 2015, 06:07:49 pm
Wszystko da się zrobic :P
VB na pewno można to zrobić. SQLem pewnie też :P Mój SQL albo VB sa na poziomie podstawowym, Accessa nie cierpię więc nie wybrał bym tych narzędzi. A jak u Ciebie z excelem?

To co Ciebie interesuje najbardziej - czyli vlookup z tabelą jako wynik osiągniesz w Excelu przy użyciu funkcji/makropoleceń tablicowych/macierzowych. Pogooglaj sobie i szukaj makropoleceń zawartych w nawiasach klamrowych {}. Efektem działania normalnego vlookupa jest jeden, pierwszy rekord spełniający warunek. Efektem {vlookupa} jest TABELA na której możesz jeszcze robić dodatkowe operacje - chociażby sortowac, wyciągac min/max/ średnia i takie tam pierdoły. W twoim przypadku użyłbyś {vlookup} do znalezienia wszystkich rekordów spełniających Twój warunek, - ten sam NIP i wyświetlenia go w formie tabeli. A potem użycie tej tabeli w korespondencji seryjnej.

Nie wiem, czy to będzie działać, ale ja próbowałbym w tym kierunku :)

Ewentualnie druga wersja - filtrowanie zaawansowane - tam masz możliwość uzyskania podobnego efektu. Tylko żeby toto użyć w korespondencji seryjnej zapewne i tak na końcu trzeba by sie pobawić makropoleceniami, a w ostateczności (dla mnie :P) VB.

Pozdrawiam
Tytuł: Odp: Korespondencja seryjna
Wiadomość wysłana przez: sobek w Marzec 06, 2015, 11:04:19 pm
Wszystko da się zrobic :P
VB na pewno można to zrobić. SQLem pewnie też :P Mój SQL albo VB sa na poziomie podstawowym, Accessa nie cierpię więc nie wybrał bym tych narzędzi. A jak u Ciebie z excelem?

To co Ciebie interesuje najbardziej - czyli vlookup z tabelą jako wynik osiągniesz w Excelu przy użyciu funkcji/makropoleceń tablicowych/macierzowych. Pogooglaj sobie i szukaj makropoleceń zawartych w nawiasach klamrowych {}. Efektem działania normalnego vlookupa jest jeden, pierwszy rekord spełniający warunek. Efektem {vlookupa} jest TABELA na której możesz jeszcze robić dodatkowe operacje - chociażby sortowac, wyciągac min/max/ średnia i takie tam pierdoły. W twoim przypadku użyłbyś {vlookup} do znalezienia wszystkich rekordów spełniających Twój warunek, - ten sam NIP i wyświetlenia go w formie tabeli. A potem użycie tej tabeli w korespondencji seryjnej.

Nie wiem, czy to będzie działać, ale ja próbowałbym w tym kierunku :)

Ewentualnie druga wersja - filtrowanie zaawansowane - tam masz możliwość uzyskania podobnego efektu. Tylko żeby toto użyć w korespondencji seryjnej zapewne i tak na końcu trzeba by sie pobawić makropoleceniami, a w ostateczności (dla mnie :P) VB.

Pozdrawiam

Excel w sumie jest dość ok ale niestety bez macro : /

Tak czy inaczej dzięki za podpowiedź. Mam co robić :D