Přejít na obsah


Fotka

Filtr podle množiny jmen


  • Pokud chcete vložit odpověď, přihlašte se
14 odpovědí na toto téma

#1 ToRo61

ToRo61

    Advanced Member

  • Members
  • PipPipPip
  • 505 příspěvků(y)

Publikováno 26 prosinec 2013 - 19:53

Mám v databázi vlastní množinu bodů (nejde o kešky). Společným rysem je to, že jsou pojmenovány jednotně 15-místným číslem. Občas by se mi hodil filtr, který by byl založen na množině jmen bodů, ( která je pokaždé jiná  ;) ) - něco jako v SQL zapsáno:
name in("jmeno8","jmeno2","jmeno7","jmeno1",...)

Vyfiltrované položky bych si pak otagoval.

Myslel jsem, že by mi pomohl SmartFilter, ale množina není interval.

Neměl by zde někdo pro mě nějakou radu? Díky předem.


Tento příspěvek byl upraven od ToRo61: 26 prosinec 2013 - 22:32

  • 0

#2 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 144 příspěvků(y)

Publikováno 26 prosinec 2013 - 21:00

Co je to za filtr, kdyz se pri kazdem spusteni zmeni ta mnozina? Jedina moznost je vytvorit si SQL a na tu mnozinu se vzdycky pred jeho spustnenim optat, mnozimnu do SQL dosadit a pak spustit. Da se to udelat pomoci Combine nebo si na to napsat jednoduchy skriptik.


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#3 ToRo61

ToRo61

    Advanced Member

  • Members
  • PipPipPip
  • 505 příspěvků(y)

Publikováno 26 prosinec 2013 - 21:36

No jo, nejde tedy o filtr ale adhoc výběr dle podmínky (to už je lepší, ne?)
Přes SQLi manager jsem schopen syntakticky správné SQL spustit a vrací mi i správnou množinu. Teď mě šlo o nějakou (polo)automatizaci.
Po Combine jsem taky pošilhával (většinou na Vánoce tvořím novou dávku :-)).
Myslel jsem, že by to šlo přes kategorii: Internal Comands->Databáze, ale tam jsou příkazy na přidání keší, ale já by chtěl výběr a zobrazení keší (v mém případě bodů).
Kompletní SELECT command jsem schopen předpřipravit do souboru. Mám akorát problém to SQL/soubor spustit.
Nebo jsi myslel to spustit přes 'Výsledek SQL uloží do proměnné'?


Tento příspěvek byl upraven od ToRo61: 26 prosinec 2013 - 22:32

  • 0

#4 petulinka1

petulinka1

    Advanced Member

  • Members
  • PipPipPip
  • 4 316 příspěvků(y)

Publikováno 26 prosinec 2013 - 22:27

Paklize chces body zobrazit podle toho, co ti SQL vytahne, tak pouzij proste SQLAdd, pripadne SQLFileAdd. ;)

 

Pokud by to nefungovalo, tak pouzij to, cos jmenoval, akorat je pak treba ulozit ID tech bodu do ggt (jedno ID na radek, zadny mezery ani jiny srandicky okolo kodu) a ggt nasledne nacist :)


  • 0

#5 tarmara

tarmara

    Air-cooled

  • Members
  • PipPipPip
  • 974 příspěvků(y)

Publikováno 27 prosinec 2013 - 8:31

pokud ti jde SQL pustit v nejakem SQLi manageru , tak si ji pak uloz do <nazev>.sql souboru a ten uloz do adresare SmartFiltru a spust to pak pres Vlastni SQL ve SF....pokud to vyhodi nejakou chybu, tak ti mozna chybi nejaka nalinkovana knihovna....ale i to se da vyresit.....kdyztakmi hod to sql do SZ a mrknu na to....


  • 0

#6 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 144 příspěvků(y)

Publikováno 27 prosinec 2013 - 15:46

No jo, nejde tedy o filtr ale adhoc výběr dle podmínky (to už je lepší, ne?)
...

Nebo jsi myslel to spustit přes 'Výsledek SQL uloží do proměnné'?

 

No, myslel jsem to napr. takto:

1. pomoci prikazu VarGetText si nacist seznam bodu

2. vytvriorit si spravny select a ulozit jej do promenne nebo do souboru

3. select spustit treba jednim z prikazu, co uvedla Petulinka

 

Ovsem neni mi moc jasne, k cemu je to dobre, kdyz stejne musis ID jednotlivych bodu zadavat rucne. To mi pripada rozumnejsi je jednotlive zadavat pres CTRL+G, kde navic klidne muzes vynechat treba prefix.


Tento příspěvek byl upraven od gord: 27 prosinec 2013 - 15:47

  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#7 ToRo61

ToRo61

    Advanced Member

  • Members
  • PipPipPip
  • 505 příspěvků(y)

Publikováno 27 prosinec 2013 - 23:36

Drobně jsem postoupil...

1) řešení se SmatFiltrem mě funguje, ale potřeboval bych to (polo)zautomatizovat. Musí se tam vybrat soubor s připraveným SQL apod. => to mi moc nevyhovuje... Combine by byl asi lepší.

 

2) Combine dávka za použití SQLAdd, resp. SQLFileAdd, mě funguje pokud ji aplikuji na 'řádné body'. Zkusil jsem třeba přes SQLAdd hledat waymark dle jeho názvu: "SELECT id  FROM geocache where name = "Kadov, okres Strakonice, CZ" a ten se v GG zobrazil.

Já chci ale pracovat s obecnými body - mám svou vlastní řadu ID formátu XYnnnnn, kde 'nnnn' je sekvenční řada čísel. Pokud SQLAdd zmodifikuji na "SELECT id  FROM geocache where name = "555444102724957" (tohle třeba SmartFilter zkousne), tak Combine dávka odrovná celý GeoGet - viz ->Combine_GG_crash.jpg

 

Vysvětlení pro gorda:

body mám sice v GG databázi, ale adhoc výběry chci dělat podle výstupu z Locusu, kde nemám ID bodů z GG. Potřebu/ideu mám takovou, že:

1) podle jmen bodů z Locusu zjistím v GG databázi ID těchto bodů

2) pak si tento výběr zobrazím (pokochám se jim :-)

3) a pak otaguji

Ideální práce pro Combine

Pokud by problém s pádem GG byl problém řešit, tak bych to obšel z Combine vyvolanou SQL dávkou (z BAT volání sqlite3.exe), které by mě vyrobilo GGT a s tímto bych pokračoval dále v Combine


Tento příspěvek byl upraven od ToRo61: 27 prosinec 2013 - 23:49

  • 0

#8 petulinka1

petulinka1

    Advanced Member

  • Members
  • PipPipPip
  • 4 316 příspěvků(y)

Publikováno 28 prosinec 2013 - 1:14

Tak jsem prisla na zajimavou vec - hledani podle nazvu mi funguje jedine za predpokladu, ze ID bodu zacina na GC (takze si myslim, ez to bude fungovat i u WM). GG mi to sice nesrazi, ale je to divny. Zkosuela jsem i LIKE a to v urictejch mezich funguje taky. Takze to je dotaz spis na Halumu.


  • 0

#9 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 144 příspěvků(y)

Publikováno 28 prosinec 2013 - 9:53

Na tu chybu v Combine se podivam, to by delat nemelo. Jen pro potvrzeni, jestli to dobre chapu:

 

pada to v pripade, ze sql hleda podle jmena bod, ktery v IG nezacina GC?


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#10 ToRo61

ToRo61

    Advanced Member

  • Members
  • PipPipPip
  • 505 příspěvků(y)

Publikováno 28 prosinec 2013 - 10:18

Ano, Combine+GG mi padá v případě dosazeni : "SELECT id  FROM geocache where name = "555444102724957".

do SQLAdd.

GeoGetí ID bodu je XY69438. A SmartFilter toto provádí OK.


  • 0

#11 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 144 příspěvků(y)

Publikováno 28 prosinec 2013 - 10:33

Tak jsem zkusil presne ten tvuj select a bez problemu mi to chodi (tedy presneji nepada mi to). Takze problem asi bude jinde. Muzes mi poslat primo tvoji davku nebo treba i najaky kus databaze, abych to mohl vyzkouset primo na tvych konkretnich datech?


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#12 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 144 příspěvků(y)

Publikováno 28 prosinec 2013 - 10:42

 

Jedine ... v souboru Combine.lib.pas jsou na radku 1760 nasledujici radky:

 

 if (IsValidGC(aList[i]) or IsValidWM(aList[i])) then begin
   GC.LoadByGC(aList[i]);
 end
   else begin
   GC.LoadByKey(StrToint(aList[i]));
 end;
 

Tady muze byt problem, kdyz to neni platny gc kod, tak prevadi na int. V tvem pripade zkus nechat jen radek

 

GC.LoadByGC(aList[i]);

 

 


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#13 ToRo61

ToRo61

    Advanced Member

  • Members
  • PipPipPip
  • 505 příspěvků(y)

Publikováno 28 prosinec 2013 - 11:12

Použití prostého GC.LoadByGC(aList[i]) zabralo. :)

Combine kombajnuje, GG nepadá a já jdu doladit celou dávku.

Díky moc za radu a pomoc.

 

P.S.

Asi na ten patch v Combine.lib.pas budu muset myslet při případném upgrade Combine, že?

 


  • 0

#14 petulinka1

petulinka1

    Advanced Member

  • Members
  • PipPipPip
  • 4 316 příspěvků(y)

Publikováno 28 prosinec 2013 - 11:24

Tipla bych si, ze to tam gord necha upraveny :) To omezeni je hovadina :P


  • 0

#15 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 144 příspěvků(y)

Publikováno 28 prosinec 2013 - 11:45

No, hovadina ... to je dost radikalni odsudek. Combine vznikalo v dobe, kdy o nejakych jinych bodench nebylo ani pomysleni. Navic ted zrovna netusim, proc je to udelane prave takto. Takze ano, pokud si nevzpomenu, proc je to takto a kde by se tam skutecne to cislo zaznamu mohlo vzit, vypustim ten druhy zpusob nacteni bodu.


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 





1 uživatel(ů) prochází toto téma

0 uživatelů, 1 návštěvníků 0 anonymních uživatelů

Reklama