Newsgroup: it.comp.appl.access
Titolo: impostare X valori in una maschera

ciao, gia qualche giorno fa chiesi aiuto per questo problema
ora ho da fare altre modifiche
Ho una maschera "prenotazionidettaglio"
E dentro ho una sottomaschera "prenotazioni"(che pesca in una tabella
prenotazioni")
La maschera si apre con un filtro (ID) che mi mostra nella
sottomaschera solo i record che soddisfano il filtro
questo è l'sql
SELECT Prenotazioni.*, Calendario.Giorno, Calendario.Mese,
Prenotazioni.Ide, Prenotazioni.Operatore, Prenotazioni.Confermata,
Prenotazioni.note, Prenotazioni.PaxC2, Prenotazioni.IdPrenotazione
FROM Prenotazioni INNER JOIN Calendario ON Prenotazioni.Ide =
Calendario.ID
WHERE (((Prenotazioni.IdPrenotazione) Like [Forms]!
[prenotazionedettaglio]![Idp]))
ORDER BY Calendario.Giorno, Calendario.Mese;
ora nella maschera ho delle caselle di testo vuote che dovrebbero
servire con un pulsante associato a modificare il valore del campo
desiderato in tutti i record che la sottomaschera opportunamente
filtrata mi mostra
quindi ad esempio il campo PaxC2. Scrivendo un numero nella casella di
testo(che chiamo SETPAXC2) nella maschera e premendo il pulsante
vorrei avere in tutti i record mostrati il nuovo valore
ora, quello che avevo fatto è questo
Set y = CurrentDb.OpenRecordset("Prenotazioni")
y.MoveFirst
Do Until y.EOF
y.Edit
y.PaxC2 = PaxC2
y.Paxc3 = Paxc3
y.Paxs3 = Paxs3
y.Paxs4 = Paxs4
y.Update
y.MoveNext
Loop
solo che mi sono accorto che questo cambia TUTTI i record della
tabella prenotazioni, non SOLO quelli mostrati secondo la sql di cui
sopra
qualche giorno fa con il vostro aiuto ho scritto queste istruzioni per
fare un  altra operazioni sui record restituiti..cioè cancellarli
strSQL = "DELETE Prenotazioni.*" & _
" FROM Prenotazioni INNER JOIN Calendario" & _
" ON Prenotazioni.Ide = Calendario.ID" & _
" WHERE Prenotazioni.IdPrenotazione='" & Forms!prenotazionedettaglio!
Idp & "'"
immagino che per fare il lavoro che voglio mi serva qualcosa di
simile..giusto?
come?
grazie!

 grazie!
prego
Ahhhhhh...... fare nel modo da te indicato va anche bene a patto di 
inserire nella sql lo stesso criterio (WHERE) di filtro della sottomaschera.
--
ac

 - Mostra testo citato -
scusa non ti seguo
allora mi dici che posso usare il mio metodo loop?
ma se imposto  y = sottomaschera.Recordsetclone ricevo errore
non ho poi capito dove inserire il criterio WHERE
grazie!

 - Mostra testo citato -
io ho modificato la precedente routne cosi
Set y = Sottomaschera_Prenotazioni.RecordsetClone
y.MoveFirst
Do Until y.EOF
y.Edit
y.paxc2 = paxc2
y.Update
y.MoveNext
Loop
ma ricevo errore di runtime sull daichiarazione di Y


Probabile che ricevi errore.
Sottomaschera deve essere sostituito dal nome della "tua" sottomaschera.
Nella "tua" openrecordset devi mettere una cosa del genere:
"Select * from prenotazioni where IdPrenotazione Like" &  [Forms]!
[prenotazionedettaglio]![Idp]
non ho capito pero' perche usi il predicato "like" la condizione piu' 
corretta sembrerebbe
WHERE Prenotazioni.IdPrenotazione='" & 
Forms!prenotazionedettaglio!Idp & "'"
che e' quella che hai mostrato nella delete
--
ac


y lo hai dichiarato? (ammettendo che tu abbia la "option explicit")
Che errore ricevi?
Prova anche cosi': Sottomaschera_Prenotazioni.Form.RecordsetClone
--
ac



allora questo è quanto inserito nella routine su click
y = Sottomaschera_Prenotazioni.Form.RecordsetClone
y.MoveFirst
Do Until y.EOF
y.Edit
y.Operatore = Operatore
y.Update
y.MoveNext
ricevo errore runtime 424 necessario ogetto

 - Mostra testo citato -
allora se scrivo cosi
Set y = Form_Sottomaschera_prenotazioni.RecordsetClone
l errore cambia...
impossibile aggiornare. database o  oggetto di sola lettura

 impossibile aggiornare. database o  oggetto di sola lettura
Finalmente hai "azzeccato" il nome della sottomaschera ;-{)
OK. Hai la sottomaschera non aggiornabile probabilmente dovuto alla join 
nella select.
Fai la open del recordset con la sql modificata con la where
set y = Currentdb.openrecordset("select * from prenotazioni where 
Prenotazioni.IdPrenotazione='" & Forms!prenotazionedettaglio!Idp &      "'")
Questa dovrebbe recuperare dalle prenotazioni solo i record con 
l'idPrenotazione identificato dalla casella di testo
strano pero' che tratti l'IdPrenotazione in forma alfanumerica.
--
ac


wrote:

bah..l ho lasciuato campo di testo..
cmq ok! funziona!
denghiu!!!