Newsgroup: it.comp.appl.access
Titolo: "Riferimenti Cartesiani" in maschere continue

Caio a tutti e scusate l'oggetto poco significativo ma ho trovato di meglio,
Ho una maschera con visualizzazione a maschere continue che trae origine da 
una query a campi incrociati, č possibile per ogni controllo ottenerne le 
"coordinate".
La maschera stessa č in pretica un diagramma e mi piacerebbe effettuare dei 
movimenti direttamente da lģ.
Spero di essermi spiegato.
Grazie
Giuseppe

Troppi errori di ortografia, correggo e mi scuso per la maleducazione:
Ciao a tutti e scusate l'oggetto poco significativo ma non ho trovato di 
meglio,
Ho una maschera con visualizzazione a maschere continue che trae origine da
una query a campi incrociati, č possibile per ogni controllo ottenerne le
"coordinate"?
La maschera stessa č in pratica un diagramma e mi piacerebbe effettuare dei
movimenti direttamente da lě.


 ha scritto nel messaggio 
news:44c7ca6c$0$977$5fc...@news.tiscali.it...

Certo. Ogni controllo ha una posizione ben precisa nella maschera.
Per esempio questa istruzione
MsgBox Me.TuoControllo.Top & " " & Me.TuoControllo.Left
restituisce la distanza espressa in twips rispetto al margine superiore e 
sinistro del corpo della maschera.
Definizione di Twip:
Unitą di misura utilizzata da Microsoft Access che č equivalente ad 1/20 di 
un punto oppure ad un 1/1440 di un pollice. Un centimetro contiene 567 twip.
Ciao, Carlo


Grazie Carlo,
intanto archivio l'informazione perchè mi serve, ma come volevasi dimostrare 
non mi sono spiegato bene,
io volevo ottenere l'intestazione di riga e di colonna relativa al 
controllo, quelle che vedo sia nella maschera che nella query a campi 
incrociati (in effetti le intestazioni di riga sono due mi servirebbe 
rilevare la prima la più "esterna").
Ciao
Grazie
Giuseppe

 ha scritto nel messaggio 
news:44c884fc$0$990$5fc...@news.tiscali.it...

Nelle maschere continue non lo puoi fare perchè lo spostamento di un 
controllo si riperquote su tutti gli altri.
E' invece possibile sapere come si chiama sia la riga che la colonna.
Ciao, Carlo 

 ha scritto nel messaggio 
news:eaa3jp$tqh$1...@area.cu.mi.it...

Ciao
Mi servirebbe proprio questo cioè sapere come si chiama sia la riga che la
colonna.
Potresti indicarmi il metodo?
Ciao e Grazie


Per esempio qualcosa del genere:
Public Sub DimmiRigaColonna()
Dim rcs As Recordset
Dim fld As Field, i As Long
Set rcs = CurrentDb.OpenRecordset("Query2")
rcs.MoveLast
rcs.MoveFirst
For i = 1 To rcs.RecordCount
    For Each fld In rcs.Fields
    Debug.Print fld.Name  '(intestazioni di colonna)
    Debug.Print rcs.Fields(fld.OrdinalPosition).Value '(valore riga)
    Next
rcs.MoveNext
Next i
Debug.Print "Il numero di colonne č : " & rcs.Fields.Count
End Sub
Ciao, Carlo

 ha scritto nel messaggio 
news:eaajre$tum$1...@area.cu.mi.it...

Grazie e scusa il ritardo con cui comunico col NG,
ho provato il tuo codice e mi restituisce i nomi delle righe e delle colonne 
di tutti i controlli, come posso modificarlo perchč mi restitutisca solo 
quelli del controllo selezionato (es. su Click del mouse)?
E' possibile in una maschera far riferimento al controllo selezionato senza 
menzionare il nome del controllo stessso?
Per evitare di ripetere lo stesso codice per ogni controllo (sono 31 quanti 
i gg mensili) e scriverlo solo su un modulo?
Cia
Grazie
Giuseppe 


Screen.activecontrol
Oppure puoi prevedere una routine che assegna il nome del controllo ad una 
variabile non appena ha il focus.
Ciao, Carlo 

 ha scritto nel messaggio 
news:eafdg1$soi$1...@area.cu.mi.it...

Grazie per la risposta,
per quanto riguarda i nomi di riga e colonna, è possibile ottenerli solo per 
il controllo selezionato?
Ciao
Giuseppe

 Giuseppe
Ciao Giuseppe
nella prima risposta ti facevo vedere come ottenere tutti i nomi di riga e 
di colonna.
Nella seconda invece il singolo controllo...
Mi sembrava avessi chiesto: "(in effetti le intestazioni di riga sono due mi 
servirebbe
rilevare la prima la piů "esterna")."
In questo caso la posizione 0 o 1...
O ancora:
Me.ActiveControl.ControlName 'Nome del controllo
Me.ActiveControl.Text ' valore o testo del controllo
Fammi capire bene quello che vuoi, magari con un esempio.
Ciao,Carlo 

 Ciao,Carlo
Ciao,
mi sa che tu hai capito cosa vorrei fare ma io non capisco cosa tu mi dici.
allora io ho una maschera a visualizzazione maschere continue che tre 
origine da una query a campi incrociati, rappresenta un Booking alberghiero, 
in ascisse i giorni del mese ed in ordinate il N° di camera.
I controlli della maschera si colorano secondo lo stato di occupazione della 
camera.
Io vorrei ottenere, "cliccando" su un controllo il relativo N° di camera (la 
sua "ordinata").
Ciao e Grazie
Giuseppe 

 Giuseppe
Quindi una rappresentazione cartesiana in negativo, dove le intestazioni 
colonne o ascisse sono i giorni, l'intestazione della prima colonna la 
stanza (NStanza o asse dell'ordinata) e "il valore" è positivo o negativo a 
seconda che la stanza sia occupata o meno in quel giorno. Giusto?
Cliccando su un qualsiasi controllo di questa "griglia" vuoi conoscere il 
giorno (intestazione di colonna), il numero di stanza corrispondente e se 
occupata o meno.
Tutti e tre i valori sono perfettamente riconoscibili senza ricorrere a 
fantomatiche posizioni cartesiane.
Il giorno: Me.ActiveControl.ControlName
La camera: Me.NCamera ' o come hai chiamato la colonna ordinata
Il valore: Me.ActiveControl.value
Quando costruisci la query a campi incrociati devi predefinire il nome delle 
intestazioni colonna. Questo è molto semplice perchè sono i giorni, dunque 
G1,G2,G3,...G31. Per fare questo apri in struttura la query, clic con destro 
sul campo dell'Intestazione colonna, proprietà, in intestazioni colonne 
scriverai: "G1";"G2";..."G31".
L'intestazione di riga la chiamerai, per esempio, NCamera.
A questo punto hai tutto. Ti rimane solo di scrivere il codice.
Puoi scrivere 31 volte la stessa cosa oppure ricorrere al WithEvents. Qui 
trovi del materiale: 
http://www.donkarl.com/AccessFAQ.htm?/it/CISA/Download.htm
WithEvents e RaiseEvent di Marco Pizzamiglio.
Dimmi che mi sono spiegato.
Ciao, Carlo

 ha scritto nel messaggio 
news:eafuiu$ij4$1...@area.cu.mi.it...

Alla grande!
Ho capito persino io!
Avevo già predefinito in nomi dei campi della query per cui ho fatto una 
prova ed è tutto OK.
Però in effetti ho sbagliato perchè i giorni non occupati non contengono 
nessun "valore" (mentre quelli occupati contengono il nome dell'occupante) e 
questo mi impedisce di ottenere il n° di camera sui giorni non occupati 
appunto.
Quindi vedrò di seguire il tuo consiglio magari "caricandoci" il valore "0" 
come da te consigliato.
Formattazione condizionale già impostata permettendo.
Ora vado a leggermi quello che mi hai consigliato.
Grazie
Giuseppe