Newsgroup: it.comp.appl.access
Titolo: Ottimizzare e compattare codice

Salve,
scusate per il soggetto generico, ma non sapevo cosa scrivere.
C'è un modo per ottimizzare e compattare il seguente codice, che viene
lanciato da un pulsante di comando in Masc2?
        Dim Masc1 As String
        Dim Masc2 As String
        Masc1 = "Maschera1"
        Masc2 = "Maschera2"
        DoCmd.OpenForm Masc1, acNormal, , , acFormAdd
          Forms!Maschera1!Controllo1 = Me!Controllo1
          Forms!Maschera1!Controllo2 = Me!Controllo2
          Forms!Maschera1!Controllo3 = Me!Controllo3
          Forms!Maschera1!Controllo4 = Me!Controllo4
          Forms!Maschera1!Controllo5 = Me!Controllo5
          Forms!Maschera1!Controllo6 = Me!Controllo6
          Forms!Maschera1!Controllo7 = Me!Controllo7
          Forms!Maschera1!Controllo8 = Me!Controllo8
          Forms!Maschera1!Controllo9 = Me!Controllo9
          Forms!Maschera1!Controllo10 = Me!Controllo10
        Forms!Maschera2.SetFocus
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.Close acForm, Masc2
Grazie.

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

 -----------------------------------------------
Ciao Roberto,
grazie per la risposta.
In realtà, i controlli hanno tutti dei nomi diversi.
Ho scritto "Controllo1", "Controllo2" ecc. per rendere il tutto
generico.
Forse potrei sfruttare la proprietà Tag. Il problema è che alcuni di
quei controlli hanno già un Tag impostato che serve per altro scopo.
Quindi, come fare a sfruttare il tuo suggerimento?

 Quindi, come fare a sfruttare il tuo suggerimento?
Prima di tutto ti consiglio in futuro di proporre esempi attinenti alla
realtà
se vuoi risposte chiare ed evitare sia per te che per chi risponde di
proporre
soluzioni che poi non sono realizzabili.
Non puoi fare nulla per ridurre il codice se non parti da una
situazione di standardizzazione
dei Nomi, oltretutto avendo già la proprietà TAG impegnata...!
L'unica alternativa che potresti avere sarebbe se i Nomi della
Maschera1 fossero
gli stessi della Maschera attuale(ed uguali al nome Campo dell'origine
Record) ma servirebbe sapere se sono Associati e se sono tutti i campi
del Recordset risultante di maschera, allora potresti ciclare il
recordsetClone per passare il Nome....!
Ti consiglio di non usare mai Nomi non indicativi come Maschera1 o
Controllo1
è una delle prime regole alle quali è bene attenersi.
@Alex

 @Alex
Ciao Alex,
io pensavo di fare bene a rendere il tutto più generico, invece ho
toppato :)
Ecco il codice:
        Dim Fattura As String
        Dim Preventivo As String
        Fattura = "M_Fattura"
        Preventivo = "M_Preventivo"
        DoCmd.OpenForm Fattura, acNormal, , , acFormAdd
          Forms!M_Fattura!Combo_Cliente = Me!Combo_Cliente
          Forms!M_Fattura!Oggetto = Me!Oggetto
          Forms!M_Fattura!Imponibile = Me!Imponibile
          Forms!M_Fattura!Acconto = Me!Acconto
          Forms!M_Fattura!DescrAcconto = Me!DescrAcconto
          Forms!M_Fattura!Ma = Me!Ma
          Forms!M_Fattura!ControlloMa = Me!ControlloMa
          Forms!M_Fattura!Iv = Me!Iv
          Forms!M_Fattura!ControlloIv = Me!ControlloIv
          Forms!M_Fattura!NonImponibile = Me!NonImponibile
          Forms!M_Fattura!Ri = Me!Ri
          Forms!M_Fattura!ControlloRi = Me!ControlloRi
        Forms!M_Preventivo.SetFocus
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.Close acForm, Preventivo
Tranne ControlloMa, ControlloIv e ControlloRi, i controlli sono tutti
associati.
M_Fattura ha come origine la query Q_Fattura, mentre M_Preventivo ha
come origine la query Q_Preventivo.
Ciao.

robb ha scritto:

Hai pensato ad usare una Query INSERT visto che il codice mi sembra
tanto usato solo
per spostare un Record da una parte ad un'altra e cancellare alla fine
l'origine....?
Prova a vedere l'Help per l'uso di una Query di Accodamento sulla
tabella Destinazione
ed una Query Delete successiva sull'Origine...!
@Alex

 @Alex
Grazie Alex. Proverò a fare come dici tu. Se ho problemi, ti faccio
sapere :)
Ciao
Robb

Quindi, come fare a sfruttare il tuo suggerimento?
Sottoscrivo tutto quanto ti ha scritto Alessandro Baraldi.
