title: Menu come visual basic in access

text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
> "Sib" <si...@SPAMiol.it> ha scritto nel messaggio
> > Fermo restando che le barre dei menu mi sembrano molto piu' vaganti di
una
> > maschera, certo che si puo' fare, senza neanche scomodare il VBA, basta
> > usare le macro.
> > Ogni volta che ho proposto un programma cosi' (con tutto il dipendio di
> > energie che ne consegue) il cliente mi ha sempre chiesto di fargli una
bella
> > maschera principale coi pulsantoni grossi per non sbagliare mira.
> >
> > Sib
> >
>
> Grazie, mi spieghi come farla con le macro ?
>
> E' difficile ?
E' facile da fare e difficile da spiegare.
2 strade:
Menu Visualizza-Barre degli strumenti-Personalizza
Maschera in visualizzazione struttura, proprieta'-scheda Altro-Barra Menu
pulsante F1
Sib


title: Menu come visual basic in access

author: MM

text:
Si ma allora mi fai fare una barra normale, io invece voglio che le voci
siano sulla barra dell'applicazione
Grazie.
Ciao
Marco


title: Menu come visual basic in access

author: Sib

text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
> Si ma allora mi fai fare una barra normale, io invece voglio che le voci
> siano sulla barra dell'applicazione
Scusa, non ho capito.
le barre sono tutte normali, anche quella dell'applicazione.
Puoi modificare quella che c'e' o sostituirla con una tutta tua.
Sib


title: Menu come visual basic in access

text:
Anche nel caso di un file mde ?
In tal caso devi modificare quella della runtime o sbaglio ?
Ciao
Marco


title: Menu come visual basic in access

text:
Come fare per crearne una in access 2000 tutta mia personalizzata ?
Con simpatia
Marco.


title: Menu come visual basic in access

author: Ettore Manara

text:
"MM"
> Come fare per crearne una in access 2000 tutta mia personalizzata ?
Ma porca vacca, consulta l'help!
Esistono strumenti visuali molto comodi per creare tutte le barre che vuoi
... puoi perfino crearne o modificarne a Runtime utilizzando codice VBA (e
il tutto è ben più flessibile dell'editor di menù standard di VB).
Ciao.


title: Menu come visual basic in access

author: antcim

text:
[cut]
> E' facile da fare e difficile da spiegare.
> 2 strade:
> Menu Visualizza-Barre degli strumenti-Personalizza
> Maschera in visualizzazione struttura, proprieta'-scheda Altro-Barra Menu
> pulsante F1
>
> Sib
Scusate l'intromissione.
Ciao Sib, una domanda:
Generato il 'Menu a Tendina', cliccato su una scelta,
come faccio a sapere nel codice la scelta effettuata..?
Mi spiego meglio:
Supponiamo di aver cliccato sulla seconda scelta della
prima tendina. Nel codice, a cosa corrisponde..?
Grazie in anticipo.
Antcim


title: Menu come visual basic in access

text:
"Ettore Manara" <
ettore...@libero.it
> ha scritto nel messaggio
news:4zJB9.40379$8E3.1...@twister2.libero.it...
> Ma porca vacca, consulta l'help!
> Esistono strumenti visuali molto comodi per creare tutte le barre che vuoi
> ... puoi perfino crearne o modificarne a Runtime utilizzando codice VBA (e
> il tutto è ben più flessibile dell'editor di menù standard di VB).
>
> Ciao.
Se ho fatto la domanda è perchè ho già consultato l'help.
Non essendoci molto con la testa per diversi motivi,
chiedevo se qualcuno fosse così gentile da spiegare.
Ciao con simpatia.
Marco


title: Menu come visual basic in access

author: Tiziano

text:
"MM"
>
> chiedevo se qualcuno fosse così gentile da spiegare.
>
> Ciao con simpatia.
Anche secondo me è difficile da spiegare a parole: dovresti perderci un pò
di tempo da te consultando l'help, postando poi difficoltà più specifiche.


title: Menu come visual basic in access

text:
"antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
> [cut]
>
> > E' facile da fare e difficile da spiegare.
> > 2 strade:
> > Menu Visualizza-Barre degli strumenti-Personalizza
> > Maschera in visualizzazione struttura, proprieta'-scheda Altro-Barra
Menu
> > pulsante F1
cut
> Generato il 'Menu a Tendina', cliccato su una scelta,
> come faccio a sapere nel codice la scelta effettuata..?
> Mi spiego meglio:
> Supponiamo di aver cliccato sulla seconda scelta della
> prima tendina. Nel codice, a cosa corrisponde..?
E' evidente che non hai mai fatto un menu a tendina, altrimenti sapresti che
non e' cosi' che funziona.
Prova.
Sib
--
Protesta contro gli operatori telefonici per le tariffe internet.
Scrivimi se vuoi saperne di piu' e/o vuoi aderire all'iniziativa


title: Menu come visual basic in access

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:j1PB9.41886$8E3.1...@twister2.libero.it...
> "antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
> > [cut]
> >
> > > E' facile da fare e difficile da spiegare.
> > > 2 strade:
> > > Menu Visualizza-Barre degli strumenti-Personalizza
> > > Maschera in visualizzazione struttura, proprieta'-scheda Altro-Barra
> Menu
> > > pulsante F1
> cut
> > Generato il 'Menu a Tendina', cliccato su una scelta,
> > come faccio a sapere nel codice la scelta effettuata..?
> > Mi spiego meglio:
> > Supponiamo di aver cliccato sulla seconda scelta della
> > prima tendina. Nel codice, a cosa corrisponde..?
>
> E' evidente che non hai mai fatto un menu a tendina, altrimenti sapresti
che
> non e' cosi' che funziona.
> Prova.
>
> Sib
Ciao Sib
Ammiro le tue conoscenze ma non confondere la mia incapacita'
con il fatto che non ho mai fatto un menu a tendina.
L'ho fatto e l'adopero.
Se ti ho posto il problema e' proprio perche' non sono in grado
di leggere o rilevare, via codice, la scelta fatta.
Attualmente, ad ogni scelta effettuata, va in onda una macro....
Il tutto funziona correttamente...
Facevo 'quella' domanda proprio perche', se sapessi rilevare la
scelta fatta, eviterei parecchie macro 'inutili'.
Se posso..., clipper alla costruzione dei menu a tendina richiedeva
due variabili:
-la prima per il menu orizzontale (primario),
-la seconda per i menu verticali (secondari).
Qundi, supponendo di aver scelto la 3.a voce della 2.a scelta primaria,
l'indirizzo era:  var1[2]var2[3]
In Access, proprio per la mia incapacita', non riesco a trovare
nulla di simile..ecco il perche' della mia domanda :-(
Il menu a tendina da me costruito in Access, come esattamente
dicevi tu al precedente interlocutore, ad ogni scelta richiede una macro...
Ok..!! Ma ripeto, se da codice, in un punto qualsiasi del programma,
volessi sapere quale scelta e' all'origine di quello che si sta facendo,
sinceramente non sono in grado di 'capire..'.
Grazie della tua pazienza e, se vuoi, illuminami.
Cordialita'
Antcim


title: Menu come visual basic in access

text:
"antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
> "Sib" <si...@SPAMiol.it> ha scritto nel messaggio
> > "antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
cut
> > > Supponiamo di aver cliccato sulla seconda scelta della
> > > prima tendina. Nel codice, a cosa corrisponde..?
> >
> > E' evidente che non hai mai fatto un menu a tendina, altrimenti sapresti
> che
> > non e' cosi' che funziona.
> > Prova.
cut
> Se ti ho posto il problema e' proprio perche' non sono in grado
> di leggere o rilevare, via codice, la scelta fatta.
> Attualmente, ad ogni scelta effettuata, va in onda una macro....
> Il tutto funziona correttamente...
> Facevo 'quella' domanda proprio perche', se sapessi rilevare la
> scelta fatta, eviterei parecchie macro 'inutili'.
cut
per il tuo problema specifico, tieni presente che le macro possono anche
essere utilizzate per lanciare routine. Detto questo puoi lanciare sempre la
stessa routine passandole pero' un parametro di volta in volta diverso.
Questo comunque e' un artificio utile solo quando piu' voci di menu eseguono
operazioni molto simili.
Altra strada e' quella di impostare da codice il menu facendo richiamare al
menu stesso direttamente una funzione con i suoi parametri:
Public Function ProvaMenu()
    MsgBox "Funziona!!"
End Function
Function prova()
    Debug.Print
CommandBars("MENUBAR").Controls("Principale").Controls(1).onaction
    Debug.Print
CommandBars("MENUBAR").Controls("Principale").Controls(1).Parameter
    CommandBars("MENUBAR").Controls("Principale").Controls(1).onaction =
"=ProvaMenu()"
    CommandBars("MENUBAR").Controls("Principale").Controls(1).Parameter = ""
End Function
Se hai una barra dei menu che si chiama MENUBAR che contiene un menu a
tendina che si chiama Principale che a sua volta contiene almeno una voce
nella tendina, dopo l'esecuzione del codice Prova la prima voce del tuo menu
eseguira' la funzione ProvaMenu aprendoti un box con la scritta "Funziona".
Sib


title: Menu come visual basic in access

author: smark

text:
VERO!
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:wrzB9.5780$Ka3.1...@twister1.libero.it...



title: Menu come visual basic in access

author: Claudio

text:
Sun, 17 Nov 2002 22:35:51 GMT, smark ha scritto ben 37 righe per dire:
>VERO!
Visto che non lo fai mai, ti comunico che è buona norma rispondere
*dopo* il quoting.
Grazie.
Ciao. Claudio.


title: Menu come visual basic in access

text:
"smark" <
sm...@libero.it
> ha scritto nel messaggio
news:bRUB9.9901$Ka3.2...@twister1.libero.it...



title: Menu come visual basic in access

text:
"smark" <
sm...@libero.it
> ha scritto nel messaggio
news:bRUB9.9901$Ka3.2...@twister1.libero.it...
> VERO!
Scrivo qui solo perche' sono in risposta al "VERO!"...
C'e' da chiedersi come mai Access, Excel, Outlook, Windows, e
la lista non finirebbe mai, sono impostati con i menu a tendina..:-)
Cordialita'
Antcim



title: Menu come visual basic in access

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:LDSB9.42949$8E3.1...@twister2.libero.it...

Ciao Sib
Domattina provero' il tuo consiglio (via codice..)
Sara' mia premura comunicare con te / NG.
Convieni che sarebbe estremamente comodo poter rilevare
la scelta effettuata come avviene in una Casella Combinata..?
La differenza sta nel fatto che la Casella Combinata
ha un 'Nome' di riferimento, il Menu a Tendina no.. :-(
(Sempre per quel poco che so...)
Cordialita', e buona settimana.
Antcim


title: Menu come visual basic in access

text:
"antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
cut
> Convieni che sarebbe estremamente comodo poter rilevare
> la scelta effettuata come avviene in una Casella Combinata..?
Non saprei, io ho sempre visto le voci di menu come l'avvio di procedure
specifiche e non come selezioni.
Ad ogni modo puoi avviare una funzione passando parametri specifici, come ti
dicevo, in modo da poter identificare la voce selezionata. L'utilita', cosi'
al moento, non la vedo. A te a cosa serve?
Sib


title: Menu come visual basic in access

author: Harry da ufficio

text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
news:lAyB9.39079$8E3.1...@twister2.libero.it...
> Si possono creare applicazioni in access 2000 che hanno la barra menù come
> qualsiasi programmma ?
> ......
> Vorrei evitare barre vaganti che possono essere spostate. Vorrei fare con
la
> visualizzazione tipica di qualsiasi programma windows con relativa barra
> menu, quella classica (file ; modifica ; viualizza ,ecc...)
Fai una barra degli strumenti come dici tu, la posizioni dove vuoi e poi vai
in proprietà di qs barra e TOGLI la spunta da:
- consenti personalizzazione
- consenti ridimensionamento
- consenti spostamento
- attiva/disattiva
E tutto dovrebbe funzionare come chiedi


title: Menu come visual basic in access

text:
Sun, 17 Nov 2002 23:56:54 GMT, antcim ha scritto ben 52 righe per dire:
>
>"smark" <
sm...@libero.it
> ha scritto nel messaggio
>news:bRUB9.9901$Ka3.2...@twister1.libero.it...
>> VERO!
>
>Scrivo qui solo perche' sono in risposta al "VERO!"...
Leggo il terrore nei tuoi occhi :-)
Ciao. Claudio.


title: Menu come visual basic in access

text:
"Claudio" <c...@NOSPAMandCOsupereva.it> ha scritto nel messaggio
news:9o8ituogl2ui78e3n...@4ax.com...

Ciao Claudio
Centrato..!!! :-)
Cordialita'
Antcim


title: Menu come visual basic in access

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:LDSB9.42949$8E3.1...@twister2.libero.it...

Ciao Sib
Hai perfettamente ragione..!
Grazie della disponibilita'.
Antcim
ps. pura curiosita', supponiamo un ipotetico
     menu a tendina, tipo :
     1INSERIMENTO     2MODIFICA   .....
     1Ordini                      2Ordini             ....
     1Cicli                         2Cicli                ....
     1Interventi                  2Interventi        ....
La macro da lanciare per 1Ordini (Inserimento)
e' simile alla macro per lanciare 2Ordini (Modifica)
Tu come ti comporti..? Crei due macro..?
Ciao.
Antcim


title: Menu come visual basic in access

text:
io tutt'ora non riesco a capire.
Ma qualcuno mi puo' dire se stiamo parlando della stessa cosa ?
Se aprite outlook express vedete in alto File ; Modifica ; Visualizza
;Strumenti ; Messaggio
Io intendo quel menu' !!
Ma non quello di outlook ma quello di access (anche nella versione runtime).
Non riesco a capire cosa devo fare per aggiungere (prendendo l'esempio di
prima) un menu chiamato prova in parte all'ultimo chiamato messaggio (nel
caso del mio esempio).
Non riesco forse a spiegarmi, ma non riesco ad arrivare con la testa !
Scusate ma sono un po' inc......to, specialmente quando noto delle mie
limitazioni mentali.
Ciao,
Marco.


title: Menu come visual basic in access

text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
> io tutt'ora non riesco a capire.
>
> Ma qualcuno mi puo' dire se stiamo parlando della stessa cosa ?
> Se aprite outlook express vedete in alto File ; Modifica ; Visualizza
> ;Strumenti ; Messaggio
>
> Io intendo quel menu' !!
cut
Anche noi.
Se apri access vedrai che nel menu' Strumenti (modifica mi pare nelle
vecchie versioni) trovi la voce "personalizza", con quella puoi farti il
menu che ti pare (vedi help)
Sib


title: Menu come visual basic in access

text:
"antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
> "Sib" <si...@SPAMiol.it> ha scritto nel messaggio
cut
> > Public Function ProvaMenu()
> >     MsgBox "Funziona!!"
> > End Function
> >
> > Function prova()
> >     Debug.Print
> > CommandBars("MENUBAR").Controls("Principale").Controls(1).onaction
> >     Debug.Print
> > CommandBars("MENUBAR").Controls("Principale").Controls(1).Parameter
> >     CommandBars("MENUBAR").Controls("Principale").Controls(1).onaction =
> > "=ProvaMenu()"
> >     CommandBars("MENUBAR").Controls("Principale").Controls(1).Parameter
=
> ""
> > End Function
> >
> > Se hai una barra dei menu che si chiama MENUBAR che contiene un menu a
> > tendina che si chiama Principale che a sua volta contiene almeno una
voce
> > nella tendina, dopo l'esecuzione del codice Prova la prima voce del tuo
> menu
> > eseguira' la funzione ProvaMenu aprendoti un box con la scritta
> "Funziona".
cut
> ps. pura curiosita', supponiamo un ipotetico
>      menu a tendina, tipo :
>      1INSERIMENTO     2MODIFICA   .....
>      1Ordini                      2Ordini             ....
>      1Cicli                         2Cicli                ....
>      1Interventi                  2Interventi        ....
> La macro da lanciare per 1Ordini (Inserimento)
> e' simile alla macro per lanciare 2Ordini (Modifica)
> Tu come ti comporti..? Crei due macro..?
in effetti si.
tanto in questi casi la macro deve solo aprire una maschera.
Talvolta creo una macro che esegue una routine cui ciascuna macro invia
parametri diversi.
Sib


title: Menu come visual basic in access

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:eDmC9.26725$744.9...@news1.tin.it...

Ciao Sib
Purtroppo ti posso rispondere solo ora.
Grazie di cuore
Antcim


title: Menu come visual basic in access

text:
"antcim" <
gabriel...@virgilio.it
> ha scritto nel messaggio
cut
> Purtroppo ti posso rispondere solo ora.
> Grazie di cuore
> Antcim
Prego
Sib


title: Tipo cursore: mano con dito indice

author: kaloma

text:
Avevo già letto qualcosa su questo NG, ma non riesco più a trovarlo.
Avrei bisogno che al passaggio del mouse su un controllo in una maschera, il
puntatore del mouse da freccia si tramutasse nella classica mano chiusa con
dito indice indicante (quello classico dei link, per intenderci).
Grazie.
--
kaloma


title: Tipo cursore: mano con dito indice

author: Alessandro Baraldi

text:
"kaloma" <
brun...@tin.it
> wrote in message
news:bVjUc.113706$
OR2.5...@news3.tin.it

Se usi un CommandButton o una Label allora ti basta mettere
nella proprietà SubHyperlinkAddress uno Spazio.
Ciao.
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Tipo cursore: mano con dito indice

author: giorgio rancati

text:
"kaloma" <
brun...@tin.it
> ha scritto nel messaggio
news:bVjUc.113706$OR2.5...@news3.tin.it...

Ciao,
qui c'è un esempio molto semplice
 ------------------------
API: Displaying a custom Mouse icon

http://www.mvps.org/access/api/api0044.htm
------------------------
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:39a05e73cac6de44db...@mygate.mailgate.org...

Azz... che velocità!
Grazie.
--
kaloma
P.S. A proposito: complimenti per il tuo sito. Insieme a quello del
SitoComune, lo considero una risorsa molto ricca.


title: Tipo cursore: mano con dito indice

text:
"giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> ha scritto nel
messaggio news:cfsic5$pfd$1...@lacerta.tiscalinet.it...

Per me, però, non è così semplice. Mi devo studiare con calma il listato (e
lo farò...) perché i miei corposi limiti non mi permettono diversamente
(primo fra tutti la non conoscenza della lingua inglese).
Comunque un sentito grazie.
Ciao.
--
kaloma


title: Tipo cursore: mano con dito indice

text:
"kaloma" <
brun...@tin.it
> ha scritto nel messaggio
news:oekUc.113772$OR2.5...@news3.tin.it...
>
> "giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> ha scritto nel
> messaggio news:cfsic5$pfd$1...@lacerta.tiscalinet.it...
> >
> > "kaloma" <
brun...@tin.it
> ha scritto nel messaggio
> > news:bVjUc.113706$OR2.5...@news3.tin.it...
[CUT]
> > >
> Per me, però, non è così semplice. Mi devo studiare con calma il listato
(e
> lo farò...) perché i miei corposi limiti non mi permettono diversamente
> (primo fra tutti la non conoscenza della lingua inglese).
>
copia il codice del Link e inseriscilo in un modulo BAS
Poi nell'evento MouseMove del controllo in oggetto inserisci ...
-------------------------
Private Sub Testo0_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
    'Cambia il cursore in manina
    MouseCursor IDC_HAND
End Sub
------------------------
Per tornare al puntatore standard nell'evento MouseMove della sezione che
contiene il controllo inserisci
-------------------------
Private Sub Corpo_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
    Screen.MousePointer = 0
End Sub
-----------------------
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
"giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> wrote in
message news:cfsl4q$r52$
1...@lacerta.tiscalinet.it
[CUT]
>
> Ciao Giorgio
Ciao Giorgio, questo metodo che funziona ha perň dei
problemi che generalmente on si notano, io perň in un'applicazione
Grafica usata ho riscontrato che viene impegnata la memoria
e non liberata correttamente.
Fai una prova cosě:
Metti in una form un controllo immagine e su MouseMove del controllo
immagine applica la modifica dell'ICONA.
Apri Task Manager e vedrai che dopo pochi secondi di smanettamento
all'intyerno del controllo la Memoria va al 100%
Questo problema postato su NG americano mi risposero che č un Bugs
conosciuto, non da me almeno....!!!
Sai notizie in merito...?
@Alex.



title: Tipo cursore: mano con dito indice

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:d9a3c0384e03cbce12...@mygate.mailgate.org...

Ciao @Alex,
no, non ho notizie in merito, forse era un BUG che č stato risolto perchč ho
fatto la prova e l'utilizzo della CPU rimane a 1% e l'utilizzo della memoria
non si sposta di un byte 185000 su un totale di 785900 con un sacco di roba
aperta e Sql Server in funzione.
Ho OfficeXp Sp2 su Win 2000 prof Sp4
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
"giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> wrote in
message news:cfssni$vh0$
1...@lacerta.tiscalinet.it
[CUT]
> Ciao @Alex,
>
> no, non ho notizie in merito, forse era un BUG che è stato risolto perchè ho
> fatto la prova e l'utilizzo della CPU rimane a 1% e l'utilizzo della memoria
> non si sposta di un byte 185000 su un totale di 785900 con un sacco di roba
> aperta e Sql Server in funzione.
>
> Ho OfficeXp Sp2 su Win 2000 prof Sp4
>
> Ciao Giorgio
La cosa è nata e discussa con Lebans, se provi il Demo
Magnifie da lui realizzato e applichi la modifica del Cursore
al suo Demo si verifica l'anomalia in questione.
Anche lui nelle varie spiegazioni al problema ha supportato
l'ipotesi di un Bugs nella sovrapposizione delle cose.
Io ho la stessa configurazione da te indicata, e ho avuto
questi problemi con ARCHIFOTO realizzato qualche tempo fà.
Non ho trovato soluzione se non quella di eliminare la routine
e sftuttare la proprietà SubHyperlinkAddress= " "
con la quale non c'è nessun problema.
Ciao.



title: Tipo cursore: mano con dito indice

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:b152f35f63e46f797c...@mygate.mailgate.org...
> "giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> wrote in
> message news:cfssni$vh0$
1...@lacerta.tiscalinet.it
> [CUT]
>[CUT]
> La cosa è nata e discussa con Lebans, se provi il Demo
> Magnifie da lui realizzato e applichi la modifica del Cursore
> al suo Demo si verifica l'anomalia in questione.
>
> Anche lui nelle varie spiegazioni al problema ha supportato
> l'ipotesi di un Bugs nella sovrapposizione delle cose.
>
> Io ho la stessa configurazione da te indicata, e ho avuto
> questi problemi con ARCHIFOTO realizzato qualche tempo fà.
>
> Non ho trovato soluzione se non quella di eliminare la routine
> e sftuttare la proprietà SubHyperlinkAddress= " "
> con la quale non c'è nessun problema.
>
Bo!
ho scaricato l'esempio  Magnify  da
http://www.lebans.com/DownloadFiles/MagnifyVer2.zip
nell'evento MouseMove del corpo maschera ho  messo
------------
Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
    'Cambia il cursore in manina
    MouseCursor IDC_HAND
End Sub
-----------
ma la memoria e l'utilizzo della CPU rimane ferma.
Forse l'esempio non è questo o forse devo mettere il cambio del cursore in
un'altro posto ?
Ciao Giorgio


title: Tipo cursore: mano con dito indice

author: ALESSANDRO Baraldi

text:
> Bo!
> ho scaricato l'esempio  Magnify  da
>
http://www.lebans.com/DownloadFiles/MagnifyVer2.zip
>
> nell'evento MouseMove del corpo maschera ho  messo
> ------------
> Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As
> Single, Y As Single)
>
>     'Cambia il cursore in manina
>     MouseCursor IDC_HAND
>
> End Sub
> -----------
>
> ma la memoria e l'utilizzo della CPU rimane ferma.
>
> Forse l'esempio non è questo o forse devo mettere il cambio del cursore in
> un'altro posto ?
>
> Ciao Giorgio
No l'esempio è quello ed è la prova fatta da me
ho fatto anche un test su A97 e piattaforma NT
stesso risultato.....!!!!
Non sò che dire.
Nel mio caso addirittura s'impalla il PC, aspetto qualche
secondo e chiudo tutto...!
Vabbè che devo dire.
Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cftguq$dp5$1...@lacerta.tiscalinet.it...
[CUT]
> No l'esempio è quello ed è la prova fatta da me
> ho fatto anche un test su A97 e piattaforma NT
> stesso risultato.....!!!!
> Non sò che dire.
> Nel mio caso addirittura s'impalla il PC, aspetto qualche
> secondo e chiudo tutto...!
> Vabbè che devo dire.
>
Ciao,
E' noto che Access97  impegna il 100% della CPU anche quando non si fa
niente
-------------
ACC: Microsoft Access Shows 100% CPU Utilization During Idle Time
http://support.microsoft.com/default.aspx?scid=kb;en-us;160819&Product=acc97
-------------
e forse non gestisce bene la memoria.
Quello che non ho capito è se a te capita anche con AccessXp.
Ciao Giorgio


title: Tipo cursore: mano con dito indice

author: Pixel

text:
"ALESSANDRO Baraldi> >
> No l'esempio č quello ed č la prova fatta da me
> ho fatto anche un test su A97 e piattaforma NT
> stesso risultato.....!!!!
> Non sņ che dire.
> Nel mio caso addirittura s'impalla il PC, aspetto qualche
> secondo e chiudo tutto...!
> Vabbč che devo dire.
Mhmm ... gatta ci cova:  il fatto che A97 dia un problema del genere non
significa che permanga con le versioni successive.
Access '97 combina diverse biricchinate di gestione della memoria che non ho
riscontrato con la versione XP.
Pixel


title: Tipo cursore: mano con dito indice

text:
> Ciao,
> E' noto che Access97  impegna il 100% della CPU anche quando non si fa
> niente
> -------------
> ACC: Microsoft Access Shows 100% CPU Utilization During Idle Time
>
http://support.microsoft.com/default.aspx?scid=kb;en-us;160819&Product=acc97
> -------------
> e forse non gestisce bene la memoria.
>
> Quello che non ho capito è se a te capita anche con AccessXp.
>
> Ciao Giorgio
Certamente, la cosa è risaputa, ma come ti accennavo il paragone
l'ho fatto con entrambe le versioni, per questo non mi torna molto.
Soprattutto perchè a te non dà il problema, ma quello che è anomalo
è che a suo tempo fu proprio Lebans a suggerirmi di eliminare la
chiamata SendMessage per l'Icona.
E fatto come mi suggerì nessun problema.
Non saprei cos'altro aggiungere.
Ho però notato una cosa:
Magnifie aperto normalmente con Sfondo Access Forms ecc...
non dà problemi.
Prova a creare una Form Con uncontrollo Immagine e carica una
BMP(o altro) ad alta risoluzione.
Quindi gioca con il Mouse sopra l'immagine, nella Form Magnifie
si riproduce la sezione.
Quello che noto io è:
1)Visualizzazione a SCATTI ovviamente dovuta alla saturazione
della Memoria(100%)
2)Se muovo velocemente il Mouse insistendo sull'immagine ad un certo
punto mi va in loop e per 5÷10secondi perdo il controllo.
Ho 512Mb di Ram con un 766Mhz W2K(sp4) OfficeXP (sp2) e tutti gli
aggiornamenti esistenti.
Come dicevo tutti questi problemi in effetti non sussistono se non vado su
un'immagine(non ho provato se influenza la risoluzione)
Ciao.
@Alex.



title: Tipo cursore: mano con dito indice

text:
> Mhmm ... gatta ci cova:  il fatto che A97 dia un problema del genere non
> significa che permanga con le versioni successive.
> Access '97 combina diverse biricchinate di gestione della memoria che non
ho
> riscontrato con la versione XP.
>
> Pixel
Se rileggi i post ho testato il tutto sia su W2K+O_XP
che WNT+O_97 e il problema persiste.
Forse con il testo che ho spiegato a Giorgio ti può essere
più chiaro la Variabile in ballo.
Ciao.



title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cftmtt$grd$1...@lacerta.tiscalinet.it...
[CUT]
> Certamente, la cosa è risaputa, ma come ti accennavo il paragone
> l'ho fatto con entrambe le versioni, per questo non mi torna molto.
> Soprattutto perchè a te non dà il problema, ma quello che è anomalo
> è che a suo tempo fu proprio Lebans a suggerirmi di eliminare la
> chiamata SendMessage per l'Icona.
SendMessage ?
la Api usata dall'esempio è
-------------
Declare Function SetCursor Lib "user32" _
  (ByVal hCursor As Long) As Long
------------
[CUT]
>
> Prova a creare una Form Con uncontrollo Immagine e carica una
> BMP(o altro) ad alta risoluzione.
> Quindi gioca con il Mouse sopra l'immagine, nella Form Magnifie
> si riproduce la sezione.
fatto, ho caricato l'immagine Castello.jpg  e ho messo la manina, ho aperto
Magnify anch'esso con manina, la memoria occupata è 156Mb la CPU 2%.
> Quello che noto io è:
> 1)Visualizzazione a SCATTI ovviamente dovuta alla saturazione
> della Memoria(100%)
> 2)Se muovo velocemente il Mouse insistendo sull'immagine ad un certo
> punto mi va in loop e per 5÷10secondi perdo il controllo.
a me fila tutto liscio.
>
> Ho 512Mb di Ram con un 766Mhz W2K(sp4) OfficeXP (sp2) e tutti gli
> aggiornamenti esistenti.
io ho 767 Mb  PIV 2.8 Ghz W2K(sp4) OfficeXP (sp2)
> Come dicevo tutti questi problemi in effetti non sussistono se non vado su
> un'immagine(non ho provato se influenza la risoluzione)
non è che stiamo usando due diversi metodi per impostare il cursore ?
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
> non č che stiamo usando due diversi metodi per impostare il cursore ?
>
> Ciao Giorgio
No, ho detto una cavolata....!
  lngRet = LoadCursorFromFile(strPathToCursor)
  lngRet = SetCursor(lngRet)
Computer a parte, il tuo decisamente piů aggiornato e potente
non vedo altre differenze e sinceramente non credo sia quě il
problema.... elaboro con Photoshop tranquillamente immagini HR
da 30Mb(bmp) quindi se avessi problemi di questo tipo mi accorgerei.
Ammutolito.
Non aggiungo altro se non il ringraziamento per il tempo dedicatomi.
Ciao Giorgio.
@Alex.


title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cftvo0$n0t$1...@lacerta.tiscalinet.it...
>
[CUT]
>
> No, ho detto una cavolata....!
>
>   lngRet = LoadCursorFromFile(strPathToCursor)
>   lngRet = SetCursor(lngRet)
aspetta !!, forse è qui la differenza, per mettere la manina non è
necessario leggere un file , viene utilizzato quello predefinito di Windows.
----------------
lngRet = LoadCursorBynum(0&, CursorType)
lngRet = SetCursor(lngRet)
----------------
in questo modo non creo nessun cursore perchè è già definito in memoria.
Se la tua routine continua a leggere il file e a creare un nuovo handle per
il cursore ti credo che prima o poi va in Crash, ad ogni step del mouse
carichi in memoria un nuovo cursore e un nuovo handle !! in questo modo
anche a me continua ad aumentare la memoria occupata.
Prova a fare così: nel form load carichi in memoria il cursore e salvi il
suo Handle in una variabile, nell'evento Mouse_Move lo setti passando
l'handle salvato in precedenza SetCursor(TuoHandleCursore) . Quando chiudi
il form o quando devi cambiare cursore ricordati di liberare la memoria con
DestroyCursor.
anche se non ne hai bisogno ti posto il codice con cui mi  funziona
Ciao Giorgio
--------------------------------
Option Compare Database
Option Explicit
Private Declare Function LoadCursorFromFile Lib "user32" Alias _
  "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetCursor Lib "user32" _
  (ByVal hCursor As Long) As Long
Private Declare Function DestroyCursor Lib "user32" _
  (ByVal hCursor As Long) As Long
Dim MioCur As Long ' Handle cursore
Private Sub Form_Load()
       'Carico il cursore
       MioCur = LoadCursorFromFile("C:\Winnt\Cursors\harrow.cur")
End Sub
Private Sub Immagine0_MouseMove(Button As Integer, Shift As Integer, x As
Single, Y As Single)
        SetCursor MioCur
End Sub
Private Sub Form_Unload(Cancel As Integer)
      'Distruggo il cursore
      DestroyCursor MioCur
End Sub
----------------------------------


title: Tipo cursore: mano con dito indice

text:
"giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> wrote in
message news:cfu2f0$obc$
1...@lacerta.tiscalinet.it
[CUT]
> aspetta !!, forse è qui la differenza, per mettere la manina non è
> necessario leggere un file , viene utilizzato quello predefinito di Windows.
> ----------------
> lngRet = LoadCursorBynum(0&, CursorType)
> lngRet = SetCursor(lngRet)
> ----------------
> in questo modo non creo nessun cursore perchè è già definito in memoria.
>
> Se la tua routine continua a leggere il file e a creare un nuovo handle per
> il cursore ti credo che prima o poi va in Crash, ad ogni step del mouse
> carichi in memoria un nuovo cursore e un nuovo handle !! in questo modo
> anche a me continua ad aumentare la memoria occupata.
>
> Prova a fare così: nel form load carichi in memoria il cursore e salvi il
> suo Handle in una variabile, nell'evento Mouse_Move lo setti passando
> l'handle salvato in precedenza SetCursor(TuoHandleCursore) . Quando chiudi
> il form o quando devi cambiare cursore ricordati di liberare la memoria con
> DestroyCursor.
>
> anche se non ne hai bisogno ti posto il codice con cui mi  funziona
> Ciao Giorgio
[CUT]
He....!Si ha sempre bisogno tu tutto....a volte
Allora:
In realtà non uso la Manina ed è per questo che
necessito il Load da File, la tua osservazione però
nonfà una piega, e pensandoci potrebbe realmente essere
il motivo del guaio....!
Faccio una prova come mi hai indicato, mi sembra un'ottima
intuizione, non mi piacciono molto le variabili Public
per queste cose, ma eventualmente uso una STATIC nella
Function l'effetto è il medesimo...!
Ti faccio sapere in serata sicuramente.



title: Tipo cursore: mano con dito indice

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:ffd5200e6c14dedefc...@mygate.mailgate.org...
> "giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> wrote in
> message news:cfu2f0$obc$
1...@lacerta.tiscalinet.it
>
> [CUT]
>
[CUT]
> He....!Si ha sempre bisogno tu tutto....a volte
>
> Allora:
> In realtà non uso la Manina ed è per questo che
> necessito il Load da File, la tua osservazione però
> nonfà una piega, e pensandoci potrebbe realmente essere
> il motivo del guaio....!
>
> Faccio una prova come mi hai indicato, mi sembra un'ottima
> intuizione, non mi piacciono molto le variabili Public
> per queste cose, ma eventualmente uso una STATIC nella
> Function l'effetto è il medesimo...!
>
Ciao,
io non userei uno static, potresti dichiarare la varyabile MyCur a livello
di modulo del Form e modificare la funzione pubblica in questo modo
--------------
Function PointM(strPathToCursor As String, ByVal MyCur AS Long ) AS Long
  Dim lngRet As Long
  If MyCur=0 Then
     MyCur= LoadCursorFromFile(strPathToCursor)
  End IF
  lngRet = SetCursor(MyCur)
  PointM=MyCur
End Function
---------------
quindi a livello di modulo della maschera metti
------------------
Dim MyCur As Long ' Handle cursore
Private Sub Immagine0_MouseMove(Button As Integer, Shift As Integer, x As
Single, Y As Single)
       MyCur = PointM("C:\Winnt\Cursors\harrow.cur", MyCur)
End Sub
Private Sub Form_Unload(Cancel As Integer)
 'Distruggo il cursore
 DestroyCursor (MyCur)
End Sub
----------------------------
In questo modo la funzione pubblica è valida per più maschere aperte
simultaneamente
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
Le cose sono migliorate in effetti, ma ben lungi da quello che
mi hai prospettato....!
Senza il salvataggio del handle la CPU è impallata al 100% la
memoria sembra OK ma mi sospende un sacco di processi tra
i quali ovviamente l'aggiornamento Video.
Con la memorizzazione del hendle il carico della CPU si stabilizza
al 50% circa.La cosa positiva è che non si blocca più l'aggiornamento
Video.
Ovviamente continuando a scorrere il Cursore all'interno dell'Immagine.
Anche se non risolto del tutto il mio dubbio, mi pare che a livello intutivo
sia decisamente un
ottimo concetto.
Grazie.



title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cfvu2g$onv$1...@lacerta.tiscalinet.it...
> Le cose sono migliorate in effetti, ma ben lungi da quello che
> mi hai prospettato....!
>
> Senza il salvataggio del handle la CPU è impallata al 100% la
> memoria sembra OK ma mi sospende un sacco di processi tra
> i quali ovviamente l'aggiornamento Video.
> Con la memorizzazione del hendle il carico della CPU si stabilizza
> al 50% circa.La cosa positiva è che non si blocca più l'aggiornamento
> Video.
>
> Ovviamente continuando a scorrere il Cursore all'interno dell'Immagine.
>
> Anche se non risolto del tutto il mio dubbio, mi pare che a livello
intutivo
> sia decisamente un
> ottimo concetto.
non è una questione di intuito, è lo stesso concetto di quando chiedi della
memoria al sistema operativo *GlobalAlloc* o quando carichi un'icona, queste
vengono memorizzate da qualche parte e quando non servono più bisogna
liberare lo spazio, VBA non può farlo perchè non gli appartengono.
Purtroppo VB e VBA ci hanno abituato a non tener conto di queste situazioni,
chi programma in C sa benissimo che se non libera le risorse o se continua
ad accumulare oggetti in memoria prima o poi il suo programma va in crash e
quando noi usiamo le API con VBA dobbiamo entrare nello stesso ordine di
idee.
>Grazie.
Prego ;-)
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
> non è una questione di intuito, è lo stesso concetto di quando chiedi
della
> memoria al sistema operativo *GlobalAlloc* o quando carichi un'icona,
queste
> vengono memorizzate da qualche parte e quando non servono più bisogna
> liberare lo spazio, VBA non può farlo perchè non gli appartengono.
In questo caso non liberiamo nulla, evitiamo di continuare a perdere tempo
a Ricaricare, cosa che si rende inutile poichè allochiamo in Memoria
il valore dell'Hendle.
In ogni caso è solo una puntualizzazione concordo pienamente con i concetti.
> Purtroppo VB e VBA ci hanno abituato a non tener conto di queste
situazioni,
> chi programma in C sa benissimo che se non libera le risorse o se continua
> ad accumulare oggetti in memoria prima o poi il suo programma va in crash
e
> quando noi usiamo le API con VBA dobbiamo entrare nello stesso ordine di
> idee.
Vero in effetti VB/A ci abituano male o meglio noi ci permettiamo il lusso
di non considerare questi impostanti dettagli, ma ovviamente lo strato SW
al quale accedi con le API esula da VB/A, ed è questo che lo rende
potente.
Beh non per nulla i vari ReleaseDC/ReleaseCapture/ReleaseMutex/DeleteDC
ecc..... sono da usare.....! ;-)
Ciao Giorgio bel 3D di ottimo livello tecnico, anche se forse con Access
potrebbe sembrare OT.
Io sono un pò dispiaciuto che su questi NG non si affrontano anche questi
argomenti e spesso sono costretto a spostarmi su NG(USA) con i quali
le difficoltà della lingua spesso non mi rendono la vita semplice...!
Ciao.
@Alex.


title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cg02ph$rkh$1...@lacerta.tiscalinet.it...
[CUT]
>
> In questo caso non liberiamo nulla, evitiamo di continuare a perdere tempo
> a Ricaricare, cosa che si rende inutile poichè allochiamo in Memoria
> il valore dell'Hendle.
> In ogni caso è solo una puntualizzazione concordo pienamente con i
concetti.
magari fosse solo l'handle, un cursore non animato occupa 766 Byte, in 4 o 5
centimetri di spostamento del mouse carichi il cursore in memoria almeno un
centinaio di volte occupando 100 aree da 766 Byte che sono puntate da 100
Handle che occupano altri 4 Byte l'uno,  in questo modo si fa presto a
saturare la memoria muovendo il mouse.
> Ciao Giorgio bel 3D di ottimo livello tecnico, anche se forse con Access
> potrebbe sembrare OT.
be non ci ha sgridato nessuno :-)
> Io sono un pò dispiaciuto che su questi NG non si affrontano anche questi
> argomenti e spesso sono costretto a spostarmi su NG(USA) con i quali
> le difficoltà della lingua spesso non mi rendono la vita semplice...!
e tu prova a postarle anche qui, le API le usi in Access. :-)
> Ciao.
> @Alex.
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
"giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> ha scritto nel
messaggio news:cg03nv$s5m$1...@lacerta.tiscalinet.it...
>
> "ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
> news:cg02ph$rkh$1...@lacerta.tiscalinet.it...
> [CUT]
> >
> > In questo caso non liberiamo nulla, evitiamo di continuare a perdere
tempo
> > a Ricaricare, cosa che si rende inutile poichè allochiamo in Memoria
> > il valore dell'Hendle.
> > In ogni caso è solo una puntualizzazione concordo pienamente con i
> concetti.
>
> magari fosse solo l'handle, un cursore non animato occupa 766 Byte, in 4 o
5
> centimetri di spostamento del mouse carichi il cursore in memoria almeno
un
> centinaio di volte occupando 100 aree da 766 Byte che sono puntate da 100
> Handle che occupano altri 4 Byte l'uno,  in questo modo si fa presto a
> saturare la memoria muovendo il mouse.
Perchè consideri che non venga liberata la mamoria con il caricamento del
successivo...??
Concordo che il primo caricamento possa invadere il necessario(766Byte)
ma il 2° anche con il metodo precedente dovrebbe(DEVE) liberare la
precedente
memoria sovrascrivendo il contenuto del nuovo caricamento.
La locazione di memoria impegnata dal Cursore è sempre quella e
l'ottimizzazione
fà si che se non indicizzi un Registro(a livello di Linguaggio Macchina e
quindi
allarghi l'area di memoria fisica) quindi una variabile indicizzata per la
programmazione a basso livello, viene
sovrascritta.(se così non fosse inorridirei allochiamo memoria come in un
registro FILO senza
avergli detto nulla...?)
Questo in oltre è dimostrato dal fatto che se attendo qualche secondo tutto
torna
OK le risorse della CPU a Zero
Come ipotizzi  tu chi resetterebbe quanto impegnato.....visto che il mio
Mouse è
ancora li fermo....??
Quello che secondo me avviene è il riempimento del registro istruzioni
che passando per IDE da priorità ad aggiornare i processi principali
e non quello Video.
> e tu prova a postarle anche qui, le API le usi in Access. :-)
Qualche tempo fà(un paio d'anni) ho postato qualche mail sull'argometo
ma visti i partecipanti(NN) ho deviato e per evitare X_POST inutili
ora do per scontato spostarmi.
In effetti entrambe le volte che ho avuto bisogno mi hai dato validi
suggerimenti.
Riprendeò a farlo.



title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" > >
> Qualche tempo fà(un paio d'anni) ho postato qualche mail sull'argometo
> ma visti i partecipanti(NN) ho deviato e per evitare X_POST inutili
> ora do per scontato spostarmi.
> In effetti entrambe le volte che ho avuto bisogno mi hai dato validi
> suggerimenti.
> Riprendeò a farlo.
E vorrei vedere Alessandro   :-)
Su ng. come questo si dibatte di sviluppo di Database, annessi e connessi
... direi che può bastare.
Di tanto ho seguito comp-databases-ms-access: francamente di API si tratta
estremamente poco pure lì ...
Pixel


title: Tipo cursore: mano con dito indice

text:
> E vorrei vedere Alessandro   :-)
> Su ng. come questo si dibatte di sviluppo di Database, annessi e connessi
> ... direi che puň bastare.
> Di tanto ho seguito comp-databases-ms-access: francamente di API si tratta
> estremamente poco pure lě ...
>
> Pixel
Si in effetti ho premesso che potrebbe essere OT(parzialmente)
ma chi programma a livelli avanzati non puň non usare API
anche con Access, e le problematiche dell'utilizzo delle API
con Access aumentano, e se proponi domande su NG(USA)
dedicati alle API non specificando che usi ACCESS spesso
non risolvi, ma spesso specificandolo vieni SNOBBATO.
Vabbč....!
Ciao.



title: Tipo cursore: mano con dito indice

text:
"
> Si in effetti ho premesso che potrebbe essere OT(parzialmente)
> ma chi programma a livelli avanzati non puň non usare API
> anche con Access, e le problematiche dell'utilizzo delle API
> con Access aumentano, e se proponi domande su NG(USA)
> dedicati alle API non specificando che usi ACCESS spesso
> non risolvi, ma spesso specificandolo vieni SNOBBATO.
A parte il fatto che esistono ng. italianissimi in cui si dibatte in maniera
avanzata sull'API di win...
E comunque, insisto, le problematiche annesse e connesse all'API consentono
*d'arricchire* le applicazioni basate su Access ma non sono fondamentali.
Soprattutto considerando che le pochissime davvero utili sono a disposizione
di tutti sul web da anni (commondialog, folders, etc.)
Pixel


title: Tipo cursore: mano con dito indice

text:
> A parte il fatto che esistono ng. italianissimi in cui si dibatte in
maniera
> avanzata sull'API di win...
Quali....?
Per il resto ritengo l'argomento attinente ad Access anche se non
implicito nell'uso di Database, ma dato che Access raggruppa in se
sia un Database che VBA non è assurdo esporre queste problematiche.
E' assurdo non ritenerle compatibili, poi chi è interessato partecipa
chi no....salta, in fondo no si parla di AUTOMOBILI....!!!



title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi"
> > A parte il fatto che esistono ng. italianissimi in cui si dibatte in
> maniera
> > avanzata sull'API di win...
> Quali....?
Per esempio it.comp.lang.visual-basic
> Per il resto ritengo l'argomento attinente ad Access anche se non
> implicito nell'uso di Database, ma dato che Access raggruppa in se
> sia un Database che VBA non è assurdo esporre queste problematiche.
> E' assurdo non ritenerle compatibili, poi chi è interessato partecipa
> chi no....salta, in fondo no si parla di AUTOMOBILI....!!!
Certo che non sono incompatibili: lo sarebbero se non fosse possibile
invocarle da Access.
Tuttavia hai fatto una tirata sul discorso "che da queste parti è inutile
postare richieste sull'API di win .. etc." un pochino fuori luogo dato il
tipo di prodotto di cui si dibatte in quest'area.
Pixel


title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cg05k1$t5c$1...@lacerta.tiscalinet.it...
> "giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> ha scritto nel
> messaggio news:cg03nv$s5m$1...@lacerta.tiscalinet.it...
> >
> > "ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
> > news:cg02ph$rkh$1...@lacerta.tiscalinet.it...
> > [CUT]
[CUT]
>
> Perchè consideri che non venga liberata la mamoria con il caricamento del
> successivo...??
> Concordo che il primo caricamento possa invadere il necessario(766Byte)
> ma il 2° anche con il metodo precedente dovrebbe(DEVE) liberare la
> precedente
> memoria sovrascrivendo il contenuto del nuovo caricamento.
assolutamente no,  in questo modo potrei caricare solo un cursore alla
volta.
> La locazione di memoria impegnata dal Cursore è sempre quella e
> l'ottimizzazione
> fà si che se non indicizzi un Registro(a livello di Linguaggio Macchina e
> quindi
> allarghi l'area di memoria fisica) quindi una variabile indicizzata per la
> programmazione a basso livello, viene
> sovrascritta.
L'ottimizzazione di chi?  VBA non c'entra nulla nel caricamento del cursore
>(se così non fosse inorridirei allochiamo memoria come in un
> registro FILO senza
> avergli detto nulla...?)
se non la liberi si, e infatti Access ti andava in crash.
C'è di bello che le aree di memoria impegnate vengono associate al processo
in esecuzione (Access) e alla chiusura di esso vengono liberate, ma finchè
l'applicazione (Access) rimane aperta devi pensre tu a liberarle o perlomeno
a non accumularle
> Questo in oltre è dimostrato dal fatto che se attendo qualche secondo
tutto
> torna
> OK le risorse della CPU a Zero
> Come ipotizzi  tu chi resetterebbe quanto impegnato.....visto che il mio
> Mouse è
> ancora li fermo....??
la CPU ti torna a 0 perchè non c'è attività ma la memoria non si abbassa di
sicuro.
> Quello che secondo me avviene è il riempimento del registro istruzioni
> che passando per IDE da priorità ad aggiornare i processi principali
> e non quello Video.
>
[CUT]
non devi confondere la variabile VBA in cui memorizzi l'handle che ti viene
restituido da una funzione API con i meccanismi interni di windows, se
funzionasse come dici tu posso solo caricare un cursore alla volta invece ne
posso caricare quanti ne voglio (memoria permettendo)
Prova ques'esempio, carico due cursori e a seconda della posizione x
visualizzo uno o l'altro.
Il tutto va messo in un modulo di classe di una maschera un cui inserirai un
controllo immagine di 20 cm di larghezza.
Ciao Giorgio
----------------------------------
Option Compare Database
Option Explicit
Private Declare Function LoadCursorFromFile Lib "user32" Alias _
  "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetCursor Lib "user32" _
  (ByVal hCursor As Long) As Long
Private Declare Function DestroyCursor Lib "user32" _
  (ByVal hCursor As Long) As Long
Dim MyCur1 As Long 'Primo cursore
Dim MyCur2 As Long 'Secondo cursore
Private Sub Form_Load()
   MyCur1 = LoadCursorFromFile("C:\Winnt\Cursors\harrow.cur")
   MyCur2 = LoadCursorFromFile("C:\Winnt\Cursors\hcross.cur")
End Sub
Private Sub Immagine0_MouseMove(Button As Integer, Shift As Integer, x As
Single, Y As Single)
   If x < 5000 Then
      SetCursor MyCur1
   Else
      SetCursor MyCur2
   End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
 DestroyCursor (MyCur1)
 DestroyCursor (MyCur2)
End Sub
--------------------------------------


title: Tipo cursore: mano con dito indice

text:
"giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> ha scritto nel
messaggio news:cg0adm$vus$1...@lacerta.tiscalinet.it...
>
> "ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
> news:cg05k1$t5c$1...@lacerta.tiscalinet.it...
> > "giorgio rancati" <
giorgio_No_Sp...@tiscali.it
> ha scritto nel
> > messaggio news:cg03nv$s5m$1...@lacerta.tiscalinet.it...
> > >
> > > "ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
> > > news:cg02ph$rkh$1...@lacerta.tiscalinet.it...
> > > [CUT]
> [CUT]
[CUT]
umm forse al posto di tutta la spiegazione bastava questa definizione
------------------
DestroyCursor Function
Syntax
BOOL DestroyCursor(HCURSOR hCursor);
The DestroyCursor function destroys a cursor and frees any memory the cursor
occupied. Do not use this function to destroy a shared cursor.
-------------------
che senso avrebbe indicare hCursor se il numero di cursori che si può
caricare è uno solo ?
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
[CUT]
Quanto hai detto è corretto, ma da per scontata l'indicizzazione
dei cursori, o meglio l'indicizzazione della locazione di memoria
nella quale è salvato il valore a 32Bit relativo all'indirizzo di memoria
puntata, ti assicuro che è unico.
In questo caso non indicizzo nulla associo all'area CURSORE corrente
il mio Cursore.
La funzione che hai citato DestroyCursor libera la mamoria solo
dopo averla impegnata con CreateCursor, anzi è assolutamente
tassativo non eliminare altri cursori caricati con LoadCursor.
L'area di memoria del CurrentCursor non è indicizzabile solo gli Handle
possono essere associati ad una struttura indicizzata tant'è che
tu passi proprio l'handle di un'ipotetica struttura indicizzata
che possono anche essere 2 Variabili....!
SetCursor prima di impostare il nuovo Cursore con l'Handle
passato salva nello Stack il vecchio Handle e lo ritorna come
valore finita l'operazione, non è possibile che vengano salvati
continuamente Handle in qualche posto, quando lo fai già
tu se memorizzi 2 Cursori.
L'ottimizzazione non è nè quella di VB(che non centra proprio ovviamente)
ma quella dell'utilizzo della memoria, che è a livello ancora più basso
delle
API, per le quali è trasparente anche la gestione Memoria, in quanto
la maggior parte delle operazioni vengono eseguite in una Virtual Menory.



title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cg0ef4$2ma$1...@lacerta.tiscalinet.it...
> [CUT]
>
> Quanto hai detto č corretto, ma da per scontata l'indicizzazione
> dei cursori, o meglio l'indicizzazione della locazione di memoria
> nella quale č salvato il valore a 32Bit relativo all'indirizzo di memoria
> puntata, ti assicuro che č unico.
[CUT]
LoadCursorFromFile carica un cursore in memoria, se lo esegui 10 volte viene
alloccata una parte di memoria per ogni singolo cursore.
Questo esempio carica N cursori, quando non č piů possibile caricarli stampa
il numero di di cicli eseguiti e Access comincia a fare cose strane
----------
Sub Prova()
Dim i As Long
For i = 1 To 1000000
   If LoadCursorFromFile("C:\Winnt\Cursors\harrow.cur") = 0 Then
      Debug.Print i
      Exit For
   End If
Next
End Sub
-----------
come vedi non memorizzo neanche l'handle del cursore.
Se non ti ho convinto cosě getto la spugna :(
Ciao Giorgio


title: Tipo cursore: mano con dito indice

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cg0ef4$2ma$1...@lacerta.tiscalinet.it...
> [CUT]
>
Questa invece non ha problemi perchè viene liberata la memoria
-----------
Sub Prova()
Dim i As Long
Dim MyCur As Long
For i = 1 To 1000000
   MyCur = LoadCursorFromFile("C:\Winnt\Cursors\harrow.cur")
   If MyCur = 0 Then
      Debug.Print i
      Exit For
   End If
   DestroyCursor MyCur
Next
End Sub
----------
Ciao Giorgio


title: travasare dati da una tabella all'altra

author: gabriele

text:
Con access 2000 ,
ho due tabelle identiche come struttura , vorrei copiare i dati da una
all'altra ( quella di destinazione è vuota ) , come fare ?
Entrambe risiedono dentro al medesimo file MDB   ( domanda : se risiedessero
in due MDB distinti , si potrebbe fare ugualmente tale travaso ? ) .
grazie e ciao


title: travasare dati da una tabella all'altra

author: max

text:
"gabriele" <
1111...@alice.it
> ha scritto nel messaggio
news:4891cf67$0$18147$4faf...@reader3.news.tin.it...

con una query di accodamento, se risiedessero in database diversi dovresti
collegare in uno dei due database l'altro, o ancora meglio, collegarli
entrambi con BE and un FE
ciao
Max


title: travasare dati da una tabella all'altra

author: Antonio Biso

text:
"max" <
pi...@pippo.it
> ha scritto nel messaggio
news:g6sk60$op6$1...@aioe.org...
>
> "gabriele" <
1111...@alice.it
> ha scritto nel messaggio
> news:4891cf67$0$18147$4faf...@reader3.news.tin.it...
>> Con access 2000 ,
>> ho due tabelle identiche come struttura , vorrei copiare i dati da una
>> all'altra ( quella di destinazione č vuota ) , come fare ?
>>
>> Entrambe risiedono dentro al medesimo file MDB   ( domanda : se
>> risiedessero in due MDB distinti , si potrebbe fare ugualmente tale
>> travaso ? ) .
>>
>> grazie e ciao
> con una query di accodamento, se risiedessero in database diversi dovresti
> collegare in uno dei due database l'altro, o ancora meglio, collegarli
> entrambi con BE and un FE
> ciao
> Max
Beh max, facciamola piů semplice.
basta allegare una tabella di un db nell'altro
Antonio


title: Aprire maschera di una tabella correlata nello stesso record

author: Rocco

text:
Ciao a tutti, ho aggiunto un tabella correlata ad una tabella esistente e
vorrei richiamare la maschera di questa tabella mediante un pulsante di
comando nella maschera principale(cosa abbastanza semplice), ma come devo
fare per trovarmi nel record corrispondente alla tabella principale? Grazie
e spero di essere stato chiaro ;-).


author: Carlo Costarella

text:
"Rocco" <
togli...@freemail.it
> ha scritto nel messaggio
news:3e2f0...@news.dada.it...

Usa l'autocomposizione per il pulsante di comando.
Scegli Apri maschera, poi il nome della maschera da aprire e nella shermata
successiva "Apri la maschera e trova dati specifici da visualizzare", infine
ti permette di selezionare il link legando i due campi.
Verrà fuori qualcosa del genere:
Dim stDocName As String
Dim stLinkCriteria As String
    stDocName = "NomeMascheraDaAprire"
stLinkCriteria = "[IDCliente]=" & Me![IDCliente]
DoCmd.OpenForm stDocName, , , stLinkCriteria
Ciao, Carlo


title: ADO o DAO questo è il problema

author: Lorenzo Bolognini

text:
Ciao ragazzi,
sono un newbie per quanto riguarda Access anche se ultimamente riesco a fare
delle belle robette e a ottenere dei bei risultati.
Il problema è che vorrei raffinare un po' lo stile delle mie applicazioni...
non parlo di estetica ma di pura tecnica.
Il primo dilemma che mi è sorto è se usare ADO o DAO... quest'ultimo mi
sembra + immediato per accedere a un CurrentDB ma per es. è supportato dalla
vers 2002 di Access? Sarà abbandonato da MS in futuro?
In quali casi è preferibile usare uno piuttosto che l'altro?
Ciao,
Lo


title: ADO o DAO questo è il problema

author: Karl Donaubauer

text:
Lorenzo Bolognini ha scritto:

Debbi decidere tu.
Se lavori solo con JET DAO va be per il momento.
DAO non viene sviluppato avanti da MS da lungo ma è ancora
il sistema più vicino di JET anche con Access 2002.
Se invece lavori con SQL Server o MSDE come backend o lavori
con ASP o hai l'intenzione di fare questo fra poco ADO va be.
Ma anche ADO è quasi morto gioe non è il sistema del futuro.
Questo (al momento;-) si chiama
ADO.NET
.
È una cosa molto differente del ADO "classico" e adesso viene
già usato nel .NET Framework p.e. con
VB.NET
 e
ASP.NET
.
MS non ha ancora detto (se o) quando
ADO.NET
 sara possibile
anche in Office. Ce più informazione su DAO, ADO e
ADO.NET
sui siti inglesi di MS e nel MSDN.
--
HTH
Karl
*********
Access-FAQ (tedesco):
http://www.donkarl.com


title: ADO o DAO questo è il problema

author: Vittorio Avaldi

text:
"Lorenzo Bolognini" >
> Il primo dilemma che mi è sorto è se usare ADO o DAO... quest'ultimo mi
> sembra + immediato per accedere a un CurrentDB ma per es. è supportato
dalla
> vers 2002 di Access?
Sì, è supportato.
>Sarà abbandonato da MS in futuro?
Probabile ... al massimo resterà per compatibilità verso il basso (tipo la
famosa DAO2535.TLB di qualche anno fa)
> In quali casi è preferibile usare uno piuttosto che l'altro?
Diciamo che con ADO al 100% puoi lavorare solo sui files di progetto
.ADP/SQL Server.
Negli altri casi puoi aprire recordsets ADO, ma Access _anche XP_ continua a
utilizzare
DAO internamente per un mucchio di cose (Forms/Reports, etc.).
Anche se crei le tabelle collegate utilizzando codice ADO, il recordset
sottostante continua a essere DAO.
L'unico modo per avere ADO associato a una form di un .MDB/E è aprire il
recordset ADO e assegnarlo al volo con la proprietà ".Recordset" (che
peraltro non esisteva con Access '97).
Insomma, se lavori con JET secondo me è inutile portare avanti una gestione
mista di modelli d'accesso ai dati: usa DAO e basta _che peraltro in questo
caso risulta essere più specifico e flessibile_.
Ciao, Vittorio


title: Crea tabella dal .... al .....

author: Darwin

text:
Io metto un giorno e una query mi crea una tabella.
Qualcuno lo ha già fatto?


title: Crea tabella dal .... al .....

text:
"Darwin" <
dar...@libero.it
> ha scritto nel messaggio
news:DkS1a.161697$0v.45...@news1.tin.it...
> Io metto un giorno e una query mi crea una tabella.
> Qualcuno lo ha già fatto?
>
Sei sicuro che devi creare una Tabella....??
Non è che ti basta filtrare quella che hai in base al Giorno...???
@Alex.


title: Crea tabella dal .... al .....

text:
No, devo creare una tabella mese per mese dove inserire dei turni di
personale tramite un'automatismo (il piu' leggero possibile) diciamo come in
excel si trascina e si copiare la serie
Potrei farla tramite codice ma chiaramente sarebbe bello farla con una
semplice query...


title: Crea tabella dal .... al .....

text:
"Darwin" <
dar...@libero.it
> ha scritto nel messaggio
news:ANU1a.217395$AA2.8...@news2.tin.it...



title: Crea tabella dal .... al .....

author: Alessandro Cara

text:
Darwin ha scritto:

Darwin. E si che il viaggio sulla "beagle" ti dovrebbe pure aver
insegnato qualcosa.
Access non e' Excel e di conseguenza Excel non e' Access
Dai retta a @Alex
--
a.cara
togli qualcosa dall'email


title: Crea tabella dal .... al .....

text:
"Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel messaggio
news:3E4849C0...@blunet.it...

La risposta non mi č piaciuta non occorre che tu mi risponda piu' grazie.


title: Crea tabella dal .... al .....

text:
"Darwin" <
dar...@libero.it
> ha scritto nel messaggio
news:7bd2a.167781$0v.46...@news1.tin.it...
>
[CUT]
>
> La risposta non mi č piaciuta non occorre che tu mi risponda piu' grazie.
>
Beh, non credo sia il caso di essere permalosi......!!!
In ogni caso Tecnicamente ti ha dato un buon consiglio
cioč quello di ascoltarmi, come posso non essere dalla sua parte...??
;-)
@Alex.


title: Crea tabella dal .... al .....

text:
"@Alex" wrote:
>
> "Darwin" <
dar...@libero.it
> ha scritto nel messaggio
> news:7bd2a.167781$0v.46...@news1.tin.it...
> >
> [CUT]
> >
> > La risposta non mi è piaciuta non occorre che tu mi risponda piu' grazie.
> >
>
> Beh, non credo sia il caso di essere permalosi......!!!
> In ogni caso Tecnicamente ti ha dato un buon consiglio
> cioè quello di ascoltarmi, come posso non essere dalla sua parte...??
>
> ;-)
Veramente di consigli ne ho dati tre. Forse malmessi
1) Darwin e l'evoluzione. La Beagle ed il mare e la cattiva parafrasi
   di un verso ("...da tempo e mare non si impara niente...") del
   mio canzonettaro preferito. In sintesi, attenzione stiamo cambiando
   prodotto probabilmente dobbiamo cambiare modo di pensare
2) Excel ed Access non sono una semplice "evoluzione" uno dell'altro
   sono due strumenti, che pur avendo delle possibili zone di
   sovrapposizione, sono "concettualmente" diversi. In sintesi
   evoluzione divergente
3) Seguire i consigli di un "professionista"
c'e' la vie
--
a.cara
Togli qualcosa dall'email


title: Crea tabella dal .... al .....

text:
Alessandro Cara wrote:
[cut]
> 3) Seguire i consigli di un "professionista"
ahh. La "canzona" si titola "Gulliver" un professionista



title: Crea tabella dal .... al .....

author: Maurizio Borrelli

text:
> "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> messaggio news:3E4A1DCA...@blunet.it...
[...]
> ahh. La "canzona" si titola "Gulliver" un professionista
    La cover di MicroMacroMachoMan?
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------


title: Crea tabella dal .... al .....

text:
Maurizio Borrelli wrote:
>
> > "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> > messaggio news:3E4A1DCA...@blunet.it...
> [...]
> > ahh. La "canzona" si titola "Gulliver" un professionista
>
>     La cover di MicroMacroMachoMan?
so che non ami le volgarita' MicroMacroMachoMan ma "che" robe' o kikatze
>
> --
> Ciao :-)
> Maurizio
> --------
> ?SPQR(C)
>  X
> --------



title: Crea tabella dal .... al .....

text:
> "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> messaggio news:3E4A24B3...@blunet.it...
> > Maurizio Borrelli wrote:
> > > "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> > > messaggio news:3E4A1DCA...@blunet.it...
[...]
> > > ahh. La "canzona" si titola "Gulliver" un professionista
> >     La cover di MicroMacroMachoMan?
> so che non ami le volgarita' MicroMacroMachoMan ma "che" robe' o kikatze
    Kikatze non e' una volgarita'. E' il Who's Who giapponese.
    Facevo una ipotesi ironico-sarcastico-fraterna... perche' non ho capito
dove-come-quando in _Gulliver_ ci sia una verso che, parafrasato, possa
restituire il tuo "...da tempo e mare non si impara niente..."
Gulliver
Venite tutti, che strana meraviglia il mare ci portò...
Venite tutti, è Gulliver il grande che il mare ci portò...
Addormentato davanti a noi Gulliver il grande...
È una nera montagna che ci toglie il sole,
è Gulliver il grande che il mare ci portò...
Così curioso davanti a noi
l'uomo montagna ci guarda già,
venite tutti ad ammirare
la meraviglia vista mai.
Gli omini piccoli che sanno già
che la sua forza li aiuterà
Gulliver il grande si chiede già
in quale altro mare naufragherà.
Venite tutti, che strana meraviglia il mare ci portò...
Venite tutti, è Gulliver il nano che il mare ci portò...
Che effetto prima, davanti a noi Gulliver il nano,
ma i suoi occhi cercano già i nostri volti,
è Gulliver il nano che il mare ci portò.
Venite tutti ad ammirare
la meraviglia con cui giocare,
così indifeso davanti a noi
come un bambino a cui insegnare,
E mentre invece dentro di sè
del nostro aspetto lui ride già,
Gulliver il nano sognando sta
un altro mare per naufragare.
    (Forse mi mancan strofe?...)



title: Crea tabella dal .... al .....

text:
Maurizio Borrelli wrote:
>
> > "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> > messaggio news:3E4A24B3...@blunet.it...
> > > Maurizio Borrelli wrote:
> > > > "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> > > > messaggio news:3E4A1DCA...@blunet.it...
> [...]
> > > > ahh. La "canzona" si titola "Gulliver" un professionista
> > >     La cover di MicroMacroMachoMan?
> > so che non ami le volgarita' MicroMacroMachoMan ma "che" robe' o kikatze
>
>     Kikatze non e' una volgarita'. E' il Who's Who giapponese.
>
>     Facevo una ipotesi ironico-sarcastico-fraterna... perche' non ho capito
> dove-come-quando in _Gulliver_ ci sia una verso che, parafrasato, possa
> restituire il tuo "...da tempo e mare non si impara niente..."
>
[cut]
e' che quello e' un altro Gulliver.
Il mondo e' pieno di Gulliver
Nelle lunghe ore d'inattività e di ieri
 che solo certa età può regalare,
Lemuele Gulliver tornava coi pensieri
ai tempi in cui correva per il mare,
e sorridendo come sa sorridere soltanto
 chi non ha più paura del domani,
parlava coi nipoti, che ascoltavano l'incanto
di spiagge e odori, di giganti e nani,
scienziati ed equipaggi, e di cavalli saggi
 riempiendo il cielo inglese di miraggi.
Ma se i desideri sono solo nostalgia
 o malinconia d'innumeri altre vite,
nei vecchi amici che incontrava per la via,
 in quelle loro anime smarrite,
sentiva la balbuzie intellettuale e l'afasia
 di chi gli domandava per capire.
Ma confondendo i viaggi con la loro parodia,
i sogni con l'azione del partire,
di tutte le sue vite vagabondate al sole
 restavan vuoti gusci di parole.
Poi dopo, ripensando a quell'incedere incalzante
 dei viaggi persi nella sua memoria
intuiva con la mente disattenta del gigante
 il senso grossolano della storia
e nelle precisioni antiche del progetto umano
 o nel mondo suo illusorio e limitato,
sentiva la crudele solitudine del nano
 nell'universo quasi esagerato;
due facce di medaglia che gli urlavano in mente:
 "Da tempo e mare non s'impara niente."
(F.Guccini, Guccini,1983)



title: Crea tabella dal .... al .....

text:
> "Alessandro Cara" <
alexqu...@blunet.it
> ha scritto nel
> messaggio news:3E4A2BA9...@blunet.it...
> > Maurizio Borrelli wrote:
[...]
> >     Facevo una ipotesi ironico-sarcastico-fraterna... perche' non ho
> > capito
> > dove-come-quando in _Gulliver_ ci sia una verso che, parafrasato, possa
> > restituire il tuo "...da tempo e mare non si impara niente..."
[...]
> e' che quello e' un altro Gulliver.
> Il mondo e' pieno di Gulliver
[...]
>  "Da tempo e mare non s'impara niente."
> (F.Guccini, Guccini,1983)
    Brandy e Guccini... Bella coppia.
    Ma... la "parafrasi" dov'e'?... Vabbe' che lavorando con Access si tende
ad ipervalutare gli apici... ma non esageriamo!...
    :o))))



title: Crea tabella dal .... al .....

text:

Gli apici dovrebbero essere una citazione (sua) in questo caso non so
di chi (brandy?).
La mia "cattiva" parafrasi sta qui
E si che il viaggio sulla "beagle" -----ti dovrebbe pure aver
insegnato qualcosa.----
Brandy nel senso di alcool. Penso di no, nel qual caso sarebbe wisky
alessandro "lagavulin" Cara



title: Date() non funziona piu'!!!

author: Betelgeuse

text:
Ciao a tutti :)
Ho inserito in alcune tabelle la funzione Date() come valore predefinito di
un campo testo. La funzione non funziona piu'...
Se provo a entrare nella griglia di struttura di una delle tabelle con tale
funzione una msgbox mi avverte:
Impossibile utilizzare la funzione immessa
*E' stata utilizzata una funzione Doevents, Lbound, Ubound, Spc o Tab.
*E' stata utilizzata una funzione di aggregazione SQL, come Conteggio, in
una griglia di struttura o in un controllo o un campo calcolato.
Entro nella griglia et, voila', la funzione non c'e' piu'.
Provo a reinserirla, ed ottengo in risposta al tentativo di salvataggio in
uscita:
Function is not available in expressions in table-level validation
expression.
E non mi fa salvare...
Premetto che ho provato su 3 PC diversi (in rete), eseguendo l'mdb in locale
su ciascuno di essi.
Premetto che ho provato anche degli MDB di backup che funzionavano
benissimo. Nisba.
Premetto che su uno dei pc ho provato a fare il ripristino di Office.
Mi serve un aiuto, un aiuto veloce....(cit.)


title: Date() non funziona piu'!!!

text:
"Betelgeuse" <
Betel...@star.com
> ha scritto nel messaggio
news:XtAgb.180343$hE5.6...@news1.tin.it...

Prova a scrivere =Date()
Ciao, Carlo


title: Date() non funziona piu'!!!

text:
"Carlo Costarella" <
carloantoni...@virgilio.it
> ha scritto nel
messaggio news:tNCgb.181203$hE5.6...@news1.tin.it...

Me n' ero accorto :P
Ma continua a darmi:
 Impossibile utilizzare la funzione immessa
 *E' stata utilizzata una funzione Doevents, Lbound, Ubound, Spc o Tab.
 *E' stata utilizzata una funzione di aggregazione SQL, come Conteggio, in
 una griglia di struttura o in un controllo o un campo calcolato.
E non salva....
E ho provato a casa un mdb di backup che funzionava perfettamente...
Stessa storia...
Mistero....
> Ciao, Carlo
Ciao, Betel


title: connettersi ad una tabella di un db esterno

text:
da un database vorrei estrapolare dei dati attraverso il codice vba, mi
spiego meglio: del db esterno conosco percorso e nome tabelle devo creare
dei recordset ed estrapolare dei dati, il db esterno č protetto da password
che ovviamente conosco.
qualcuno mi są dare 2 dritte?
Grazie.


author: Cazzanti Fulvio

text:
Ho lo stesso problema...
Lo hai risolto....
Io per ora le collego a mano....
"Simba883" <
simb...@libero.it
> ha scritto nel messaggio
news:btmpog$5cr$1...@lacerta.tiscalinet.it...



title: multiutenza

text:
e' possibile, in ambiente multiutente, che venga
visualizzato un messaggio(oppure che un dato
controllo venga disabilitato) se un determinato
record e' gia' stato modificato anche solo
parzialmente da un altro utente?
E' necessario NON aspettare di passare al record
successivo per rendermi conto delle modifiche, ma
subito appena passo al record voglio sapere se
c'e' gia' qualcun altro che c'e' entrato prima di
me.
grazie a tutti
m.
Sent via Deja.com
http://www.deja.com/


title: multiutenza

author: Luciano (DOC)

text:
<
bradi...@my-deja.com
> wrote in message
news:94rlcv$dl1$1...@nnrp1.deja.com...
> e' possibile, in ambiente multiutente, che venga
> visualizzato un messaggio(oppure che un dato
> controllo venga disabilitato) se un determinato
> record e' gia' stato modificato anche solo
> parzialmente da un altro utente?
> E' necessario NON aspettare di passare al record
> successivo per rendermi conto delle modifiche, ma
> subito appena passo al record voglio sapere se
> c'e' gia' qualcun altro che c'e' entrato prima di
> me.
Metti un flag sul record che attivi quando qualcuno accede al record e
rilasci quando esce.
Saluti.
lucia...@sitocmune.com


title: Come controllare se esitste una tabella prima di importarla?

author: Fabrix

text:
Salve,
il problema che si pone riguarda l'importazione di una tabella (Clienti) da
un altro Dbase Access.
Ciň deriva dal fatto che mensilmente  viene esportato l'archivio clienti
(cioč la tabella Clienti)  in un altro dbase con un nome diverso e
precisamente: "Clienti_al_mese_anno".
Se poi voglio effettuare l'importazione, quest'ultima tabella deve esistere
e solo se esiste deve essere importata; invece, anche se non esiste, viene
eseguito il codice fino al punto "DoCmd.TrasferDatabase acImport...." e non
ottengo nulla di fatto.
Per capirci meglio allego il codice VB:
Private Sub Comando0_Click()                'Questo č un pulsante
On Error GoTo Err_Comando0_Click
intscelta = MsgBox("Sei sicuro di voler caricare l'Archivio?", vbYesNo,
"Attenzione")
If intscelta = vbNo Then GoTo Exit2
    If IsNull([Anno]) Or IsNull([Mese]) Then GoTo Mess2
    If [Anno] = "" Or [Mese] = "" Then GoTo Mess2
    If [Anno] > Year(Date) Then GoTo Mess2                            'Mese
e Anno sono due campi non associati
    If [Anno] < 2003 Then GoTo Mess2
        Dim Perc, Tit As String
        Perc = "\Archiviopermese.mdb"
        Tit = "Clienti_al"
    DoCmd.Rename "Clienti_Old", acTable, "Clienti"
'Qui rinomina la tabella esistente per poterla poi eliminare
            DoCmd.TransferDatabase acImport, "Microsoft Access", _
            Perc, acTable, Tit & "_" & Mese & "_" & Anno, _
            "Clienti"
' Qui si dovrebbe verificare che se la tabella esiste va avanti
    DoCmd.DeleteObject acTable, "Clienti_Old"
    MsgBox "Archivio Aggiornato correttamente"
Exit2:
MsgBox "Operazione annullata", , "Info" = vbInformation
Exit_Comando0_Click:
    DoCmd.Requery
    Exit Sub
Err_Comando0_Click:
    Resume Exit_Comando0_Click
Mess2:
    MsgBox "Archivio Assente"
    Resume Mess2
End Sub
Grazie in anticipo.


text:
"Fabrix" <
fabr...@inwind.it
> ha scritto nel messaggio
news:AE27a.157951$ZE.46...@twister2.libero.it...
> Salve,
> il problema che si pone riguarda l'importazione di una tabella (Clienti)
da
> un altro Dbase Access.
Per verificare quello che chiedi, devi intercettare l'errore che si crea se
non esiste.
Pertanto, se tu vai a cancellare la tabella e questa esiste, te la cancella,
se non esiste ti darà un errore che tu intercetterai e gestirai come ti
pare.
Per farlo, guarda l'help su
On Error
Antonio


title: Mi sono accorto che con l' operatore like si puo' ...

author: radicale 004

text:
... dar modo all' utente di strutturare i dati secondo alberi
con un numero qualsiasi di rami ad ogni nodo, e di profondita'
infinita. Purche' l' utente sappia cio' che fa, gli si puo' dare
uno strumento POTENTISSIMO in mano.
Immaginate infatti di mettere in una tabella un campo
stringa ben lungo (diciamo 100/200 caratteri).
E di riservare questo campo a quello che vuole
metterci l' utente. Chiamo questo campo C.
Allora in maschera ci sara' il text box C.
Quando l' utente chiede una ricerca, verra'
emessa una query con il frammento
"campo_tabella like me.C*"
E' allora ovvio che se l' utente immette e salva
in C delle stringhe paracule, puo' poi cercare
i dati come se avesse a disposizione non un DB
relazionale ma GERARCHICO.
Notevole, no ?


author: Pannella

text:
radicale 004 ha scritto:
> .... dar modo all' utente di strutturare i dati secondo alberi





> Notevole, no ?
Questo concetto è vecchio come il NewsGroup ed il tuo stupore a questi
concetti mostra un tuo limite conoscitivo.
Infondo si tratta solo di assegnare un concetto gerarchico strutturato ad
una stringa(o concatenazione di sottostringhe) ed usare un LIKE... sempre
per una ricerca
generica... che c'è di notevole...?
Credo che se comprassi qualche libro, queste cose faresti senza impararle
come fossero scoperte....
Boh....
Pannella.
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
On 2 Apr, 23:01,
radicale....@gmail.com
 (Pannella) wrote:
> Questo concetto vecchio come il NewsGroup ed il tuo stupore a questi
> concetti mostra un tuo limite conoscitivo.
Questo sicuramente.
Solo una domanda pero' : tu non hai limiti conoscitivi ?
> Infondo si tratta solo di assegnare un concetto gerarchico strutturato ad
> una stringa(o concatenazione di sottostringhe) ed usare un LIKE... sempre
> per una ricerca
> generica... che c' di notevole...?
> Credo che se comprassi qualche libro, queste cose faresti senza impararle
> come fossero scoperte....
E allora dove starebbe il divertimento, scusa ?


text:
"Pannella" <
radica...@gmail.com
> ha scritto nel messaggio
news:in82m9$kut$1...@news.newsland.it...

Anche quello che scoprì l'acqua calda ricevette questa obiezione... :-DDD
A


text:
On 3 Apr, 00:51, "Antonio Biso" <
ab...@libero.it
> wrote:
> "Pannella" <
radicale....@gmail.com
> ha scritto nel messaggionews:in82m9$kut$1...@news.newsland.it...

Arieccolo ...


text:
"radicale.002" <
radica...@gmail.com
> ha scritto nel messaggio
news:46c83d2f-0be5-46ad...@k22g2000yqh.googlegroups.com...
On 3 Apr, 00:51, "Antonio Biso" <
ab...@libero.it
> wrote:
> "Pannella" <
radicale....@gmail.com
> ha scritto nel
> messaggionews:in82m9$kut$1...@news.newsland.it...
>
>
>
> > Credo che se comprassi qualche libro, queste cose faresti senza
> > impararle
> > come fossero scoperte....
>
> > Boh....
>
> > Pannella.
>
> Anche quello che scoprì l'acqua calda ricevette questa obiezione... :-DDD
Arieccolo ...
C'è anche l'uovo di Colombo oltre all'acqua calda eh...
Però per quello devi applicarti di più
A


author: pablitomf

text:

Si... Notevolissimo!!!
Peccato che sia l'ABC dell'SQL :)


text:
radicale 004 ha scritto:
> Questo sicuramente.
> Solo una domanda pero' : tu non hai limiti conoscitivi ?
Si certo, ma non vado all'accademia della Crusca a sbrodolare convinzioni
infantili sull'ABC delle cose.
Se ne apprendo qualche sfumatura in più questo mi soddisfa a livello
personale e me lo tengo per me !
Se dopo 10 interventi in cui espongo cose OVVIE per i sassi, non capisco
che non sto insegnando nulla a nessuno ma riempiendo il NEWS di OVVIETA'
banali... beh allora forse dietro c'è una notevole insicurezza personale
che viene pure mal-celata ed evidenzia proprio un problema di relazione
sociale.
...
> E allora dove starebbe il divertimento, scusa ?
Si appunto la disgnosi fatta sopra è lapiù accreditata, quindi suppongo
sia questo il tuo solo modo di approciarsi alle cose, non è colpa tua, noi
ora lo abbiamo capito e come tale ti "accettiamo"... magari qualcuno
vorrebbe farlo con l'ascia... ma io intendo in senso "bibblico".
Ora pronobis



text:
"pablitomf" <
pabl...@virgilio.it
> ha scritto nel messaggio
news:558518d5-c341-481a...@k9g2000yqi.googlegroups.com...

Mi sa che allora non era dell'acqua calda, ma dell'acqua fredda...
:-D
Antonio


text:
"Pannella" <
radica...@gmail.com
> ha scritto nel messaggio
news:in9h3m$9f9$1...@news.newsland.it...
> radicale 004 ha scritto:
>
> ora lo abbiamo capito e come tale ti "accettiamo"... magari qualcuno
> vorrebbe farlo con l'ascia...
Firulì, firulà
Antonio


text:
On 3 Apr, 18:47, "Antonio Biso" <
ab...@libero.it
> wrote:
> "Pannella" <
radicale....@gmail.com
> ha scritto nel messaggionews:in9h3m$9f9$1...@news.newsland.it...
>
> > radicale 004 ha scritto:
>
> > ora lo abbiamo capito e come tale ti "accettiamo"... magari qualcuno
> > vorrebbe farlo con l'ascia...
>
> Firulì, firulà
>
> Antonio
Non avevo fatto nomi... perchè la lista era lunga...! ;-)
Io sono il PIU' radicale sono "Pannella"...!!!!!!!!
E tu sii Bonino...!
Però sei un pò arrugginito... una volta certe finezze non ti
scappavano....!
Pannella


text:
On 3 Apr, 12:13,
radicale....@gmail.com
 (Pannella) wrote:
> radicale 004 ha scritto:
>
> > Questo sicuramente.
> > Solo una domanda pero' : tu non hai limiti conoscitivi ?
>
> Si certo, ma non vado all'accademia della Crusca a sbrodolare convinzioni
> infantili sull'ABC delle cose.
Perche' tu non sei un cretinotto infantilito come il sottoscritto :
tu sei un vero uomo.
> Se ne apprendo qualche sfumatura in pi questo mi soddisfa a livello
> personale e me lo tengo per me !
> Se dopo 10 interventi in cui espongo cose OVVIE per i sassi, non capisco
> che non sto insegnando nulla a nessuno ma riempiendo il NEWS di OVVIETA'
> banali... beh allora forse dietro c' una notevole insicurezza personale
> che viene pure mal-celata ed evidenzia proprio un problema di relazione
> sociale.
Ma io non voglio insegnare nulla a nessuno.
Solo comunicare con voi. Che male c'e' ?
Se "scopro" qualcosa che m' attizza ve lo dico
tutto contento.
Voi giustamente mi perculate, e amici come prima.
Amen.


text:
....
> Voi giustamente mi perculate, e amici come prima.
APPROVO., soprattutto la 1° che hai detto....
;-)
> Amen.
@Alex


text:
Il 02/04/2011 22.38, radicale 004 ha scritto:
[cut]
> E' allora ovvio che se l' utente immette e salva
> in C delle stringhe paracule, puo' poi cercare
> i dati come se avesse a disposizione non un DB
> relazionale ma GERARCHICO.
Il gerarchico e' un'altra cosa.
Quello che descrivi e' un relazionale "sporco".
E tra l'altro non vedo perche' non fare n campi distinti che potrebbere
avere, in teoria, anche una informazione in piu' (posizionale oltre che
a valore)
Comunque continua cosi', non ho mai visto tanti castori cosi' laboriosi.
--
ac (x=y-1)


text:
On 3 Apr, 19:47, "@Alex" <
ik2...@libero.it
> wrote:
> ....
>
> > Voi giustamente mi perculate, e amici come prima.
> APPROVO., soprattutto la 1° che hai detto....
No davvero : non voglio insegnare nulla a nessuno.
Forse puo' apparire il contrario ma non e' cosi'.
"scopro" (diciamo) una cosa, ve la dico e spero
che voi ci aggiungiate considerazioni, affinamenti
e consigli. Tutto qui.
Io "vedo" questo NG non *solo* come un posto dove
chiedere banalita' ("non mi funziona il text box della
percentuale dello sconto") ma come un posto dove
RIFLETTERE a 360 gradi sull' informatica, applicata
in special modo (ma non solo) ad access e vb.
E devo dire che fino adesso, grazie alla vostra
pazienza e competenza, la mia "vision" s'e' rivelata
vincente.
Si vabbe' mi perculate ... E che sara' mai ?
Non me la prendo. (Purche' non diventi un fatto
personale, astioso, ossessivo).
Ma credo che essere "se stessi" a lungo andare
paghi. Sempre.


text:
On 3 Apr, 20:01, Alessandro Cara <
alessandro.c...@ay-1anetwork.it
>
wrote:
> Il gerarchico e' un'altra cosa.
> Quello che descrivi e' un relazionale "sporco".
Perche' ?
> E tra l'altro non vedo perche' non fare n campi distinti che potrebbere
> avere, in teoria, anche una informazione in piu' (posizionale oltre che
> a valore)
Perche' se vuoi aumentare la profondita' ti tocca modificare
il numero n.


text:
On 3 Apr, 18:46, "Antonio Biso" <
ab...@libero.it
> wrote:
> "pablitomf" <
pablit...@virgilio.it
> ha scritto nel messaggionews:558518d5-c341-481a...@k9g2000yqi.googlegroups.com...
>
> > On 2 Apr, 22:38, radicale 004 <
radicale....@gmail.com
> wrote:
> >> E' allora ovvio che se l' utente immette e salva
> >> in C delle stringhe paracule, puo' poi cercare
> >> i dati come se avesse a disposizione non un DB
> >> relazionale ma GERARCHICO.
>
> >> Notevole, no ?
>
> > Si... Notevolissimo!!!
> > Peccato che sia l'ABC dell'SQL :)
>
> Mi sa che allora non era dell'acqua calda, ma dell'acqua fredda...
>
> :-D
>
> Antonio
io direi "acqua a temperatura ambiente" ;)


text:
"pablitomf" <
pabl...@virgilio.it
> ha scritto nel messaggio
news:57a81a0e-dde2-4a74...@dr5g2000vbb.googlegroups.com...

ma bagnata?
Antonio


title: 6.129 Inviare da codice VBA una e-mail con allegati usando Outlook  Express

text:
Scusate cerco una persona di buona volontà per qualche delucidazione.
Mi piacerebbe riuscire ad utilizzare l'utility in oggetto da una
maschera ma mi manca qualche pezzo...
Ho preso il codice (indicato nell'esempio) e l'ho incollato in un
modulo.
Nella mia maschera (dalla quale dovrei inviare la mail) ho collegato
un pulsante che all'evento click mi esegue il codice del suddetto
modulo.
(Ovviamente) mi compare un box che mi dice: "Email non creata".
Mi è chiaro che dovrei indicare il destinatario, il testo del
messaggio e altri riferimenti "pescati" dalla maschera, ma non capisco
dove e come andare a implementarli.
Io farei una sottomaschera che mediante combinate (indirizzi c./cc/
ccn) e campi testo (valori messaggio) mi autocompone il testo e poi ci
metterei un pulsante per l'invio, ma mi manca come implementare tali
campi.
Qualcuno è così gentile / paziente da aiutarmi ?
grazie infinite
p.s. utilizzo una rete aziendale e non posso installare altri sw come
quelli indicati in altri esempi.


author: marcopio

text:

Ciao,
se guardi in fondo al punto 6.129 nel sito comune c'è il codice che
devi chiamare con il tuo click del pulsante.
HTH. mpio.


text:
On 12 Apr, 13:13, "ignazio.pilone" <
ignazio.pil...@gmail.com
> wrote:

Altro, solo una nota a margine:
dal sito comune si dovrebbe usare:
   msoe.dll
Non ho capito il motivo della disfunzione ma a me questo a volte dava
errori all'invio.
Mi son trovato meglio con:
   mapi32.dll
(se qualcuno sa dove sbaglio con  msoe.dll e lo scrive è sempre
conoscenza gradita)
Comunque è un'idea se tu dovessi aver problemi.
Ciao, mpio.


text:
On 12 Apr, 13:13, "ignazio.pilone" <
ignazio.pil...@gmail.com
> wrote:

Che io sappia la complesstià di interfacciarsi con OE ha spinto gli
sviluppatori ad evitarlo... in sostanza
nemmeno con le API sembra che non ci sia questa possibilità, anche
perchè non sono direttamente
accessibili da VB/VBA ma solo da C/C++.
Prova a vedere questo:
http://www.it-lang-vb.net/download.asp?file=http://www.it-lang-vb.net/Archivio/Sorgenti/MailOE.zip&ID=597
Non l'ho provato... ma non credo vedendo il codice con NotePad che
possa inviare Allegati....
In alternativa il classico e banale MAPI:
http://www.codeguru.com/forum/attachment.php?s=9378699d77344ce830e0135b4ee0f476&attachmentid=2266&d=1046454452
@Alex


author: Roberto da Parma

text:
"ignazio.pilone" <
ignazio...@gmail.com
> ha scritto nel messaggio
news:c49ffce5-6bdb-46fd...@y14g2000yqm.googlegroups.com...

Scusami ma qual'è in sostanza il tuo problema?
Se hai a disposizione solo outlook express ci sono numerosi modi per
sfruttare OE per inviare email.
I comandi li lanci da access poi naturalmente la gestione è affidata ad OE
però attraverso MAPI puoi fare tutto.
Non ho visto il comando in oggetto ma con la classe MAPI ti puoi
interfacciare bene...
Nella classe MAPI hai :
.AddTo
.Subject
.Body
e compili tutta la tua mail...
Ciao
--
Roberto da Parma


text:
On 13 Apr, 00:07, "Roberto da Parma" <
arisi.robe...@tin.it
> wrote:
> "ignazio.pilone" <
ignazio.pil...@gmail.com
> ha scritto nel messaggionews:c49ffce5-6bdb-46fd...@y14g2000yqm.googlegroups.com...

> Roberto da Parma- Nascondi testo citato
>
> - Mostra testo citato -
ciao, grazie a tutti per il prezioso aiuto.
purtroppo mi si blocca su questa istruzione e non capisco il perchè
Public Sub Send1()
    Dim r As Long
    With mM
        If lAf > 0 Then
            .FileCount = lAf
            .Files = VarPtr(mAf(0))
        End If
        If lAr > 0 Then
            .RecipCount = lAr
            .Recipients = VarPtr(mAr(0))
            r = MAPISendMail(0, 0, mM, 0, 0)
            If r <> 0 Then
                If aErrors(r) = "" Then
                    MsgBox " Email non creata "
                Else
                    MsgBox aErrors(r) & " - Email non creata"
                End If
            Else
            End If
        End If
    End With
End Sub
qualcuno mi può gentilmente dare una mano ? grazie.


text:

> qualcuno mi può gentilmente dare una mano ? grazie.- Nascondi testo citato
>
> - Mostra testo citato -
Nessuno sa darmi un contributo ?
Nel codice ho sostituito le variabili a, cc, oggetto e testo con dei
campi ma non funziona lo stesso, nessun'idea da parte Vostra ?
Potrebbe essere che mi manchi qualche libreria ?


author: Geppo

text:

e come se non fornisci alcun elemento per aiutarti?
> Nel codice ho sostituito le variabili a, cc, oggetto e testo con dei
> campi ma non funziona lo stesso, nessun'idea da parte Vostra ?
Come sono queste modifiche? Posta il codice.
> Potrebbe essere che mi manchi qualche libreria ?
Uhmm....no non credo.
--
Ciao
Geppo


text:

> Geppo- Nascondi testo citato
>
> - Mostra testo citato -
ciao Geppo,
grazie per l'aiuto.
Allora ti ricapitolo il mio problema. Ho incollato su un modulo MSOE
il codice di cui all'esempio in oggetto e precisamente:
Private Type MAPIRecip
    Reserved As Long
    RecipClass As Long
    Name As String
    Address As String
    EIDSize As Long
    EntryID As String
End Type
Private Type MAPIFileTag
    Reserved As Long
    TagLength As Long
    Tag() As Byte
    EncodingLength As Long
    Encoding() As Byte
End Type
Private Type MAPIFile
    Reserved As Long
    Flags As Long
    Position As Long
    PathName As String
    FileName As String
    FileType As Long
End Type
Private Type MAPIMessage
    Reserved As Long
    Subject As String
    NoteText As String
    MessageType As String
    DateReceived As String
    ConversationID As String
    Originator As Long
    Flags As Long
    RecipCount As Long
    Recipients As Long
    FileCount As Long
    Files As Long
End Type
Public Declare Function MAPISendMail Lib "c:\programmi\outlook express
\msoe.dll" (ByVal Session As Long, _
ByVal UIParam As Long, ByRef message As MAPIMessage, ByVal Flags As
Long, ByVal Reserved As Long) As Long
Private Const MAPI_E_NO_LIBRARY = 999
Private Const MAPI_E_INVALID_PARAMETER = 998
Private Const MAPI_ORIG = 0
Private Const MAPI_TO = 1
Private Const MAPI_CC = 2
Private Const MAPI_BCC = 3
Private Const MAPI_UNREAD = 1
Private Const MAPI_RECEIPT_REQUESTED = 2
Private Const MAPI_SENT = 4
Private Const MAPI_LOGON_UI = &H1
Private Const MAPI_NEW_SESSION = &H2
Private Const MAPI_DIALOG = &H8
Private Const MAPI_UNREAD_ONLY = &H20
Private Const MAPI_ENVELOPE_ONLY = &H40
Private Const MAPI_PEEK = &H80
Private Const MAPI_GUARANTEE_FIFO = &H100
Private Const MAPI_BODY_AS_FILE = &H200
Private Const MAPI_AB_NOMODIFY = &H400
Private Const MAPI_SUPPRESS_ATTAch = &H800
Private Const MAPI_FORCE_DOWNLOAD = &H1000
Private Const MAPI_OLE = &H1
Private Const MAPI_OLE_STATIC = &H2
Dim mAf() As MAPIFile
Dim mAr() As MAPIRecip
Dim lAr As Long
Dim lAf As Long
Dim mM As MAPIMessage
Dim aErrors(0 To 26) As String
Private Sub Class_Initialize()
    aErrors(0) = "Success"
    aErrors(1) = "User Abort"
    aErrors(2) = "Failure"
    aErrors(3) = "LogIn Failure"
    aErrors(4) = "Disk Full"
    aErrors(5) = "Insufficient Memory"
    aErrors(6) = "Block Too Small"
    aErrors(8) = "Too Many Sessions"
    aErrors(9) = "Too Many Files"
    aErrors(10) = "Too Many Recipients"
    aErrors(11) = "Attachment No Found"
    aErrors(12) = "Attachment Open Failure"
    aErrors(13) = "Attachment Write Failure"
    aErrors(14) = "Unknown Recipient"
    aErrors(15) = "Bad Recipient"
    aErrors(16) = "No Messages"
    aErrors(17) = "Invalid Message"
    aErrors(18) = "Text Too Large"
    aErrors(19) = "Invalid Session"
    aErrors(20) = "Type Not Suppported"
    aErrors(21) = "Ambiguous Recipient"
    aErrors(22) = "Message in Use"
    aErrors(23) = "Network Failure"
    aErrors(24) = "Invalid Edit Fields"
    aErrors(25) = "Invalid Recipient"
    aErrors(26) = "Not Supported"
End Sub
Public Sub Azzera_Email()
lAr = 0
lAf = 0
End Sub
Public Sub BCCAddressAdd(ByVal strAddress As String)
    RecipientAdd MAPI_BCC, , strAddress
End Sub
Public Sub BCCAdd(ByVal strName As String, ByVal strAddress As String)
    RecipientAdd MAPI_BCC, strName
End Sub
Public Sub BCCNameAdd(ByVal strName As String)
    RecipientAdd MAPI_BCC, strName, strAddress
End Sub
Public Sub CCAddressAdd(ByVal strAddress As String)
    RecipientAdd MAPI_CC, , strAddress
End Sub
Public Sub CCNameAdd(ByVal strName As String)
    RecipientAdd MAPI_CC, strName
End Sub
Public Sub MessageIs1(ByVal strNoteText As String)
    mM.NoteText = strNoteText
End Sub
Public Sub SubjectIs1(ByVal strSubject As String)
    mM.Subject = strSubject
End Sub
Public Sub ToAddressAdd(ByVal strAddress As String)
    RecipientAdd MAPI_TO, , strAddress
End Sub
Public Sub ToNameAdd(ByVal strName As String)
    RecipientAdd MAPI_TO, strName
End Sub
Public Sub FileAdd(ByVal strPathName As String)
    Dim f As MAPIFile
    With f
        .PathName = StrConv(strPathName, vbFromUnicode)
    End With
    ReDim Preserve mAf(lAf)
    mAf(lAf) = f
    lAf = lAf + 1
End Sub
Public Sub Send1()
    Dim r As Long
    With mM
        If lAf > 0 Then
            .FileCount = lAf
            .Files = VarPtr(mAf(0))
        End If
        If lAr > 0 Then
            .RecipCount = lAr
            .Recipients = VarPtr(mAr(0))
            r = MAPISendMail(0, 0, mM, 0, 0)
            If r <> 0 Then
                If aErrors(r) = "" Then
                    MsgBox " Email non creata "
                Else
                    MsgBox aErrors(r) & " - Email non creata"
                End If
            Else
            End If
        End If
    End With
End Sub
Public Sub RecipientAdd(ByVal lngType As Long, Optional ByVal strName
As String, Optional ByVal strAddress As String)
    Dim r As MAPIRecip
    r.RecipClass = lngType
    If strName <> "" Then r.Name = StrConv(strName, vbFromUnicode)
    If strAddress <> "" Then r.Address = StrConv(strAddress,
vbFromUnicode)
    ReDim Preserve mAr(lAr)
    mAr(lAr) = r
    lAr = lAr + 1
End Sub
Sub Invia_MSOE(TO1 As Variant, CC1 As Variant, BCC1 As Variant, ByVal
OGG1 As String, ByVal MSG1 As String, AFIL1 As Variant)
    Dim T1, B1, C1, A1 As Long
'NUOVA TRASMISSIONE
    Azzera_Email
'ACCODA TO
        For T1 = LBound(TO1) To UBound(TO1)
        If TO1(T1) <> "" Then
            ToAddressAdd TO1(T1)
        Else
            MsgBox "MANCA IL DESTINATARIO - CHIUDO"
        Exit Sub
        End If
        Next T1
'ACCODA CC
        For C1 = LBound(CC1) To UBound(CC1)
        If CC1(C1) <> "" Then
            CCAddressAdd CC1(C1)
        Else
        End If
        Next C1
'ACCODA BCC
        For B1 = LBound(BCC1) To UBound(BCC1)
        If BCC1(B1) <> "" Then
            BCCAddressAdd BCC1(B1)
        Else
        End If
        Next B1
'INSERISCI TESTO MESSAGGIO
    MessageIs1 MSG1
'INSERISCI OGGETTO MESSAGGIO
    SubjectIs1 OGG1
'ACCODA ALLEGATI
    For A1 = LBound(AFIL1) To UBound(AFIL1)
    If AFIL1(A1) <> "" Then
        FileAdd AFIL1(A1)
    Else
    End If
    Next A1
'INVIA
    Send1
End Sub
da un amaschera "frmnuovointervento" con un pulsante apro una nuova
maschera collegata ai dati.
Da questa ho un pulsante che su evento sviluppa questo codice:
Private Sub Comando45_Click()
On Error GoTo Err_Comando45_Click
'codice per trasmissione mail
Dim MSGX, OBJX As Variant
Dim aTO(0 To 1) As String
Dim aCC(0 To 1) As String
Dim aBCC(0 To 0) As String
Dim aFiles(0 To 2) As String
        aFiles(0) = "C:\EMAIL\Qui.ZIP"
        aFiles(1) = "C:\EMAIL\Quo.ZIP"
        aFiles(2) = "C:\DOC\Qua.PDF"
        aTO(0) = "
ignazio...@gmail.com
"
        aTO(1) = "
eta...@pluto.it
"
        aCC(0) = "
benv...@posteitaliane.it
"
        aCC(1) = "
Pape...@pluto.it
"
        aBCC(0) = "
topo...@pluto.it
"
        OBJX = "prova"
        MSGX = "ciao ciao quessto è un testo di prova per la mail"
        Invia_MSOE aTO, aCC, aBCC, OBJX, MSGX, aFiles
Exit_Comando45_Click:
    Exit Sub
Err_Comando45_Click:
    MsgBox Err.Description
    Resume Exit_Comando45_Click
End Sub
purtroppo non funziona e mi segnala "email non creata".
grazie infinite per l'aiuto, un caro saluto.


text:
Ciao ignazio.pilone wrote:
----cut----
ma questi file esito nelle relative cartelle?
>         aFiles(0) = "C:\EMAIL\Qui.ZIP"
>         aFiles(1) = "C:\EMAIL\Quo.ZIP"
e questo?
>         aFiles(2) = "C:\DOC\Qua.PDF"
se non sono corretti non va.
hai provato ad inviare una mail senza allegati?
Comunque ho provato il codice e funziona se fai tutto correttamente, infatti
se il tuo indizzo di posta � corretto, dovresti aver ricevuto una mail che
ho inviato con quel codice.
--
Ciao
Geppo


text:

ciao Geppo,
grazie per l'aiuto.
Allora ho messo gli allegati e non mi funziona lo stesso.
Ho fatto un ulteriore tentativo. Ho creato un nuovo db, ci ho messo il
modulo e un pulsante che su evento chiama il codice:
Private Sub Comando0_Click()
Dim MSGX, OBJX As Variant
Dim aTO(0 To 1) As String
Dim aCC(0 To 1) As String
Dim aBCC(0 To 0) As String
Dim aFiles(0 To 2) As String
        aFiles(0) = "D:\MONSTER\allegatimail\Qui.ZIP"
        aFiles(1) = "D:\MONSTER\allegatimail\Quo.ZIP"
        aFiles(2) = "D:\MONSTER\allegatimail\Qua.PDF"
        aTO(0) = "
ignazio...@gmail.com
"
        aTO(1) = "
eta...@pluto.it
"
        aCC(0) = "
benv...@posteitaliane.it
"
        aCC(1) = "
Pape...@pluto.it
"
        aBCC(0) = "
topo...@pluto.it
"
        OBJX = "prova trasmissione mail"
        MSGX = "Se ricevi questa mail mi chiami per favore ?  011 7796
869"
        Invia_MSOE aTO, aCC, aBCC, OBJX, MSGX, aFiles
End Sub
----------------------------------------------------
A questo punto o sono io che sbaglio nell'evento del pulsante, magari
ho trascurato qualcosa di indispensabile, oppure è il mio outlook che
non mi consente di "forzare" il suo stato.
Ho provato a modificare le protezioni di outlook ma senza esito
positivo.
grazie ancora per l'aiuto


text:

Io il codice l'ho provato è funziona, non è che tu ti trovi in una delle
condizioni prospettate nella faq in oggetto da Alessandro Massarenti (vds
nota in fondo alla faq 6.129)?
Comunque questo è il db su cui ho fatto le prove:
http://www.divshare.com/download/11116695-f63
 e tutto funziona.
> grazie ancora per l'aiuto
--
Ciao
Geppo


text:

> >         aTO(0) = "
ignazio.pil...@gmail.com
"
> >         aTO(1) = "
etab...@pluto.it
"
>
> >         aCC(0) = "
benveg...@posteitaliane.it
"
> >         aCC(1) = "
Paper...@pluto.it
"
>
> >         aBCC(0) = "
topol...@pluto.it
"
>
> >         OBJX = "prova trasmissione mail"
> >         MSGX = "Se ricevi questa mail mi chiami per favore ?  011 7796
> > 869"
>
> >         Invia_MSOE aTO, aCC, aBCC, OBJX, MSGX, aFiles
>
> > End Sub
> > ----------------------------------------------------
> > A questo punto o sono io che sbaglio nell'evento del pulsante, magari
> > ho trascurato qualcosa di indispensabile, oppure è il mio outlook che
> > non mi consente di "forzare" il suo stato.
> > Ho provato a modificare le protezioni di outlook ma senza esito
> > positivo.
>
> Io il codice l'ho provato è funziona, non è che tu ti trovi in una delle
> condizioni prospettate nella faq in oggetto da Alessandro Massarenti (vds
> nota in fondo alla faq 6.129)?
>
> Comunque questo è il db su cui ho fatto le prove:
>
>
http://www.divshare.com/download/11116695-f63
>
>  e tutto funziona.
>
> > grazie ancora per l'aiuto
>
> --
> Ciao
> Geppo
grazie Geppo, ti posso chiedere una cortesia ?
posso postarti il mio db di prova e tu mi verifiche se a te funziona
l'invio ?
Avrei la certezza matematica che il problema risiede nelle
impostazioni outlook (o altro....)
grazie infinite
p.s. non ho proprio idea di dove poter postare il db..grazie


text:
Ciao ignazio.pilone wrote:
----cut----
> grazie Geppo, ti posso chiedere una cortesia ?
> posso postarti il mio db di prova e tu mi verifiche se a te funziona
> l'invio ?
ma il file che ti hi postato l'hai provato? ti funziona? se non ti funziona
è già chiaro che il problema non è il codice.
> Avrei la certezza matematica che il problema risiede nelle
> impostazioni outlook (o altro....)
Si parla di Outlook Express.
Se il db che tio postato non va, sicuramente.
> grazie infinite
> p.s. non ho proprio idea di dove poter postare il db..grazie
ci sono molti siti ad esempio puoi usare:
http://www.divshare.com/
oppure
skydrive.live.com
--
Ciao
Geppo


title: Query A2003

author: Maurizio M

text:
Buona sera a tutti,
ho questa query che uso come imput in una listbox(Lst10)
Forms!frmresocontidettaglio!Lst10.RowSource = "SELECT
TipiPietanze.TipoPietanza, " _
    & "Pietanze.NomePietanza, Sum(OrdiniDettaglio.NumPietanza) AS
SommaDiNumPietanza, " _
    & "(DatiOrdini.DataOrdine)   FROM TipiPietanze INNER JOIN (Pietanze
INNER JOIN  " _
    & "(DatiOrdini INNER JOIN  OrdiniDettaglio ON DatiOrdini.IdOrdine = " _
    & "OrdiniDettaglio.IdOrdine)  ON Pietanze.IdPietanza =
OrdiniDettaglio.IdPietanza) " _
    & "ON  TipiPietanze.IdTipoPietanza = Pietanze.IdTipoPietanza  " _
    & "GROUP BY  TipiPietanze.TipoPietanza,
Pietanze.NomePietanza,DatiOrdini.DataOrdine " _
    & " HAVING ((Datiordini.DataOrdine) Between  #" & Format$(Me.TxtDaData,
"mm/dd/yyyy") & "# " _
    & " and #" & Format$(Me.TxtAData, "mm/dd/yyyy") & "# ) " _
    & " ORDER BY TipiPietanze.TipoPietanza, Pietanze.NomePietanza;"
Vorrei visualizzare la quarta colonna,(DatiOrdini.DataOrdine)nel modo
vblongdate es.Luned� 08/01/2010
ma,date le mie scarse conoscenze ,non  capisco come .
Vorrei poi su un'altra list box visualizzare i totali
(Sum(OrdiniDettaglio.NumPietanza) AS SommaDiNumPietanza)del periodo
modificando  la query.
Ma anche qui buio pesto.
Se,per piacere ,qualcuno mi potesse spiegare come fare lo ringrazio in
anticipo.
Maurizio