Newsgroup: it.comp.appl.access
Titolo: Copiare Controlli da una form all'altra

Ciao!
Come posso fare per copiare un Command Button da una form all'altra
con VBA?

 con VBA?
Sei proprio sicuro di voler fare questo ? Secondo me ti imbarcheresti in 
cose complicate che, se non sono proprio necessarie, � meglio evitare.
Ciao
Antonio

 Antonio
Mi piacerebbe davvero!


Si ma hai valutato il perchè dell'obiezione...?
La copia di controlli è fattibile solo se le Maschere sono in modalità
STRUTTURA o DESIGN... ne consegue che questa tecnica verrebbe preclusa
con la distribuzione dell'applicativo MDE e/o con il Runtime...!
Questo è il motivo per il quale gli sviluppatori di Access non
considerano MAI tecniche utili quelle da gestire a DESIGN.
Detto questo credo che la Copia come la intendi tu la potresti EMULARE
con una lunga sequenza:
1) Apertura Maschera Origine
2) Focus Oggetto o SelectObject
3) Simulazione di CTRL+C (con SendKeys)
4) Apertura FOrm di Destinazione con Focus
5) CTRL+V ... come prima
6) Salvi e chiudi o chiudi salvando...
Dal puntoi di vista tecnico però io non ho mai provato se funziona, ma
dovrebbe... altrimenti CREI un nuovo CommandButton aggiungendolo alla
Collection Controls, e cicli le properties dell'Oggetto Origine
forzandole sulle Properties dell'Oggetto Destinazione...
Il tutto sempre a Design, Salvi e chiudi
@Alex


In effetti mi servirebbe per copiare un controllo da una form Popup ad
una secondo form di sotto: il mio problema + grosso è riuscire a dire
ad Access che controllo selezionare in modalità struttura per poi
copiarlo (non conosco il comando)! Ciao!

 copiarlo (non conosco il comando)! Ciao!
"controllo form popup in form di sotto" che roba sarebbe? :D
ma hai letto quel che ti ha consigliato/sconsigliato Ale?... aprire in
DESIGN e operare, � un motivo gi� di suo fondamentale per cui "evitare" di
intraprendere questa strada... scegliere questa strada, lasciando perdere
poi le varie difficolt� che incontrerai per eseguire quanto ti serve, ti
precluder� per sempre la creazione di un mde o dell'uso di un runtime... e
ti conviene?... come lo proteggerai l'mdb cos�?...
-- 
Ciao
Pablitomf
----------------------------
http://www.accessgroup.it/
----------------------------
Non mi fido molto delle statistiche, perch� un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 @Alex
In effetti mi servirebbe per copiare un controllo da una form Popup ad
una secondo form di sotto: il mio problema + grosso � riuscire a dire
ad Access che controllo selezionare in modalit� struttura per poi
copiarlo (non conosco il comando)! Ciao!
-------------  RISPOSTA  -----------
Ciao Paolo,
ti abbiamo detto in tutti i modi che questa tecnica, pi� che portarti 
benefici, ti dar� solo problemi in futuro. Capisco che un programmatore, 
specie di quelli di una certa et� (io sono nonno e a vent'anni lavoravo in 
Assembler), trovano un piacere enorme ad applicare una propria idea, 
ancorpi� se di difficile comprensione, allo stesso modo in cui si prova una 
grande soddisfazione quando si trova la soluzione di un rebus complicato. Ma 
un buon programmatore deve ricercare strade semplici, algoritmi lineari e 
veloci... � questa la sfida che ti devi porre.
Quel controllo, copialo ed incollalo mentre realizzi l'applicazione e non 
sprecare il tuo tempo a cercare di copiarlo in automatico al momento 
dell'esecuzione. Scusami se mi sono permesso, ma dallo scambio di opinioni 
che abbiamo avuto nell'altro trhead ho pensato che avresti accolto questo 
suggerimento evitando di tacciarmi come saccente.
Ciao
Antonio


Ciao Paolo...
Invece di persistere in questa strada che non ha un'uscita tecnica,
perchè non ci esponi in modo semplice il tuo OBIETTIVO...?
Magari di tante teste troviamo un metodo tecnico più pulito per farti
ottenere quello che vuoi...
@Alex


Vorrei copiare un controllo da una form di tipo Popup che contiene un
serie di controlli "standard", ad una form in costruzione cliccando
sul controllo tipo da copiare sulla form popup: con questo click il
controllo tipo della Popup (che sarebbe una sorta di catalogo di
controlli tipo) verrebbe copiato sulla form in costruzione con grande
velocità. Insomma una sorta di autocomposizione per chi crea la nuova
form, da non utilizzarsi da parte dell'utente finale! Poi, con codice
(già sperimentato e funziona) verrebbe aggiunto al controllo parte del
codice evento click, quello ripetitivo titpico del controllo, come ad
esempio il controllo dell'errore, ecc... Ciao e buon week end!

 @Alex
Vorrei copiare un controllo da una form di tipo Popup che contiene un
serie di controlli "standard", ad una form in costruzione cliccando
sul controllo tipo da copiare sulla form popup: con questo click il
controllo tipo della Popup (che sarebbe una sorta di catalogo di
controlli tipo) verrebbe copiato sulla form in costruzione con grande
velocit�. Insomma una sorta di autocomposizione per chi crea la nuova
form, da non utilizzarsi da parte dell'utente finale! Poi, con codice
(gi� sperimentato e funziona) verrebbe aggiunto al controllo parte del
codice evento click, quello ripetitivo titpico del controllo, come ad
esempio il controllo dell'errore, ecc... Ciao e buon week end!
---------  RISPOSTA  -------------
Ti indico una strada leggermente diversa, ma che forse ti potr� andare bene.
Nella maschera popup hai una serie di pulsanti e ciascuno dei quali attiva 
una particolare routine, pi� o meno complessa, all'evento click.
Dalla finestra principale di Access scegli di creare un nuovo modulo che 
chiamerai "500 Pulsanti vari" (il 500 � perch� io sono abituato ad anteporre 
al nome un numero che mi consenta di vedere gli oggetti in un ordine scelto 
da me).
Nel modulo inserisci tante routines quanti sono i pusanti che vorresti far 
diventare quasi automatici. Per esempio, potresti avere un pulsante che 
serve ad importare i dati da un foglio Excel. Crea quindi la routine:
Public Sub Inserisci_dati_da_Excel(NomeMaschera as String, NomeTabella as 
String)
    Dim Mask As Form
    For Each Mask In Forms
        If Mask.Name = NomeMachera Then Exit For
    Next
    DoCmd.TransferSpreadsheet acImport, , NomeTabella, _
            Mask!FoglioExcel, False, Mask!CartelladelFoglio & "!A1:Z10000"
End Sub
Fatto questo, cancella l'attuale routine del pulsante ed al suo posto 
scrivi:
Private Sub Pulsante1_Click()
        Inserisci_dati_da_Excel(Me.Name, MiaTabellaDiImportazione)
End Sub
Cos� facendo, il codice relativo al pulsante resta molto semplice, mentre la 
subroutine creata pu� essere anche molto complessa, ma questa complicazione 
resta esterna al pulsante ed alla maschera. Quasi (� un quasi presuntuoso ?) 
come volevi fare tu.
Ciao
Antonio

 Antonio
Grazie mille e buone ferie a che le fa già!