Newsgroup: it.comp.appl.access
Titolo: proprietà recordsource di una sottomaschera

Buona sera a tutti
Ho un problema con l'assegnazione del recordsource in una sottomaschera.
La maschera principale (Attività) e la secondaria (Attività_sm) non 
sono collegate ne con i campi secondari ne master.
La maschera principale ha come origine record la tabella Attività.
La maschera secondaria ha come origine record una query (qry_Attività).
Nella maschera principale ho assegnato ad un bottone il seguente codice:
Private Sub Comando154_Click()
Dim miaStringa
If MsgBox("si=VZ, no=MG ", vbYesNo) = vbYes Then
    miaStringa = "VZ"
Else
miaStringa = "MG"
End If
Forms!Attività![Attività_sm].Form.RecordSource = "SELECT * FROM 
qry_Attività WHERE (([qry_Attività].[Sigla]) = '" & miaStringa & "')"
End Sub
La sottomaschera che prima visualizzava tutti i record, ora eseguendo 
questo codice non mi mostra più alcun record.
Se cambio il codice in:
Forms!Attività![Attività_sm].Form.RecordSource = "qry_Attività"
per cercare di impostare l'origine record iniziale, mi compare ancora 
la sottomascera vuota.
Se lo stesso codice lo faccio eseguire aprendo da sola la sottomaschera 
assegnandolo ad un bottone indicando per il record source con il Me 
funziona correttamente:
Me.RecordSource = "SELECT * FROM qry_Attività WHERE (([qry_Attività].
[Sigla]) = '" & miaStringa & "')"
Dov'è che sbaglio?
Grazie
Michele
Inviato da 
www.mynewsgate.net


Ciao
Cinzia

 
Grazie Alex, ma non funzia neanche con questo!
Quello che non riesco a capire è che, avendo la proprietà recordsource della 
sottomaschera agganciata alla query "qry_Attività" di default, quando apro la 
maschera principale mi vengono visualizzati tutti i record.
Se imposto via vb il recordsource della subform alla stessa query di default, 
e cioe' "qry_Attività", non mi visualizza più alcun record.
Inoltre se vado a leggere dalla maschera principale qual'è il recorsource 
della subform (con il msgbox), mi mostra la query corretta !!!
Ciao 
Michele
Inviato da 
www.mynewsgate.net

 
Ti ringrazio comunque per il tempo prestatomi.
Cercherò di vedere se il problema è dovuto ad altre concomitanze.
Grazie ancora
Michele
Inviato da 
www.mynewsgate.net

mikehammer ha scritto:

[CUT]



Aggiungi alla maschera una casella non associata nascosta, in cui salvi la
stringa risultante dalla scelta fatta nell'msgbox, e nella query origine
dati della sottomaschera imposti il criterio =Forms("maschera").nomecasella
Così non serve più modificare l'origine record della sottomaschera ma
basta un requery.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Per Cinzia, Alessandro Baraldi , Namor,
ho trovato dov'era il problema.
Verificando le proprietà della sottomaschera, quando cambiavo la RecordSource 
alla subform, ho riscontrato che mi aggiungeva il LinkChildFields e 
LinkMasterFields.
Se dopo aver settato il recordsource così:
Forms!Attività![Attività_sm].Form.RecordSource = "SELECT * FROM qry_Attività 
WHERE (([qry_Attività].[Sigla]) = '" & miaStringa & "')"
aggiungo le righe:
Me.[Attività_sm].LinkChildFields = ""
Me.[Attività_sm].LinkMasterFields = ""
.. magia ...
la sottomaschera si ripopola con i record desiderati
Ecco quanto utilizzo ora:
Private Sub Comando142_Click()
Dim miaStringa
If MsgBox("si=VZ, no=MG ", vbYesNo) = vbYes Then
    miaStringa = "VZ"
Else
miaStringa = "MG"
End If
Forms!Attività![Attività_sm].Form.RecordSource = "SELECT * FROM qry_Attività 
WHERE (([qry_Attività].[Sigla]) = '" & miaStringa & "')"
Me.[Attività_sm].LinkChildFields = ""
Me.[Attività_sm].LinkMasterFields = ""
End Sub
Un grazie a tutto il NG
Michele
Inviato da 
www.mynewsgate.net