Newsgroup: it.comp.appl.access
Titolo: Uso del Calendario in altro form... HELP!

Ho un problema con l'uso del calendario in Access97.
Mi spiego: vorrei che da tante form diverse, in cui ci sono dei campi
date, sia possibile lanciare una form che contiene un calendario (il
monthview per intenderci) da cui sia possibile scegliere la data. 
Il mio problema è: come faccio a far capire a Monthview qual'è stata la
form che lo ha lanciato? Ho provato ad usare una variabile a cui assegnavo
il valore Screen.ActiveForm, ma la variabile poi non viene vista dalla
form in cui sta il calendario, nemmeno se la dichiaro Public! (qualcuno
può spiegarmi anche 'sta ocsa, please?)
Come la risolvo? Su 
sitocomune.com
 ci sono due soluzioni ma non fanno al
caso mio perchè la form di partenza non è unica nel mio caso! HELP!!!
GRazie per le risposte!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:bfloj0$bfi$1...@news.newsland.it...

Ciao usa una funzione posta in un modulo contenente l'oggetto Calendar e
richiamala da dove vuoi per ottenere la data..usa questo stralcio di codice
per provare..l'ho scritto tempo fa e funzionava bene..
Public Function GetDate(Optional ByVal varData As Variant) As Variant
    Dim varDataApp As Variant
    If IsNull(varData) Then
        varDataApp = Date
    Else
        If varData = vbNullString Then
            varDataApp = Date
        Else
            varDataApp = varData
        End If
    End If
    DoCmd.OpenForm FormName:="frmCalendarControl", WindowMode:=acDialog,
OpenArgs:=varDataApp
    If Caricata("frmCalendarControl") Then
        GetDate = Forms("frmCalendarControl").ocxCalendar.Value
        DoCmd.Close acForm, "frmCalendarControl"
    Else
        GetDate = varData
    End If
End Function


    hai 2 alternative:
        1) passare un parametro alla form nel seguente modo:
               docmd.OpenForm [nomeMascheradaAprire],,,,,,"il parametro da
passare"
               il "Parametro da passare" verrà letto all'interno della form
[nomeMascheradaAprire] mediante la proprietà OpenArgs;
        2) su evento apertura della maschera si rileva il nome della
maschera attiva (mediante il comando Screen.activeform);
spero di esserti stato utile.
Ciao:Ricky

 per provare..l'ho scritto tempo fa e funzionava bene..
Grazie della risposta ma ho un problema! Io la funzione col codice qui
sopra la metto nella form che contiene l'ocx ... ma se la lancio da
un'altra form non me la vede. PERCHE' ?!?
Grazie della risposta.


 ha scritto nel messaggio
news:bflu29$188$1...@news.newsland.it...

La devi mettere in un modulo globale.....

 La devi mettere in un modulo globale.....
Ok, capito... solo una cosa: cosa è la funzione Caricata? Compare nella
funzione ma avendo la versione inglese non riesco a capire cosa è... non
esiste una "Loaded" corrispondente... E' una funziona che ti eri creato
tu? Se si, che cosa fa? (una mezza idea ce l'ho)


 ha scritto nel messaggio
news:bfm8sq$70f$1...@news.newsland.it...

Scusa l'ho inserita ma forse a te non serve..è una funzione che controlla se
la maschera referenziata è appunto caricata,mettendo la funzione in un
modulo globale controllo da lì quale maschera è attiva.

 ha scritto nel messaggio
news:bfm8sq$70f$1...@news.newsland.it...

Ariscusa ..ero impegnato è non vedevo quello che scrivevo.In quel contesto
la funzione Caricata serve solo a controllare se è stata caricata la form
contenente il controllo Calendar,ma nel tuo contesto non serve..ciao

 modulo globale controllo da lě quale maschera č attiva.
Ok, credo di aver capito... adesso viene la parte ostica... come la
richiamo? Se metto (nella form che chiama il calendario) il campo data 
come =Getdate(), se tolgo l'if della "caricata" , il calendario non mette
la data nel campo e quando lo chiudo mi dice che la funzione si riferisce
ad una form (quella col calendario) che non č aperta. 
Dove sbaglio?
Grazie e scusa la rottura


 ha scritto nel messaggio
news:bfo3ai$d9k$1...@news.newsland.it...

Ciao Abner,scusa ero 
fuori.se
 non hai risolto posso postarti gli esempi...

> Ciao Abner,scusa ero 
fuori.se
 non hai risolto posso postarti gli esempi...
Figurati, scusa tu della continua rottura... cmq non ho ancora risolto, se
potessi farmi qualche es.
Del tipo: ho un campo data e volgio che quando ci clicco sopra mi parte il
calendario e quindi si prenda la data da lě... Come chiamo la funzione dal
campo? 
Pensavo un quando ho un GotFocus... ma come la lancio??? Se scrivo
MiaForm.Miocontrol = Getdate() parte la funzione ma non mi "sputa" la data
nella form... perchč?



Allora supponiamo che hai un comando sulla form chiamante di nome cmdDdata
scriverai:
dim dTemp_date as Date
    dTemp_date = DataPre
    DataPre = GetDate(dTemp_date)
dove usi dTemp_date perchè potresti rientrare nella form calendario pur
avendo già associato una data alla text contenente il valore(DatePre)
Il resto lo fa la routine che ti ho mandato(GetDAte),cmq nella form del
Calendario nell'evento load devi scrivere:
    If Not IsNull(Form_frmCalendario.OpenArgs) Then
         selData = Form_frmCalendario.OpenArgs
    End If
Questo perchè nella routine è previsto che tu possa rientrare nella form con
un valore già definito..Spero di essere stato chiaro..Ciao