Newsgroup: it.comp.appl.access
Titolo: Ci riprovo- Copia maschera con sottomaschera

Scusate ancora, sapete dirmi come faccio a copiare tutte le informazioni
(report) contenuti in una maschera con sottomaschera :
1) nella stessa tabella
2)esportando i report in un altra tabella
Ciao
Grazie


--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:4I_K6.7175$RX4.5...@news.infostrada.it...



Ipotizziamo che la maschera principale abbia come origine record una tabella
chiamata Ordini con la seguente struttura:
IdOrdine            Contatore e chiave primaria
DataOrdine        Data/ora
Ipotizziamo che la sottomaschera abbia come origine record una tabella
chiamata DettOrdini con la seguente struttura:
IdDettOrdini       Contatore e chiave primaria
IdOrdine             Numerico
Prezzo                Numerico
Quantità              Numerico
Ipotizziamo che le due tabelle siano in relazione uno-a-molti in base ai
campi IdOrdine.
Ipotizziamo infine che il controllo della maschera principale associato alla
chiave primaria della tabella Ordini si chiami anche lui IdOrdine.
Inserisci nella maschera principale un pulsante di comando pigiando il quale
il record corrente della maschera pricipale venga duplicato in coda alla
tabella Ordini e che i record visualizzati nella sottomaschera vengano
duplicati in coda alla tabella DettOrdini.
A fronte dell'evento "Su clic" del pulsante di comando genera il seguente
codice VBA:
Dim db As Database
Dim rs1 As Recordset
Dim rs2 As Recordset
Dim rs3 As Recordset
Dim rs4 As Recordset
Dim strOrdine As String
Dim DepOrdine As Long
Set db = CurrentDb
Set rs1 = Me.RecordsetClone
Set rs2 = db.OpenRecordset("Ordini")
Set rs3 = db.OpenRecordset("DettOrdini")
Set rs4 = db.OpenRecordset("DettOrdini")
strOrdine = "IdOrdine=" & Me!IdOrdine
rs1.MoveLast
rs1.FindFirst strOrdine
rs2.AddNew
rs2!DataOrdine = rs1!DataOrdine
DepOrdine = rs2!IdOrdine
rs2.Update
rs3.MoveFirst
Do Until rs3.EOF
    If rs3!IdOrdine = rs1!IdOrdine Then
        rs4.AddNew
        rs4!IdOrdine = DepOrdine
        rs4!Prezzo = rs3!Prezzo
        rs4!Quantità = rs3!Quantità
        rs4.Update
    End If
    rs3.MoveNext
Loop
rs1.Close
Set rs1 = Nothing
rs2.Close
Set rs2 = Nothing
rs3.Close
Set rs3 = Nothing
rs4.Close
Set rs4 = Nothing
Se vuoi che i record vengano invece copiati rispettivamente nella tabella
OrdiniBis e nella tabella DettOrdiniBis, sostituisci queste tre righe di
codice VBA:
Set rs2 = db.OpenRecordset("Ordini")
Set rs3 = db.OpenRecordset("DettOrdini")
Set rs4 = db.OpenRecordset("DettOrdini")
con queste tre righe di codice VBA:
Set rs2 = db.OpenRecordset("OrdiniBis")
Set rs3 = db.OpenRecordset("DettOrdini")
Set rs4 = db.OpenRecordset("DettOrdiniBis")
Naturalmente la tabella OrdiniBis deve avere la stessa struttura della
tabella Ordini, e la tabella DettOrdiniBis deve avere la stessa struttura di
DettOrdini; inoltre anche la tabella OrdiniBis sarà in relazione uno-a-molti
con la tabella DettOrdiniBis in base ai camp IdOrdine.


Ciao!
tempo fa ho sviluppato un'applicazione per un mio cliente che aveva la
seguente esigienza:
In una maschera inseriva i dati del cliente e nella sottomaschera inseriva i
dettagli di tale cliente. Siccome i dettagli erano quasi uguali per tutti ho
inserito una funzione per far si che con la pressione di un tasto copiava il
record attuale della tabella in un nuovo record e automaticamente copiava
tutti i record correlati mantenendo la relazione uno a molti.
Non ho ben capito se il tuo problema č analogo cmq se ti puņ essere d'aiuto
ti posso inviare il file con una breve spiegazione.
Ciao
FACE ONE

 Non ho ben capito se il tuo problema è analogo cmq se ti può essere


Nessun problema.
Dammi solo il tempo di cercare il dischetto con la versione funzionante.
Se non riuscissi a trovarlo posso procurarmelo per martedě.

 ha scritto nel messaggio
news:XyiM6.4094$pa3.5...@news.infostrada.it...
