lucavalentino ha scritto:
Quello che volevo fare è modificare un singolo record di una maschera continua con le combobox.
So che nelle maschere continue non si può modificare il singolo record
Chi ti ha detto questa baggianata...?
Non è vera, o meglio l'affermazioe è falsa in senso ASSOLUTO, ovviamente deve essere ediutabile l'origine dati, se hai una query raggruppata se la vuoi modificare direi che il problema è molto personale... ovvero non hai capito come funziona.
In ogni caso anche nelle maschere CONTINUE i dati sono editabili.
lucavalentino ha scritto:
perciò ho fatto in questo:
Dalla maschera 1 da un pulsante apro la maschera 2 dove il record è Me.Codice
DoCmd.OpenForm "Maschera2", acNormal, , , acReadOnly, , "due|" & Me.CODICE
Uso "due|" & Me.CODICE per usare la stessa maschera 2 con altre maschere.
Prima cosa da distinguere sono le esigenze di chiamata da quelle di Filtro, quindi stai facendo una ENORME cavolata.
Il Filtro lo metti passando il parametro WHERE e tutte le altre funzioni tramite OpenArgs.
Seconda cosa se metti acReadOnly cosa pensi di Editare...?
lucavalentino ha scritto:
Dopo le dovute modifiche poi chiudo maschera 1 e maschera 2 e in maschera 2 faccio riaprire maschera 1 con args
codice() = Split(Forms!maschera2.OpenArgs, "|")
DoCmd.OpenForm "frmCorsiSeminariTutti", acNormal, , , acReadOnly, , codice(1)
Infine riapro la maschera 1 e vado al record appena modificato
Private Sub Form_open(Cancel As Integer)
Dim codice As String
If Not IsNull(Forms!frmCorsiSeminariTutti.OpenArgs) Then
Me.Requery
Me.Refresh
codice= Forms!maschera1.OpenArgs
Me.Recordset.FindFirst "codice='" & codice & "'"
End If
Nell'insieme stai facendo una confusione di tutto che non si capisce se stai ragionando o se butti in un secchio delle cose e lo agiti...!
Fai come ti ho detto e vedrai che senza tante stranezze funziona bene:
DoCmd.OpenForm "frmCorsiSeminariTutti", acNormal, , "[Codice]='" & Me!codice & "'",acFormEdit , , "ALTRO DATO SE SERVE"