Newsgroup: it.comp.appl.access
Titolo: Una maschera di input output da una cartina geografica muta con circa 250 comuni è fattibile ?

buongiorno a tutti,
una domanda superficiale e forse fuori luogo.
 
E' possibile (ovviamente in access) interagire con una cartina
geografica dei comuni italiani, facendo in modo che cliccando su un
comune (il cui profilo è molto irregolare) si possa individuare lo
stesso da tabella, oppure il percorso inverso ad esempio colorare da
codice i comuni in base a condizioni dei dati in tabella.
 
Scusate l'eventuale off topic e se l'oggetto non è chiaro, ringrazio
tutti per ogni eventuale aiuto e/o suggerimento.
grazie

 grazie
 
se vuoi tener conto anche dei contorni irregolari... lavorandoci si...
se trovi una cartina con tutti i comuni di colore diverso, potresti 
tramite le API rilevare il colore del pixel dove si trova il mouse in 
quel momento, e andare a vedere a che comune corrisponde in una apposita 
tabella codice colore--->nome comune
 
per l'operazione inversa, cioč cliccare sul nome del comune e colorarlo 
sulla cartina la vedo piů dura.
semplificherei facendo apparire un segnaposto sul comune scelto
 
ciao
BFS

 BFS
 
Grande BFS,
grazie per la tempestività e la tua sempre precisa competenza.
grazie anche per la combo...ora funziona perfettamente.
 
S non chiedo troppo e provo a colorare una cartina, anche solo a
livello di prova con una decina di comuni, mi riesci a compilare il
codice ?
A livello di access, è comunque gestibile con successo o la mia idea è
una pazzia o magari esiste altro (sw) più attinente.
 
grazie infinite
M


Cari ragazzi i Comuni italiani sono ad oggi 8.092
(
http://www.comuniverso.it/
) dovrete lavorarci su un bel po' per ottenere
una cartina utilizzabile, ma l'idea è buona.
Con le regioni è più fattibile, magari il click su una regione apre il
dettaglio con i vari comuni (o provincie).
Buon lavoro!
-Marco-
 
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 


fartelo direttamente io non ho tempo..
ti do uno spunto veloce delle 2 api che ti servono
quella per catturare il colore del pixel
e quella per determinare dove è il mouse in quel momento
 
crea una maschera..mettici una label chiamata EtichettaColore
disegnaci dentro qualche quadrato colorato
imposta il timer a 100
 
 
 
incolla dentro la maschera questo codice
 
Private Type POINTAPI
     X As Long
     Y As Long
End Type
'
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, _
     ByVal X As Long, ByVal Y As Long) As Long
 
Private Declare Function GetCursorPos Lib "user32" _
         (lpPoint As POINTAPI) As Long
 
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) _
         As Long
 
Private Sub Form_Timer()
Dim tPOS As POINTAPI
     Dim sTmp As String
     Dim lColor As Long
     Dim lDC As Long
'
     lDC = GetWindowDC(0)
     Call GetCursorPos(tPOS)
     lColor = GetPixel(lDC, tPOS.X, tPOS.Y)
     Me.EtichettaColore.Caption = lColor
End Sub
 
 
ogni 100 millisecondi l'etichetta ti mostrerà il codice del colore di 
dove si trova il mouse in quel momento
 
 
ciao
BFS


 
 
in effetti stavo pensando alle regioni...
con i comuni non ha senso conviene direttamente usare qualcosa tipo mapinfo
 
ciao
BFS
 
 
 

 - Mostra testo citato -
 
grazie ad entrambi.
Avete risposto perfettamente alla mia domanda.
 
@Marco Pizzamiglio, grazie della precisazione. Ma ti voglio (e mi
voglio rincuorare) ho "solo" tre regioni per complessivi 1515
comuni ....  ;-)
 
@BFS grazie ancora una volta. Scusa se nella fretta mi sono espresso
male, non volevo che me lo facessi tu, ma avevo  appunto necessità di
una "strada da seguire" che mi consentisse, come mi hai indicato tu,
di poter provare, capire e apprendere.
 
La cartina che potrei/realizzare realizzare riguarda appunto una
ventina di macrostrutture.
grazie

 ha scritto nel messaggio 
news:57802005-7a21-41ee...@m2g2000vbc.googlegroups.com...

grazie.
 
--------------------------
Oltre le risposte che ti hanno già dato prova a vedere se questo programma 
può fare al caso tuo:
http://www.carlocostarella.it/Cartina.zip
 
Scompatta tutto in C:\ (obbligatorio, apporterai poi le modifiche) e poi 
esegui Cartina.mdb.
Il db lo misi online nel 2008 (fu anche pubblicato sul sito del mitico 
Lebans) e sfrutta la possibilità di mettere un'immagine di sfondo ad una 
maschera di Access per poi utilizzare il Corpo_Click() sia per stabilire la 
posizione del cursore che ricavarne il colore. I codici colore sono elencati 
in una tabella che assegna ad ogni colore una regione. Al click sulla 
regione (colore) parte il codice (Corpo_Click()) che individua la regione e 
ne apre la relativa immagine oltre a popolare le due combo con le province e 
i comuni corrispondenti alla regione selezionata.
Con un po' di fantasia potrai ricavarci molto secondo le tue esigenze.
Ti ricordo che la tabella Comuni è aggiornata al 2008 e quindi, se ti serve, 
vedi di aggiornarla.
Fammi sapere.
Ciao, Carlo
 
 

 ha scritto nel messaggionews:57802005-7a21-41ee...@m2g2000vbc.googlegroups.com...

Grazie infinite.
Mi dai davvero un grande aiuto. Dovrò adattare il tuo ottimo lavoro a
livello regionale e questo mi darà anche sicuramente modo di capirne
di più..
grazie

 - Mostra testo citato -
 
 
Scusatemi ancora una volta.
Sono riuscito a impostrare la maschera con l'immagine,
l'"EtichettaColore" che mi indica il colora sul quale "staziona" il
mouse e una tabella "colore/Filiale".
Vorrei valorizzare una seconda etichetta "EtichettaFiliale" che in
base al valore di "EtichettaColore" assuma il valore come da tabella.
Ho provato con delle combo ma probabilmente non è la strada giusta,
penso che dovrei farlo da codice ma non riesco più a vedere
l'orizzonte.
grazie a chi vorrà aiutarmi....

 Il 28/02/2012 11:05, ignazio.pilone ha scritto:
cut
Scusatemi ancora una volta.
Sono riuscito a impostrare la maschera con l'immagine,
l'"EtichettaColore" che mi indica il colora sul quale "staziona" il
mouse e una tabella "colore/Filiale".
Vorrei valorizzare una seconda etichetta "EtichettaFiliale" che in
base al valore di "EtichettaColore" assuma il valore come da tabella.
Ho provato con delle combo ma probabilmente non è la strada giusta,
penso che dovrei farlo da codice ma non riesco più a vedere
l'orizzonte.
grazie a chi vorrà aiutarmi....
-----------------------------------
 
Se stai seguendo il mio esempio non dovrebbe essere una cosa complicata.
Dovresti essere più chiaro su come hai impostato il tutto.
 
Ciao, Carlo 
 
 

 ha scritto nel messaggionews:1c1a42ae-6f1b-4cc0...@t16g2000yqt.googlegroups.com...

ciao Carlo,
grazie per l'attenzione.
Come avrai capito non sono un grande esperto dell'argomento e non
volendo copiare pedestrenmente il tuo codice, senza averlo prima
(almeno) capito, ho optato per il precedente consiglio di BFS,
riservandomi di cercare di adattare ai miei bisogni il tuo ottimo
lavoro in un secondo tempo.
quindi come suggerito da BFS ho:

il mio problema è ora riuscire a collegare questa EtichettaColore alla
sua filiale corrispondente (da tabella).
Nel tuo lavoro questo abbinamento funziona cliccando sulla regione e
ti fa aprire la corrispondente finestra.
A me servirebbe valorizzare una combo o una casella di testo da cui
poi poter proseguire l'analisi.
 
grazie ciao

 - Mostra testo citato -
 
 
Non vorrei scocciare oltre e mettere la prova la Vostra pazienza,
purtroppo vedo che nessuno aggiorna più questo post.
 
Spero che la mia richiesta non sia troppo banale, ma non riesco
definire la filiale corrispondente alla CasellaColore in modo tale da
ultimare il percorso suggeritomi da BFS.
Posso far fare l'abbinamento e valorizzare una casella su
aggiornamento della "CasellaColore" ?
Oppure devo usare per forza l'evento click ?
Oppure sono in un vicolo cieco o sulla strada sbagliata ?
 
Al momento, nonostante diversi tentativi ovviamente a esito negativo,
ho provato a copiare e adattare il codice di Carlo sulla mia maschera
ma mi metto ancora più nei casini.
Non avendo dichiarato la variabile me la chiede, Quando vado a copiare
il codice con la variabile succede il finimondo...e mi sento imbecille
a copiare pedestremente cose che non capisco e ciò, consentitemi il
paragone, mi dà l'impressione di essere alla guida della moto a occhi
chiusi...
 
grazie ancora a chi vorrà / potrà aiutarmi.

 ha scritto nel messaggio 
news:1c8047c8-82eb-47f6...@l14g2000vbe.googlegroups.com...
cut
Non vorrei scocciare oltre e mettere la prova la Vostra pazienza,
purtroppo vedo che nessuno aggiorna più questo post.
 
Spero che la mia richiesta non sia troppo banale, ma non riesco
definire la filiale corrispondente alla CasellaColore in modo tale da
ultimare il percorso suggeritomi da BFS.
Posso far fare l'abbinamento e valorizzare una casella su
aggiornamento della "CasellaColore" ?
Oppure devo usare per forza l'evento click ?
Oppure sono in un vicolo cieco o sulla strada sbagliata ?
 
Al momento, nonostante diversi tentativi ovviamente a esito negativo,
ho provato a copiare e adattare il codice di Carlo sulla mia maschera
ma mi metto ancora più nei casini.
Non avendo dichiarato la variabile me la chiede, Quando vado a copiare
il codice con la variabile succede il finimondo...e mi sento imbecille
a copiare pedestremente cose che non capisco e ciò, consentitemi il
paragone, mi dà l'impressione di essere alla guida della moto a occhi
chiusi...
 
grazie ancora a chi vorrà / potrà aiutarmi.
---------------------------------------------------
Caro Ignazio non è facile aiutarti perchè nessuno di noi conosce il codice 
che hai scritto.
Gli aiuti che ti sono stati dati devono servire per prendere spunto ma vanno 
adattati al tuo caso...e questo solo tu lo puoi fare.
Per il codice di BFS devi chiedere a lui, nel mio esempio la combo viene 
correttamente valorizzata perchè si alimenta da una tabella che ha sia il 
colore che la corrispondente regione. Una query con criteri fa il resto: al 
colore 123 corrisponde una regione. Quella regione ha diversi comuni e 
dunque una seconda combo alimentata con il criterio regione mi filtra tutti 
i comuni per quella regione. Il concetto è sempre lo stesso: passare al 
criterio della query un valore univoco che permette di visualizzare solo e 
soltanto quei record che soddisfano il criterio.
Un minimo di conoscenze sono indispensabili altrimenti ti ritrovi a fare un 
copia e incolla certamente infruttuoso.
Cerca di seguire passo passo il codice dell'esempio che ti ho postato e 
prova a capire cosa fa. Per il codice di BFS devi chiedere a lui ma ho già 
visto che il concetto base è lo stesso.
Vuoi provare a mandarmi il db zippato con due righe?
 
Ciao, Carlo