Newsgroup: it.comp.appl.access
Titolo: Me.NomeControllo.Proprietà con NomeControllo che cambia: come faccio???

Salve a tutto il NG!
Allora, innanzitutto scusatemi per lo "strano" subject, spero ora di spiegarmi
meglio.
Sto realizzando (per l'ente per il quale lavoro, n.d.r. Istituto Superiore di
Sanità), un database per la raccolta e l'elaborazione di analisi
chimiche/biologiche di una ricerca sul "Deficit di
Glucosio-6-fosfato-deidrogenasi" (per noi poveri comuni mortali, tradotto in
parole semplici si tratta del favismo, cioè di quell'allergia che hanno certe
persone verso le fave).
In tale db sono presenti varie tabelle, ognuna per la specifica analisi/anamnesi
che viene registrata per un paziente (es: Indagine di Laboratorio, Anamnesi
Familiare, Motivazione Indagine, Programma Terapeutico, ecc., ecc.).
Ho creato una maschera di riepilogo nella quale, mediante l'uso di un Tab
Control (mi pare che in italiano sia Struttura a Schede), visualizzo tutte le
analisi/anamnesi per un dato paziente, mettendo una analisi/anamnesi per ogni
pagina della struttura a schede.
Ora io vorrei che per un dato paziente vengano visualizzate sulla maschera solo
quelle pagine per le quali è registrata la corrispondente analisi/anamnesi, cioè
se per Tizio ho registrato Anamnesi Familiare e Indagine di Laboratorio, voglio
che solo queste due vengano visualizzate.
Con il DLookup  della sub qui sotto mi tiro fuori i nomi delle tabelle che non
sono registrate per un dato paziente, quello che vorrei fare io è mettere
nell'if qualcosa del tipo: Me.strNomePagina.Visible a False in modo da non
visualizzare quelle pagine per le quali non è stato registrato nulla.
Si può fare???
Private Sub NascondiPagineXTabNoRegistrate()
    Dim Dbs As Database
    Dim rst As Recordset
    Dim intIdPazienteX As Integer
    Dim Parametro
    Dim i As Integer
    Dim strNomePagina As String
 
    Set Dbs = CurrentDb
    Set rst = Dbs.OpenRecordset("TblTabelle", dbOpenDynaset)
    intIdPazienteX = InputBox("Id del paziente")
 
    Parametro = "[IdPaziente] = " & intIdPazienteX
 
    rst.MoveLast
    rst.MoveFirst
 
    i = 0
 
    For i = 1 To rst.RecordCount
        If IsNull(DLookup("[IdPaziente]", rst("IdTabella"), Parametro)) Then
            strNomePagina = rst("IdTabella")
'QUELLO CHE VORREI : ME.STRNOMEPAGINA.VISIBLE = FALSE
        End If
    rst.MoveNext
    Next i
 
    rst.Close
    Set Dbs = Nothing
 
End Sub
Scusate la lunghezza del post, ma ho voluto essere il più chiaro possibile,
ringrazio anticipatamente chiunque sarà in grado di darmi un consiglio.
Marco "TopGun"
p.s. X AntoGal:
Come è andata in Svezia? Io esattamente un anno fa sono stato a Stoccolma, stavo
insieme ad una Svedese che avevo conosciuto in chat, purtroppo ci siamo lasciati
qualche mese fa perchè non ci vedevamo mai, comunque è stata un'esperienza
indimenticabile, la Svezia (e soprattutto le Svedesi!!!!) è stupenda!

 indimenticabile, la Svezia (e soprattutto le Svedesi!!!!) è stupenda!
Confermo al 100% :-)))
--
Ciao, AntoGal
*************************************************
Home Page (area programmatori di VolFtp)
http://volftp.mondadori.com/italiani/galletta/
per scaricare un gioco di DAMA ITALIANA
*************************************************

Se ti viene più comodo, puoi anche usare l'altra sintassi Me("Nome"). ecc...
E proprio così ho risolto, mettendo Me(MioControlloVariabile).SuaPropietà
grazie del preziosissimo suggerimento. Certo che alla fine era una cosa proprio
banale, solo che questa sintassi non l'avevo mai vista.....
Ciao e grazie ancora,
Marco "TopGun"