Newsgroup: it.comp.appl.access
Titolo: eseguire codice di una sottomaschera

Salvea tutti,
ho 2 form:
FORM1 maschera principale
FORM2 sottomaschera messa in FORM1
bottone1 messo nella FORM1
bottone2  messo in FORM2 che agisce sui controlli della
stessa form con evento click dichiarato Public.
Avrei la necessità di eseguire dal bottone1 il codice
del bottone2
nel bottone1 per eseguire il codice uso la sintassi:
Forms!FORM1!FORM2.bottone2_click
ma ho l'errore: "Proprietà o metodo non supportato dall'oggetto"
grazie
sdamy

 ma ho l'errore: "Proprietà o metodo non supportato dall'oggetto"
    <NomeDelProgetto>.<NomeDelModuloDellaMaschera>.bottone2_click
-oppure solamente-
    <NomeDelModuloDellaMaschera>.bottone2_click
    Il progetto non posso sapere come l'hai chiamato, ma i moduli delle
maschere dovrebbero chiamarsi:
        Form_FORM1
        Form_FORM2
quindi:
        Form_FORM2.bottone2_click
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:akfg34$1hu6pm$1...@ID-52090.news.dfncis.de...

grazie la tua sintassi funziona!
ora ho il problema che il codice funziona se eseguito
dal bottone2 ma non dal 1.
Il codice serve per spostare il record (docmd.gotorecord)
eseguendolo dal bottone 1 mi dice:"impossibile passare al record
specificato..."
hai una vaga idea?
grazie
sdamy

 hai una vaga idea?
    Posso solo averla vaga, vista la scarsita' di informazioni del tuo post.
    Noto anche che al mio "Male!" non hai risposto con un "Perche'?". Eppure
il problema che lamenti adesso e' una diretta conseguenza dell'uso
disinvolto di Public.
    Come hai visto a tue spese, rendere pubblica la procedura evento vuol
dire solo che essa puo' essere invocata dall'esterno del modulo nel quale e'
definita, non che il codice in essa contenuto funzioni comunque.
    Ne consegue che il codice cosi' richiamato dovra' comportarsi in maniera
differente a seconda dell'ambiente dal quale viene invocato.
    Scrivi che tale codice e':
        docmd.gotorecord
cioe' il metodo:
        Sub GoToRecord( _
            [ObjectType As AcDataObjectType = acActiveDataObject] _
          , [ObjectName] _
          , [Record As AcRecord = acNext] _
          , [Offset])
            Membro di Access.DoCmd
    Quali sono gli argomenti col quale lo chiami?


 ha scritto nel messaggio
news:akfn80$1i1r25$1...@ID-52090.news.dfncis.de...


Prima di proseguire nell'illustarti il mio problema, vorrei
complimenatarti per il tuo modo di esprimerti e per la
tua professionalità (questo è il mio parere!).
Vorrei chiederti cosa fai nella vita? Il programmatore o un insegnante
per i programmatori?
Leggevo in un post precedente che con Access ci lavorano
i cosiddetti "smanettoni" e i professionisti... ecco io mi considero
uno smanettone che vorrebbe diventare un professionista
mentre mi sembra che tu appartenga alla seconda categoria.
Rimanendo in tema vorrei dire che sono gli smanettoni
a rendere l'immagine di Access molto negativa....
....ho capito stò andando fuori tema....
*** IL MIO PROBLEMA ***
scenario:
ho una sottomaschera basata su di una query
nella quale ho dovuto costruirmi i tastini per spostare
la posizione del record. Ho fatto questo per poter intercettare lo
spostamento
nel record; infatti non esiste un evento che indichi lo spostamento in un
record.
Il codice del tastino (freccetta a destra) che uso nella sottomaschera per
spostarmi nel
recordset è il seguente:
Public Sub Next_Click()
numerorecord = Me.RecordsetClone.RecordCount
posizione = CurrentRecord
If posizione < numerorecord Then DoCmd.GoToRecord
End Sub
...gli altri tasti:
Private Sub Previous_Click()
numerorecord = Me.RecordsetClone.RecordCount
posizione = CurrentRecord
If posizione <> "1" Then DoCmd.GoToRecord , , acPrevious
End Sub
Private Sub first_Click()
DoCmd.GoToRecord , , acFirst
End Sub
Private Sub last_Click()
DoCmd.GoToRecord , , acLast
End Sub
N.B.:vedi il mio uso improprio del "Public"
fin qui tutto funziona correttamente (almeno secondo la mia modesta visione
della programmazione informatica)
* VENIAMO AL DUNQUE*
Per varie esigenze ho la necessità di far spostare la posizione
nel recordset della sottomaschera dalla maschera principale.
La mia idea era quella di far eseguire il codice legato ai tastini....
ma a quanto sembra ho intrapreso una strada errata.
saluti & grazie
sdamy

 ....ho capito stò andando fuori tema....
Ecco appunto ed io mi ero ripromesso di non aprire più thread OT.
Ugh ho detto e non dico più niente
Ciao. Fabrizio.
p.s. non ce la faccio a resistere, mi sa che fra un po' annullo l'iscrizione
all'NG ...... come ... non sento ... parla forte c'è gente che urla per la
gioia e non sen...

 record.
    Spostamento nel record o nel recordset?
    Ovvero: di campo in campo o di record in record?
    Esiste, comunque:
        Event Current()
            Membro di Access.Form
oppure non ho capito bene cosa intendi. A ecco... hai scritto "intercettare"
ma volevi dire "governare", "gestire". Giusto?
    "Intercettare" e' il contrario: un altro record diventa il record
corrente e tu vuoi esserne informato, vuoi cioe' essere avvertito che cio'
e' accaduto. Allora *intercetti* l'evento con una procedura evento alla
quale associerai il codice che vuoi sia eseguito in tale circostanza.
    Tu invece, per mezzo dei tuoi pulsanti, vuoi permettere all'utente di
spostarsi fra i record del recordset: VaiAPrimo, VaiAPrecedente,
VaiASuccessivo, VaiAUltimo, ...
    E siccome hai fatto la fatica di farli, questi pulsanti, col relativo
codice funzionante... ti sei detto: voglio usarli per maschera e
sottomaschera. Ma come hai sicuramente notato, anche Access mette i
"Pulsanti spostamento" nella maschera *e anche* su ciascuna sottomaschera.
    Ti sei preso una bella gatta da pelare.
    Il resto funziona? Perche' se bene o male funziona potresti intanto
accontentarti dei "Pulsanti spostamento" e proseguire facendo esperimenti su
una maschera nuova dove siano presenti i soli controlli indispensabili.
    Northwind e' ottimo per questi esercizi.

    Non errata in assoluto, pero'. Imprudente, diciamo.
    Dovresti approfondire le questioni legate al Focus degli oggetti.
    Considera, per esempio, che quando il Focus e' in un controllo della
sottomaschera, se l'utente clicca un pulsante che e' sulla maschera, la
sottomaschera perde il Focus, scatenando una serie di eventi di cui alcuni
potrebbero essere indesiderati.
    Dicevo piu' sopra di Northwind. Hai preso in esame anche gli esempi del
sito comune? Ce n'e' una valanga...


 gioia e non sen...
    Effettivamente noto che hai un alto tasso OTilico. Dovresti dedicarti
piu' a Access che agli accessori. (Verooo, signoraaa?) Senti? Anche la tua
mamma e' d'accordo.



saluti e buon smanettamento a tutti,
io compreso....
se non esistesse la parola "smanettare"
non esisterebbe nemmeno i programmatori
professionisti.
sfido chiunque a scrivere 100 righe di codice
senza commettere nessun errore...
sdamy

 --------
Se la vedo ancora sta firma ... non so come reagisco :-)
Ciao. Fabrizio.

 senza commettere nessun errore...
Hai dimenticato: una rondine non fa primavera e ...
non ci sono più le mezze stagioni.
Ciao. Fabrizio.

 che mi rovino per amore di sta' stronza ( Access) quello è un'altra cosa.
Access è un pischello!!!
Antonio

 Antonio
Oh merda, pure pederasta sono, ma non mi si può salvare nulla a questo
punto. :-)
Ciao. Fabrizio.

"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:aki0vr$fdf$1...@lacerta.tiscalinet.it...

E magari pure "la" database e "il" query?
Antonio

 Antonio
Scusa ma secondo te di che sesso può essere una cosa che ti dice sempre si e
poi fa quello che vuole lei? Che più gli dai e più ti prende? .... oh mio
dio mi ha rovinato la vita .... lo capisci .... io gli ho dato i miei anni
migliori ..... vabbe torno a lavurà va. :-)
Andrea, Nicola ....
Ciao. Fabrizio.