ricerca e sottomaschere

  • Creatore Discussione Creatore Discussione huck
  • Data di inizio Data di inizio

huck

Nuovo Utente
7 Ott 2004
11
0
0
Salve a tutti!

Ho due tabelle:
manuali : dove vengono inseriti manuali tipo e codice
releaseManuali : dove vengono inserite le release di dei manuali.

Relazione per legare le release al loro manuale: la tabella "releaseManuali" contiene un campo associato alla chiave primaria della tabella "manuali".

Ho creato una maschera di inserimento manuali, con all'interno una sottomaschera con le varie release.Le release vengono inserite utilizzando il pulsante freccia ">" d'inserimento, situato nella barra sotto la maschera. Fin qui tutto OK.

Ho creato una maschera di ricerca dove, tramite il filtraggio di vari controlli, effettuo la ricerca delle varie release. Le release filtrate vengono filtrate in una casella di riepilogo. Effettuando un doppio click, su una delle release presenti nella casella di riepilogo, si riapre la maschera di inserimento con il manuale selezionato.

IL PROBLEMA: se, ad esempio, seleziono la release 3 del manuale Pippo, la maschera d'inserimento si apre con il manuale Pippo ma con la release 1 nella sottomaschera. Ovviamente so che posso scorrere le varie release con le frecce, ma vorrei che la sottomaschera si aprisse con la release giusta.

L'apertura della maschera d'inserimento avviene con questo codice:
Private Sub MaskRicerca_DblClick(Cancel As Integer)
Dim nomeMaschera As String
Dim legame As String

nomeMaschera = "inserimentoManuale"

legame = "[idDocumento]=" & [MaskRicerca]
DoCmd.OpenForm nomeMaschera, , , legame
End Sub

Ho provato anche così:
Private Sub MaskRicerca_DblClick(Cancel As Integer)
Dim nomeMaschera As String
Dim legame As String

nomeMaschera = "inserimentoManuale"

legame = "[idDocumento]=" & [MaskRicerca] & " AND [idRelease] = 462" 'il numero 462 sarà poi sostituito da una variabile

DoCmd.OpenForm nomeMaschera, , , legame
End Sub

Potete aiutarmi ?

Grazie
 
fai così:
dichiara in un nuovo modulo (chiamalo come vuoi) una variabile globale e chiamala "search" metti questo

global search as Boolean
search = false


poi cambia il tuo codice così



Private Sub MaskRicerca_DblClick(Cancel As Integer)
Dim nomeMaschera As String
Dim legame As String
search = true
nomeMaschera = "inserimentoManuale"
legame = "[idDocumento]=" & [MaskRicerca]
DoCmd.OpenForm nomeMaschera, , , legame
End Sub




nel codice della sottomaschera metti questo

Private Sub Form_Open(Cancel As Integer)
if search then
me.filter = forms![nome della maschera di ricerca]![MaskRicerca]
end if
end sub


nel codice della maschera di ricerca metti:

Private Sub Form_Close()
search = false
end sub


vedrai che funziona.
 
Ultima modifica:

Discussioni simili