takže nahraď v souboru CalcMain.Stator.pas
toto:
//Owned FP sa := ReplaceString(GlobalVarGet('OwnedAuthorsForInPhrase'),'''',''); sb := GlobalVarGet('GeogetOwner') // sSql := 'SELECT SUM(CAST((SELECT value FROM geotagvalue WHERE key = gt.ptrvalue) AS int))'; sSql := sSql + ' FROM geocache gc'; sSql := sSql + ' INNER JOIN geotag gt on (gc.id = gt.id and gt.ptrkat IN (select key from geotagcategory where value = ''favorites'' COLLATE NOCASE))'; sSql := sSql + ' WHERE gc.id in ('; sSql := sSql + 'SELECT gc.id'; sSql := sSql + ' FROM geocache gc'; sSql := sSql + ' WHERE gc.[author] like ''%' + sb + '%'' AND '+sCachePrefixForSql+' AND'; sSql := sSql + ' gc.[cachetype] not in ' + sEvent; if sa <> '' then begin sSql := sSql + ' UNION'; sSql := sSql + ' SELECT gc.id'; sSql := sSql + ' FROM geocache gc'; sSql := sSql + ' WHERE gc.[author] in ('; while Pos(',',sa) > 0 do begin sb := Fetch(sa,','); sSql := sSql + '''' + sb + ''','; end; sSql := sSql + '''' + sa + ''''; sSql := sSql + ') AND'; sSql := sSql + ' gc.[cachetype] not in ' + sEvent; end; sSql := sSql + ')'; // GlobalVarSet('Calc_OwnedFavoritePoints',IntToStr(Geoget_DB.GetTableValue(sSql))); //----------------------------------
tímto:
//Owned FP sSql := 'SELECT SUM(CAST((SELECT value FROM geotagvalue WHERE key = gt.ptrvalue) AS int))'; sSql := sSql + ' FROM geocache gc'; sSql := sSql + ' INNER JOIN geotag gt on (gc.id = gt.id and gt.ptrkat IN (select key from geotagcategory where value = ''favorites'' COLLATE NOCASE))'; sSql := sSql + ' WHERE gc.id in ('+GlobalVarGet('OwnedIDsForInPhrase')+') AND'; sSql := sSql + ' gc.[cachetype] not in ' + sEvent; // GlobalVarSet('Calc_OwnedFavoritePoints',IntToStr(Geoget_DB.GetTableValue(sSql))); //----------------------------------
a mělo by vše fungovat... otestováno