title: Variabili e report, non riesco !!

text:
SI, Simone mi riferisco al'evento click del command box.
Una domanda ma dove e' il codice del report?
Io ho un report fatto in Access, la sua struttura e' quella tipo una
maschera, li' non c'e' codice da eseguire, sono solo text box e label.
Scusami ma sono nel pallone con Access, devo tirar fuori i valori che
vengono calcolati in quel benedetto click ma non riesco ad associarli ad
altro. Vediamo se ho fatto bene:
* Ho dichiarato in un modulo le variabili come public.
* Nella sezione click del command box viene attribuito il valore alla mia
variabile
* Nella sezione click del command box che richiama il report ho inserito la
funzione come hai scritto
* Nella struttura del report ad una textbox in origine dati ho messo
=MiaFunzione()
clicco sul comando per calcolare i dati, tutto OK
dopo clicco sul comando del report, ma visualizzo tutto tranne il risultato
di quella textbox.
Non ho speranza.....



title: Variabili e report, non riesco !!

author: SimonenomiS

text:
"Saurinho" <
sa...@fol.it
> wrote in
news:ahgi11$sfv70$
1...@ID-104918.news.dfncis.de
:
> SI, Simone mi riferisco al'evento click del command box.
> Una domanda ma dove e' il codice del report?
> Io ho un report fatto in Access, la sua struttura e' quella tipo una
> maschera, li' non c'e' codice da eseguire, sono solo text box e label.
>
> Scusami ma sono nel pallone con Access, devo tirar fuori i valori che
> vengono calcolati in quel benedetto click ma non riesco ad associarli
> ad altro. Vediamo se ho fatto bene:
> * Ho dichiarato in un modulo le variabili come public.
  Si, 1 modulo nella tabella 'Moduli'
> * Nella sezione click del command box viene attribuito il valore alla
> mia variabile
  Ma che è 'sto CommandBox? :) (forse un Command Button?)
> * Nella sezione click del command box che richiama il report ho
> inserito la funzione come hai scritto
  No. La funzione va inserita nel report. Apri il report in modalità
struttura, poi Visualizza/Codice. Nella finestra che si apre inserisci la
funzione.
> * Nella struttura del report ad una textbox in origine dati ho messo
> =MiaFunzione()
  Ok.
>
> clicco sul comando per calcolare i dati, tutto OK
> dopo clicco sul comando del report, ma visualizzo tutto tranne il
> risultato di quella textbox.
>
> Non ho speranza.....
  Tieni duro, ke 6 quasi arrivato... ;)
  Ciao.
>> -------------------------------------
>>
http://digilander.libero.it/winses/
>> -------------------------------------


title: Variabili e report, non riesco !!

author: Saurinho

text:
>   Ma che è 'sto CommandBox? :) (forse un Command Button?)
Si scusatemi e' un Command Button, mi confondo sempre.
Grazie delle dritte, funziona tutto. Non capivo dove mettere il codice.


title: posizionare correttamente i campi su moduli cartacei

author: M&C

text:
Sono un utilizzatore (molto) dilettante di Access 2000.
Ho creato un archivio per i miei pazienti .
Vorrei poter stampare le ricette sui moduli ricettari del Servizio
Sanitario.
devo sbagliare qualcosa, perchè non riesco a posizionare correttamente i
campi perchè vengano stampati dove voglio.
Ad esempio ho posizionato l'inizio del campo "codice SSN" alle coordinate
0,5 orizzontale ed 1,5 verticale, servendomi dei righelli, ma la posizione
effettiva sulla stampa è situata a 3 cm orizzontale e 4 cm verticale
dall'angolo superiore sinistro del foglio di ricettario.
Devo modificare l'impostazione della pagina ( margini ? )
Devo procedere per tentativi ed errore o c'è una soluzione più pratica ?
Grazie
Mimmo


author: sib

text:
M&C <
mimm...@libero.it
> wrote in message
OjUi6.6433$7U4....@news.infostrada.it...
> Sono un utilizzatore (molto) dilettante di Access 2000.
>
> Ho creato un archivio per i miei pazienti .
> Vorrei poter stampare le ricette sui moduli ricettari del Servizio
> Sanitario.
>
> devo sbagliare qualcosa, perchè non riesco a posizionare correttamente i
> campi perchè vengano stampati dove voglio.
>
> Ad esempio ho posizionato l'inizio del campo "codice SSN" alle coordinate
> 0,5 orizzontale ed 1,5 verticale, servendomi dei righelli, ma la posizione
> effettiva sulla stampa è situata a 3 cm orizzontale e 4 cm verticale
> dall'angolo superiore sinistro del foglio di ricettario.
Devi semplicemente considerare che i margini sono di 2,5cm.
Scrivere a 0,5cm dal margine della pagina dipende dalle capacità della
stampante, prova a impostare i margini a 0,5 e a posizionare i controlli
tenendo condo di questa misura.
Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
------------------------------------------------------
La mia home (ancora non completa)
http://digilander.iol.it/syb
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


title: scaricare bata base asp

text:
Ho un sito con aruba , con applicativi asp access.
Vorrei scaricare il batabase del sito, usando un pulsante di comando nella
maschera access(Locale), avete qualche traccia?
Alex


title: scaricare bata base asp

author: Sergio MAZZA

text:
"ale.roma" <
ale....@tiscali.it
> ha scritto nel messaggio
news:fgrll6$kd8$1...@aioe.org...

Con l'FTP:
http://www.mvps.org/access/modules/mdl0037.htm
Ciao.
--
Sergio MAZZA


title: scaricare bata base asp

text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:fgrr6e$b5o$1...@tdi.cu.mi.it...

Grazie Alex


title: Barra di progressione..........

author: Ardizzone Giovambattista

text:
Si puo' applicare l'esempio del sito comune sulla barra di progressione
all'apertura di una maschera che contiene + di 3000 record ........
dovrebbe funzionare il progresso della barra contando i record..........
Grazie lo so che non è un'idea ideale ma mi serve per prendere la mano con
questo cavallo selvaggio.................
Grazie 100000
Gianni B


title: Barra di progressione..........

text:
"Ardizzone Giovambattista" <
ardiz...@bluewin.ch
> ha scritto nel messaggio
news:3f06a2e2$1...@news.bluewin.ch...

Occorre distinguere cosa vuoi fare con la ProgressBar.
1)Effetto grafico che simuli il CARICAMENTO.
2)Realmente vedere il caicamento.
1)Serve un Ciclo For...Next e all'interno inserisci
    l'incremento della ProgressBar
2)La Form in questione deve essere basata su una QRY
    all'interno della quale oltre che a tutti i campi da visualizzare
    ci sia anche la chiamata ad una Function Public in un Modulo.
    Nella Function ci devi inserire la progressione della barra:
    Al primo passaggio deve leggere il Recordset.Recordcount
    per dimensionare il 100% e ad ogni passaggio leggendo
    il NumeroRecord attuale gestire l'avanzamento.
Si può fare, ma sei sicuro ne valga la pena.............????????
@Alex.


title: Barra di progressione..........

text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:h_xNa.148106$Ny5.4...@twister2.libero.it...

Salve Alex sono sempre io la pecora nera delle barre di progressione.....
ho provato a cambiare qualcosa nel codice in modo che mi Contasse tutte i
record .......ma purtroppo mi viene sempre l'errore record non
modificabile..........
non mi serve queste benedette barre adesso è una questione di principio.
comunque io ho provato a fare cosi. ma non và.......
Private Function Elabora2()
    Dim dbs As Database
    Dim rst As Recordset
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Copia_Sicurezza")
    Call SysBarraProgressione(0, rst)
    Do While Not rst.EOF
        rst.Edit
        rst!ID_Materiale = rst.RecordCount
        Delay  ' per allungare l'attesa nel TEST
        rst.Update
        Call SysBarraProgressione(1)
        rst.MoveNext
    Loop
    rst.Close
    Call SysBarraProgressione(2)
End Function
 Beh ID_Materiale nel debugg uguale a 1........... mentre rst. RecordCount
mi da ,sempre nel debug il numero dei record presenti relamente..........
io vorrei cercare di far progreddire la barra con il risultato dell
rst:RecordCount.
Ciao è grazie della tua molta pazienza.....
Gianni B


title: Barra di progressione..........

text:
"Gianni_B" <
ardiz...@bluewin.ch
> ha scritto nel messaggio
news:3f06bb63$1...@news.bluewin.ch...
[CUT]
> >
> Salve Alex sono sempre io la pecora nera delle barre di progressione.....
> ho provato a cambiare qualcosa nel codice in modo che mi Contasse tutte i
> record .......ma purtroppo mi viene sempre l'errore record non
> modificabile..........
> non mi serve queste benedette barre adesso è una questione di principio.
> comunque io ho provato a fare cosi. ma non và.......
>
>  Beh ID_Materiale nel debugg uguale a 1........... mentre rst. RecordCount
> mi da ,sempre nel debug il numero dei record presenti relamente..........
> io vorrei cercare di far progreddire la barra con il risultato dell
> rst:RecordCount.
> Ciao è grazie della tua molta pazienza.....
> Gianni B
>
Ora non sò di quale esempio del Sito tu stia parlando, ma supponendo
la sintassi della chiamata corretta, non mi pare tu stia aggiornando il
Contatore di record......!
Prova così:
 Private Function Elabora2()
     Dim dbs As Database
     Dim rst As Recordset
        Dim recNum as long
     Set dbs = CurrentDb
     Set rst = dbs.OpenRecordset("Copia_Sicurezza")
     Call SysBarraProgressione(0, rst)
     Do While Not rst.EOF
         rst.Edit
        recNum=recNum+1
         rst!ID_Materiale = recNum
         Delay  ' per allungare l'attesa nel TEST
         rst.Update
         Call SysBarraProgressione(recNum)
         rst.MoveNext
     Loop
     rst.Close
     Call SysBarraProgressione(2)
 End Function
A dire il vero l'errore che ti da secondo me deriva dalla 1° chiamata
alla Progress quando gli passi il Recordset rst, ma dovresti controllare
magari con il Debug.
@Alex.


title: Barra di progressione..........

text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:SdFNa.149221$Ny5.4...@twister2.libero.it...

Vado  a provare subbito grazie Alex.
Gianni B.


title: Barra di progressione..........

author: Marco

text:
Scusate l'ignoranza
Ma questo codice va inserito su
propietà maschara-su apertura?
Grazie 1000
"Gianni_B" <
ardiz...@bluewin.ch
> ha scritto nel messaggio
news:3f073...@news.bluewin.ch...



title: Barra di progressione..........

text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:SdFNa.149221$Ny5.4...@twister2.libero.it...

Ciao Alex finalmente ho trovao dov'era il problema mi mancava un riferimento
ad una libreria , anche quello che mi hai suggerito tu funziona grazie di
tutto..................
Gianni B.


title: tabelle collegate

text:
Salve a tutti. Non sono molto esperto di access perciò vorrei
sottoporvi un problema che non so risolvere :
ho modificato una procedura che funziona finchè nel file mdb è
incluso tutto, nel momento in cui vado ad effettuare il "collega
tabelle" per separare le tabelle dal resto dell'applicazione la
procedura non funziona. Da premettere che, all'apertura della maschera,
viene utilizzato il codice del visual basic :
Set rstcomune = dbscurrent.OpenRecordset("Ditta")
Set rstCaricaVoti11 = dbscurrent.OpenRecordset("Personale").
Come devono essere modificate le istruzioni per puntare alle tabelle
collegate ?
Grazie anticipatamente.
Milos


title: tabelle collegate

author: Alessandro Baraldi

text:
ees...@tin.it
 ha scritto:

UN recordset di tipo Dynaset dovrebbe andare...!
Nota dell'Help:
Nota Se si apre un oggetto Recordset in un'area di lavoro di Microsoft
Jet e non si specifica il tipo, OpenRecordset crea un oggetto Recordset
di tipo tabella, se possibile. Se si specifica una tabella collegata o
query, OpenRecordset crea un oggetto Recordset di tipo dynaset. In
un'area di lavoro di ODBCDirect, l'impostazione predefinita è
dbOpenForwardOnly
Detto questo l'astensione dal parametro dovrebbe creare di default un
Recordset di tipo
Dynaset come dice l'help pertanto in teoria, per quanto ne sò, non
dovrebbe essere quello
il problema......!
@Alex


title: Alternative a DLookUp e simili.

text:
Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe evitare l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di suggerimenti.
Ho due casi: nel primo devo trovare un record che soddisfi una certa condizione, nel secondo mi serve il massimo valore in un campo Data e avrei usato DMax.
L'unica alternativa che mi viene in mente è usare una cosa del genere:
Set RST=CurrentDb.OpenRecordset("SELECT... eccetera.
È la strada giusta o c'è di meglio?
Grazie a tutti
Riccardo Baldinotti


title: Alternative a DLookUp e simili.

author: Karl Donaubauer

text:
Ciao Riccardo,

bari...@gmail.com
:
> Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe evitare l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di suggerimenti.
> Ho due casi: nel primo devo trovare un record che soddisfi una certa condizione, nel secondo mi serve il massimo valore in un campo Data e avrei usato DMax.
> L'unica alternativa che mi viene in mente ï¿œ usare una cosa del genere:
> Set RST=CurrentDb.OpenRecordset("SELECT... eccetera.
> ï¿œ la strada giusta ...?

Sï¿œ.
Nel web ci sono anche esempi come sostituire le funzioni D... con
proprie funzioni (che di nuovo usano dei recordset), p.e.
http://www.allenbrowne.com/ser-42.html

--
Ciao
Karl
*********
Access FAQ:
http://www.donkarl.com/it

Access Lobby:
http://www.AccessDevelopers.org


title: Alternative a DLookUp e simili.

text:
Il giorno martedì 7 ottobre 2014 12:49:28 UTC+2, Karl Donaubauer ha scritto:
> Ciao Riccardo,
>
>
> > Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe evitare l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di suggerimenti.
>
> > Ho due casi: nel primo devo trovare un record che soddisfi una certa condizione, nel secondo mi serve il massimo valore in un campo Data e avrei usato DMax.
>
> > L'unica alternativa che mi viene in mente ï¿oe usare una cosa del genere:
>
> > Set RST=CurrentDb.OpenRecordset("SELECT... eccetera.
>
> > ï¿oe la strada giusta ...?
>
>
>
> Sï¿oe.
>
> Nel web ci sono anche esempi come sostituire le funzioni D... con
>
> proprie funzioni (che di nuovo usano dei recordset), p.e.
>
>
http://www.allenbrowne.com/ser-42.html

>
>

Grazie, io esitavo a usare i Recordset perché mi sembrava una soluzione
piùComplicata=piùPesanteInElaborazione
Se così non è, allora mi scateno, e studierò anche l'esempio.

Riccardo Baldinotti


title: Alternative a DLookUp e simili.

author: Alessandro Cara

text:
Il 07/10/2014 10:04,
bari...@gmail.com
 ha scritto:
> Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe evitare l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di suggerimenti.

Niente e' "buono" o "cattivo" in assoluto.
Se la Dfunction che uso non sta in una iterazione il sottoscritto
continua imperterrito a usarla. E' piu' comoda (non fa confusione fra
ADO e DAO, sempre che qualcuno ancora usi ADO) e fa esattamente quello
che si fa con definizione, apertura, lettura, chiusura di un recordset.
Ripeto se la Dfunction /non/ sta in un  ciclo usare il recordset la
trovo solo una perdita di tempo.

--
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.
http://www.avast.com


title: Alternative a DLookUp e simili.

text:
Il giorno martedì 7 ottobre 2014 13:12:57 UTC+2, Alessandro Cara ha scritto:
>
> > Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe evitare l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di suggerimenti.
>
>
>
> Niente e' "buono" o "cattivo" in assoluto.
>
> Se la Dfunction che uso non sta in una iterazione il sottoscritto
>
> continua imperterrito a usarla. E' piu' comoda (non fa confusione fra
>
> ADO e DAO, sempre che qualcuno ancora usi ADO) e fa esattamente quello
>
> che si fa con definizione, apertura, lettura, chiusura di un recordset.
>
> Ripeto se la Dfunction /non/ sta in un  ciclo usare il recordset la
>
> trovo solo una perdita di tempo.
>
>
>
Grazie anche per questa informazione.

Ehm... io ho usato il kill, recentemente... ;-)

Riccardo Baldinotti


title: Alternative a DLookUp e simili.

author: Bruno Campanini

text:
Alessandro Cara wrote on 07-10-14 :
> Il 07/10/2014 10:04,
bari...@gmail.com
 ha scritto:
>> Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe evitare
>> l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di suggerimenti.
>
> Niente e' "buono" o "cattivo" in assoluto.
> Se la Dfunction che uso non sta in una iterazione il sottoscritto continua
> imperterrito a usarla. E' piu' comoda (non fa confusione fra ADO e DAO,
> sempre che qualcuno ancora usi ADO) e fa esattamente quello che si fa con
> definizione, apertura, lettura, chiusura di un recordset.
> Ripeto se la Dfunction /non/ sta in un  ciclo usare il recordset la trovo
> solo una perdita di tempo.

Programmando di solito si prescinde dal tempo
e dalla complessitï¿œ e lunghezza del codice,
obiettivo primario essendo l'efficienza,
vale a dire soliditï¿œ e velocitï¿œ dell'esecuzione.
Se ciï¿œ ï¿œ vero basare scelte di codice su comoditï¿œ
e semplicitï¿œ mi pare non abbia alcun senso.

Opinioni naturalmente, solo opinioni.

Bruno


title: Alternative a DLookUp e simili.

text:

Bruno intendevo entrambe le cose sia tempo di programmazione e aumento
di complessita' del codice sia di tempo di esecuzione delle istruzioni.
Se ti scrivi una dfunction tua (che fa le stesse cose) e la richiami ci
mette piu' tempo di quella fornita a sistema.
Anni fa avemmo un lungo "scazzo" con @Alex sull'argomento. (avemmo non
e' plurale majestatis, se non ricordo male erano coinvolti anche altri
"grandi vecchi")
Fatto sta, come ho gia' scritto, non mi sogno certo di usare quelle
funzioni se devo inserirle in un ciclo e tanto peggio se devo metterle
dentro una query. Ho altri modi per farlo proprio perche' il tempo di
esecuzione (teorico) e' quello che valuto come prima cosa quando mi
metto a scrivere codice (ormai raramente e solo se mi minacciano).

--
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

---
Questa e-mail ï¿œ priva di virus e malware perchï¿œ ï¿œ attiva la protezione avast! Antivirus.
http://www.avast.com


title: Alternative a DLookUp e simili.

author: RobertoA

text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:c9hupn...@mid.individual.net...
> Ciao Riccardo,
>
>
bari...@gmail.com
:
>> Qualcuno, in una risposta tempo fa, mi ha scritto che bisognerebbe
>> evitare l'uso di DLookUp nel codice VBA, ma ora avrei bisogno di
>> suggerimenti.
>> Ho due casi: nel primo devo trovare un record che soddisfi una certa
>> condizione, nel secondo mi serve il massimo valore in un campo Data e
>> avrei usato DMax.
>> L'unica alternativa che mi viene in mente � usare una cosa del genere:
>> Set RST=CurrentDb.OpenRecordset("SELECT... eccetera.
>> � la strada giusta ...?
>
> S�.
> Nel web ci sono anche esempi come sostituire le funzioni D... con proprie
> funzioni (che di nuovo usano dei recordset), p.e.
>
http://www.allenbrowne.com/ser-42.html

> Ciao
> Karl
> *********
> Access FAQ:
http://www.donkarl.com/it

> Access Lobby:
http://www.AccessDevelopers.org

Che vantaggio c'e' a sostituire il dlookup con l'apertura recordset e
filtraggio sulla select?


title: Alternative a DLookUp e simili.

author: Mancini

text:
> Set RST=CurrentDb.OpenRecordset("SELECT... eccetera.

io ormai da tempo mi sto abituando a usare i RecordSet
potrai trovare nel link sotto qualche dettaglio in più,

soprattutto nella sintesi di "Silvio" del 27/11/2013

Certo che le funzioni D.... sono più compatte da scriversi,

ma alla fine un RecordSet fatto in quel modo occupa 1 sola riga e non deve essere richiuso o altro.

https://groups.google.com/forum/?hl=it#!topic/it.comp.appl.access/8pcHuFJ-75o

.


title: Alternative a DLookUp e simili.

text:
Il 07/10/2014 22:23, Mancini ha scritto:
>> Set RST=CurrentDb.OpenRecordset("SELECT... eccetera.
>
> io ormai da tempo mi sto abituando a usare i RecordSet
> potrai trovare nel link sotto qualche dettaglio in pi�,
>
> soprattutto nella sintesi di "Silvio" del 27/11/2013

la sintesi giusta e' quella di @Alex (l'ultima, successiva a quella di
Silvio)
>
>
> Certo che le funzioni D.... sono pi� compatte da scriversi,

sorry ma (mi verrebbe una volgarita') non e' solo questione di
compattezza, ripeto,la sintesi giusta e' quella di @Alex, si deve
"contestualizzare" capire cioe' dove come quando e perche'

>
> ma alla fine un RecordSet fatto in quel modo occupa 1 sola riga e non deve essere richiuso o altro.

e secondo te cosa fanno le Dfunction?
Quella istruzione falla diventare una funzione e richiamala 10^8  volte
e poi vediamo che succede (diceva jannacci vediamo l'effetto che fa e ci
porteranno poi tutti allo zoo comunale)
>

--
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

---
Questa e-mail � priva di virus e malware perch� � attiva la protezione avast! Antivirus.
http://www.avast.com


title: Alternative a DLookUp e simili.

text:
> ..... e secondo te cosa fanno le Dfunction?
> Quella istruzione falla diventare una funzione e richiamala 10^8  volte
> e poi vediamo che succede (diceva jannacci vediamo l'effetto che fa e ci
> porteranno poi tutti allo zoo comunale)
>
> (La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

??? :)   Ho fatto qualcosa di male ?

Ho dato delle opinioni,   potranno essere giuste o sbagliate,
ma si cresce anche valutando ed esaminando le opinioni sbagliate .......

> .... sorry ma (mi verrebbe una volgarita') non e' solo questione di
> compattezza, ripeto,la sintesi .....

Certo ho detto che le D... sono più compatte,  ma ho indicato un link( non perché ne ero il propulsore ) che "rema" a favore dei RecordSet indipendentemente dalla compattezza ?? ......

Certo che bisogna contestualizzare,   ma a parer mio Silvio ha raccolto in
2 righe le migliorie proposte e discusse dai vari utenti

Adesso vado a dormire   cosi domattina mi alzero ( speriamo ) contento di bermi il mio solito caffe  :)

.


title: Alternative a DLookUp e simili.

author: Simone Calligaris

text:

Le funzioni di aggregazione D<qualcosa>, usate singolarmente, non sembrano
meno performanti di un'istruzione SQL avviata da OpenRecordset, quindi
l'utilizzo delle due soluzioni è discrezionale.

Il problema delle DLookup, DSum etc. riguarda l'utilizzo nelle queries,
quando vengono eseguite N volte (ma è lo stesso se le sostituisci con
funzioni globali che sfruttano OpenRecordset(Stringa SQL) ).
In tali circostanze, danno apparentemente prestazioni migliori le
SubQueries.
O forse no, guarda cosa scrive Karl:

http://www.donkarl.com/it?FAQ3.11

In definitiva è una matassa non semplicissima da sbrogliare.

Saluti.


title: Alternative a DLookUp e simili.

text:
Ciao,

...RobertoA:
>
> Che vantaggio c'e' a sostituire il dlookup con l'apertura recordset e
> filtraggio sulla select?

Sul link segnalato Allen elenca alcuni svantaggi delle funzioni D*.

Però la differenza più importante è che non possono usare degli indici.
Se invece si filtra i dati con una istruzione SQL nel OpenRecordset gli
indici vengono usati (certo solo se esistono nella tabella ;-).

Con dati locali e non molti record (tipiche tabelle "LookUp") non si
vede grande differenze e anche io qualche volta uso un semplice D*. Però
col backend in rete (possibilmente lenta e con molti record) la
differenza nella prestazione puo essere enorme. In questi casi sempre
uso un rs di DAO anche se tiro un solo record senza ciclo ecc.

--



title: Alternative a DLookUp e simili.

text:
Il 08/10/2014 03:00, Mancini ha scritto:
>> ..... e secondo te cosa fanno le Dfunction?
>> Quella istruzione falla diventare una funzione e richiamala 10^8  volte
>> e poi vediamo che succede (diceva jannacci vediamo l'effetto che fa e ci
>> porteranno poi tutti allo zoo comunale)
>>
>> (La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
>
> ??? :)   Ho fatto qualcosa di male ?

Non lo so. Usi la "violenza" (forza bruta) quando fai qualche
applicazione. Se fosse cosi la sintesi e' automatica

>
> Ho dato delle opinioni,   potranno essere giuste o sbagliate,
> ma si cresce anche valutando ed esaminando le opinioni sbagliate .......

anche le mie sono opinioni.
Ed ho "imparato" tante cose da principianti sia per loro errori che per
loro poetici voli pindarici
;-)

>
>
> Adesso vado a dormire   cosi domattina mi alzero ( speriamo ) contento di bermi il mio solito caffe  :)
Come disse qualcuno andando a dormire un 29 Febbraio (valido soprattutto
nella zona di Roma)

--
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.
http://www.avast.com


title: Alternative a DLookUp e simili.

text:
Il 08/10/2014 21:17, Alessandro Cara ha scritto:

> Ed ho "imparato" tante cose da principianti sia per loro errori che per
> loro poetici voli pindarici
> ;-)

P.S. Non che tu sia un principiante ;-)



title: Alternative a DLookUp e simili.

text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:c9ko9a...@mid.individual.net...
> Ciao,
>
> ...RobertoA:
>>
>> Che vantaggio c'e' a sostituire il dlookup con l'apertura recordset e
>> filtraggio sulla select?
>
> Sul link segnalato Allen elenca alcuni svantaggi delle funzioni D*.
>
> Per� la differenza pi� importante � che non possono usare degli indici. Se
> invece si filtra i dati con una istruzione SQL nel OpenRecordset gli
> indici vengono usati (certo solo se esistono nella tabella ;-).
>
> Con dati locali e non molti record (tipiche tabelle "LookUp") non si vede
> grande differenze e anche io qualche volta uso un semplice D*. Per� col
> backend in rete (possibilmente lenta e con molti record) la differenza
> nella prestazione puo essere enorme. In questi casi sempre uso un rs di
> DAO anche se tiro un solo record senza ciclo ecc.
> Ciao
> Karl
> *********
> Access FAQ:
http://www.donkarl.com/it

> Access Lobby:
http://www.AccessDevelopers.org

Ah, quindi le funzioni D* non usano eventuali indici presenti nel db
Gia' questo potrebbe bastare a fare la differenza
Grazie


title: Alternative a DLookUp e simili.

text:
"Karl Donaubauer"

> Perň la differenza piů importante č che non possono usare degli indici. Se
> invece si filtra i dati con una istruzione SQL nel OpenRecordset gli
> indici vengono usati (certo solo se esistono nella tabella ;-).

Ah, questo č interessante e decisivo!
Non mi pare che sia documentato sull'Help del prodotto, dove si trovano i
dettagli?

Saluti


title: Alternative a DLookUp e simili.

text:
Il 08/10/2014 14:16, Karl Donaubauer ha scritto:
> Ciao,
>
> ...RobertoA:
>>
>> Che vantaggio c'e' a sostituire il dlookup con l'apertura recordset e
>> filtraggio sulla select?
>
> Sul link segnalato Allen elenca alcuni svantaggi delle funzioni D*.
>
> Però la differenza più importante è che non possono usare degli indici.
> Se invece si filtra i dati con una istruzione SQL nel OpenRecordset gli
> indici vengono usati (certo solo se esistono nella tabella ;-).

Sorry Karl ma dove viene precisata (dove posso trovare) questa storia
degli indici? Sul link da te fornito non mi sembra ci sia alcun accenno
C'e, mi sembra, il solo generico riferimento alla primarykey che se
assente potrebbe far si che il risultato sia "inconsistente" in casi
particolari.



title: Alternative a DLookUp e simili.

text:

Ringrazio tutti per le considerazioni, che hanno arieggiato piacevolmente il mio cervellino.

Riccardo Baldinotti


title: Alternative a DLookUp e simili.

text:
Boh, da quando ho iniziiato ho usato sempre e solo Recordset, prima in DAO e
ora in ADO.
Decisivo � stato un post di tanti anni fa in cui si faceva un confronto di
prestazioni tra i 2 approcci.
Basta abituarsi a scrivere qualche riga di codice in pi�.


title: Alternative a DLookUp e simili.

text:
Ciao Simone, (scusa per il PM - ho un newsreader nuovo...)

Simone Calligaris:
>
>> Perï¿œ la differenza piï¿œ importante ï¿œ che non possono usare degli indici. Se
>> invece si filtra i dati con una istruzione SQL nel OpenRecordset gli
>> indici vengono usati (certo solo se esistono nella tabella ;-).
>
>
> Ah, questo ï¿œ interessante e decisivo!
> Non mi pare che sia documentato sull'Help del prodotto, dove si trovano i
> dettagli?

Purtroppo non so di nessuna documentazione tecnica delle funzioni D*.
Ci sono opinioni opposte su questa cosa e la mia puo anche essere ingiusta.

L'ha ottenuta da confronti di DLookUp e OpenRecordset che abbiamo fatti
per una conferenza tanti anni fa (la documentazione solo esiste in
tedesco). Perï¿œ ci sono sempre fattori multipli da considerare in queste
prove. Per questo sarebbe "piï¿œ sicuro" di dire che in caso che se usino
degli indici l'uso non sembra ottimo.

Tutte le prove con un semplice OpenRecordset con WHERE erano piï¿œ veloce
di un DLookUp, con un oggetto db permanente molto piï¿œ veloce e con
Seek(), cioï¿œ la cerca di DAO con un indice esplicito, era moltissimo piï¿œ
veloce di DLookup.



title: Alternative a DLookUp e simili.

text:
Ciao Alessandro,

Alessandro Cara:
> ...
> Sorry Karl ma dove viene precisata (dove posso trovare) questa storia
> degli indici?
 > ...

Ah, come già risposto a Simone dovrei essere più prudente (credo che si
dice "abbassare la cresta" ;-). Manca decisamente la documentazione
tecnica per verificarlo.



title: Alternative a DLookUp e simili.

text:
"774"

> Boh, da quando ho iniziiato ho usato sempre e solo Recordset, prima in DAO
> e ora in ADO.
> Decisivo č stato un post di tanti anni fa in cui si faceva un confronto di
> prestazioni tra i 2 approcci.
> Basta abituarsi a scrivere qualche riga di codice in piů.

Penso che piů o meno tutti i frequentatori del ng. siano abituati a scrivere
qualche riga di codice...
Tuttavia, ci sono circostanze in cui č comodo poterne usare una al posto di
molteplici.
Ovvio che le problematiche prestazionali incidono sulle scelte (molto
interessanti sono le considerazioni di Karl sul confronto Dlookup /
Recordset).

Saluti.


title: Alternative a DLookUp e simili.

text:
After serious thinking Alessandro Cara wrote :

> Sorry Karl ma dove viene precisata (dove posso trovare) storia degli
> indici? Sul link da te fornito non mi sembra ci sia alcun accenno
> C'e, mi sembra, il solo generico riferimento alla primarykey che se assente
> potrebbe far si che il risultato sia "inconsistente" in casi particolari.

Questa notte, tanto per far qualcosa nel periodo insonne,
ho creato una tabella decuplicandone altra di poco piï¿œ
di 100 000 record, cosï¿œ ne ho ottenuta una da 1 milione,
nessun indice.
Una ricerca con DMax ha impigato 0.15 secondi, contro gli
oltre 0.50 secondi spesi con Recordset/SQL...

Bisognerebbe provare con le altre Domain Function, assegnando
indici, su diversi milioni di record... io non ne ho voglia.

Bruno


title: confrontare due Funzioni

text:
ciao a tutti

ho due funzioni:
1-Intervallo_DataInizio
2-Intervallo_DataFine

è possibile crearne una terza p.e.

Public Function Intervallo_Date_Inizio_Fine( _
  ByVal Data_Inizio As Variant, _
  ByVal Data_Fine As Variant, _
  ByRef msg As String, _
  ByRef vbe As String) As Boolean

    If Data_Inizio > Data_Fine Then
      ' La Data Inizio non puo' essere superiore alla Data Fine
      msg = "La 'Data Inizio' deve essere inferiore alla 'Data Fine'"
      vbe = "Attenzione!!!"
      Exit Function
    End If

Grazie


title: confrontare due Funzioni

text:
Si puoi anche farne una quarta...
Tuttavia se spieghi meglio la domanda, forse la risposta portebbe essere meno evasiva.

@Alex


title: confrontare due Funzioni

text:

Ciao Alex e grazie

ho queste due funzioni:

Public Function Intervallo_DataInizio( _
  ByVal Data As Variant, _
  ByRef msg As String, _
  ByRef vbe As String) As Boolean

    If IsNull(Data) Then
      ' Il campo non puo' essere Null
      msg = "Devi inserire la Data Inizio!!!"
      vbe = "Attenzione!!!"
      Exit Function
    End If

    If Data < Forms("Pannello comandi")!Dal Then
      ' La Data Inizio non puo' essere inferiore alla Data Inizio del Pannello comandi
      msg = "La 'Data Inizio' deve essere superiore al " & Format(Forms("Pannello comandi")!Dal, "dd/mm/yy")
      vbe = "Attenzione!!!"
      Exit Function
    End If

    If Data > Forms("Pannello comandi")!al Then
      ' La Data Inizio non puo' essere superiore alla Data Fine del Pannello comandi
      msg = "La 'Data Inizio' deve essere inferiore al " & Format(Forms("Pannello comandi")!al, "dd/mm/yy")
      vbe = "Attenzione!!!"
      Exit Function
    End If

Intervallo_DataInizio = True
End Function

Public Function Intervallo_DataFine( _
  ByVal Data As Variant, _
  ByRef msg As String, _
  ByRef vbe As String) As Boolean

    If IsNull(Data) Then
      ' Il campo non puo' essere Null
      msg = "Devi inserire la Data Fine!!!"
      vbe = "Attenzione!!!"
      Exit Function
    End If

    If Data < Forms![Pannello comandi]!Dal Then
      ' La Data Fine non puo' essere inferiore alla Data Inizio del Pannello comandi
      msg = "La 'Data Fine' deve essere superiore al " & Format(Forms![Pannello comandi]!Dal, "dd/mm/yy")
      vbe = "Attenzione!!!"
      Exit Function
    End If

    If Data > Forms("Pannello comandi")!al Then
      ' La Data Fine non puo' essere superiore alla Data Fine del Pannello comandi
      msg = "La 'Data Fine' deve essere inferiore al " & Format(Forms![Pannello comandi]!al, "dd/mm/yy")
      vbe = "Attenzione!!!"
      Exit Function
    End If

Intervallo_DataFine = True
End Function

e vorrei aggiungere..........................

    If Intervallo_DataInizio > Intervallo_DataFine Then
      msg = "La 'Data Inizio' deve essere inferiore alla 'Data Fine'"

   If Intervallo_DataFine > Intervallo_DataInizio Then
     msg = "La 'Data Fine' non può essere inferiore alla 'Data Inizio'!!!"


title: confrontare due Funzioni

text:
Non hai valutato invece di fare solo 1 FUNZIONE... con un Parametro aggiuntivo che condiziona il tipo di confronto...?

Public Function Confronto(DataIN As Date, _
      DataSTART As Date, _
      DataSTOP as Date, _
      TipoConfronto as Byte, _
      ByRef msg As String, _
      ByRef vbe As String) As Boolean

    If IsNull(Data) Then
      ' Il campo non puo' essere Null
      msg = "Devi inserire la Data Fine!!!"
      vbe = "Attenzione!!!"
      Exit Function
    End If

    Select Case TipoConfronto
       Case Is=1
          ' Il contenuto della Funzione 1 ripulito...

       Case Is=2
          ' Il contenuto della Funzione 1 ripulito...

       Case Is=3
          ' Il contenuto della Funzione 1 ripulito...
    End select

    Intervallo_DataFine = True
End Function.

Ora fai attenzione a 2 cose...

1° Non usare la variabile [VBE] è una parola riservata...
2° Attento agli EXIT FUNCTION non forzano il valore di restituzione della Funzione a TRUE, quindi a cosa serve una Funzione...?

@Alex


title: confrontare due Funzioni

text:

ciao Alex

non ho capito
come utilizzare il
Case Is=1

e come devo fare per richamare la funzione


title: confrontare due Funzioni

text:
cut...

ciao a tutti

ho maschera con due controlli

"DataInizio" e "DataFine"

con un'unica funzione
vorrei controllare il contenuto
dei due controlli considerando
il suggerimento di Alex, ma
non riesco a venire a capo.

Ecco la funzione:

  Public Function Intervallo_Date( _
  ByVal DataIn As Variant, _
  DataStart As Date, _
  DataStop As Date, _
  TipoConfronto As Byte, _
  ByRef msg As String, _
  ByRef ban As String) As Boolean

    If IsNull(DataIn) Then
      ' Il campo non puo' essere Null
      msg = "Devi inserire la 'Data Inizio'!!!"
      ban = "Attenzione!!!"
      Exit Function
    End If

    If DataIn < Forms("Pannello comandi")!Dal Then
      ' La Data Inizio non puo' essere inferiore alla Data Inizio del Pannello comandi
      msg = "La 'Data Inizio' deve essere superiore al " & Format(Forms("Pannello comandi")!Dal, "dd/mm/yy")
      ban = "Attenzione!!!"
      Exit Function
    End If

    If DataIn > Forms("Pannello comandi")!al Then
      ' La Data Inizio non puo' essere superiore alla Data Fine del Pannello comandi
      msg = "La 'Data Inizio' deve essere inferiore al " & Format(Forms("Pannello comandi")!al, "dd/mm/yy")
      ban = "Attenzione!!!"
      Exit Function
    End If

    Select Case TipoConfronto
        Case Is = 1
        If DataStart > DataStop Then
          msg = "La 'Data Inizio' deve essere inferiore alla 'Data Fine'!!!"
        End If

    End Select

Intervallo_Date = True
End Function

________________
e questo codice per
richiamarla, ma non va bene!

    Dim msg_DataIn As String
    Dim ban_DataIn As String

    If Intervallo_Date("Me!DataInizio.Value", 0, 0, 1, _
                    msg_DataIn, _
                    ban_DataIn) = False Then
    MsgBox msg_DataIn, vbExclamation, ban_DataIn
    Me!DataInizio.SetFocus
    Exit Sub

Grazie per l'aiuto


title: confrontare due Funzioni

text:

I 3 Case sono i contenuti delle tue 3 Funzioni... che inserirai all'interno del CASE...
Quando chiami la funzione specifichi quale CASE applicare ai dati...

Chiaramente non funziona se non la scrivi giusta e quello che hai scritto ora è molto fuori mano... perchè proprio non hai compreso il senso...

Quindi prova ad inserire all'interno dei CASE la logica di confronto che la singola funzione deve applicare, magari fai delle prove semplificate, segui con il DEBUG il percorso e prendi confidenza con questo suggerimento... alla fine compreso lo adatti.

@Alex


title: confrontare due Funzioni

text:
grazie Alex
ci provo ma non so utilizzare il DEBUG


title: confrontare due Funzioni

text:
Il giorno martedì 21 aprile 2015 15:15:24 UTC+2,
francodel...@gmail.com
 ha scritto:
> grazie Alex
> ci provo ma non so utilizzare il DEBUG

Se non sai fare DEBUG, non puoi sviluppare VBA... devi imparare nel modo più assoluto.

@Alex


title: confrontare due Funzioni

text:

Ciao Alex
mi puoi riportare qualche link?
grazie


title: confrontare due Funzioni

author: CIDI

text:

in assenza del maestro...:-)
vedi:
http://mirror.masterdrive.it/alessandrobaraldi/DettaglioFaq.asp%3FIdFAQ=298.html

ciao

Daniele


title: confrontare due Funzioni

text:

grazie Daniele


title: confrontare due Funzioni

text:
.....
> in assenza del maestro...:-)
> vedi:
http://mirror.masterdrive.it/alessandrobaraldi/DettaglioFaq.asp%3FIdFAQ=298.html

> ciao
>
> Daniele

Ehehehe troppa roba... ero molto volenteroso...
Ricordo che su AccessGroup c'è tutto...

@Alex


title: confrontare due Funzioni

text:

grazie Alex


title: confrontare due Funzioni

text:

ciao Alex
nel Debug come richiamo la funzione nel mio caso?
non cosi  ?Confronto(),
allora come?


title: confrontare due Funzioni

text:

nella finestra 'immediata' devi inserire

a=confronto()

ovviamente devi aver messo un breakpoint sulle prime righe all'interno
della funzione per vedere riga dopo riga come funziona


title: confrontare due Funzioni

text: grazie


title: confrontare due Funzioni

text:
Il giorno giovedì 23 aprile 2015 13:58:14 UTC+2,
francodel...@gmail.com
 ha scritto:
> grazie

ciao RobertoA
ho fatto
?a=confronto(),
ma ho l'errore:
"errore di compilazione
argomento non facoltativo"
ma anche nelle funzioni che vanno bene
ho il medesimo errore.

p.e. anche in questa funzione mi da quell'errore.

Public Function NumS(S As String) As String
Dim I As Long
For I = 1 To Len(S)
    If IsNumeric(Mid(S, I, 1)) Then
        NumS = NumS & Mid(S, I, 1)
    End If
Next
End Function


title: confrontare due Funzioni

text:
CUT.......

ho quest'errore :
"errore di compilazione argomento non facoltativo"

in tutte le funzioni che tra parentesi hanno delle variabili
p.e. Function fctRound(varNr As Variant, Optional varPl As Integer = 2) As Double

mentre se ho p.e. questa funzione:
Function fTrovaFatturaCli()

no!!!

chi mi sa dire dove sbaglio?
forse manca una libreria?
Grazie.


title: confrontare due Funzioni

text:

ciao Alex e grazie

ecco cosa riuscito a fare, ma con il debug ancora non riesco.

prima di DataStart e DataStop si deve mettere "ByVal"?

Public Function Confronto( _
  DataStart As Variant, _
  DataStop As Variant, _
  TipoConfronto As Byte, _
  ByRef msg As String, _
  ByRef ban As String) As Boolean

    If IsNull(DataStart) Then TipoConfronto = 1
    If DataStart < Forms("Pannello comandi")!Dal Then TipoConfronto = 2
    If DataStop > DataStop Then TipoConfronto = 8

    Select Case TipoConfronto
        Case Is = 1
          ' Il campo non puo' essere Null
          msg = "Devi inserire la 'Data Inizio'!!!"
          ban = "Attenzione!!!"
          Exit Function

        Case Is = 2
          ' La Data Inizio non puo' essere inferiore alla Data Inizio del Pannello comandi
          msg = "La 'Data Inizio' deve essere uguale o superiore al " & Format(Forms("Pannello comandi")!Dal, "dd/mm/yy")
          ban = "Attenzione!!!"
          Exit Function

        Case Is = 3
          ' La Data Fine non puo' essere superiore alla Data Inizio
          msg = "La 'Data Fine' deve essere uguale o superiore alla 'Data Inizio'!!!"
          ban = "Attenzione!!!"
          Exit Function

    End Select

Confronto = True
End Function

_________

    Dim TipoConfronto As Byte
    Dim msg_DataInizio As String
    Dim ban_DataInizio As String
    Dim msg_DataFine As String
    Dim ban_DataFine As String

    If Intervallo_Date(Me!DataInizio.Value, Me!DataFine.Value, _
                    TipoConfronto, _
                    msg_DataInizio, _
                    ban_DataInizio) = False Then
    MsgBox msg_DataInizio, vbExclamation, ban_DataInizio

    If IsNull(Me!DataInizio) Then Me!DataInizio.SetFocus
    If IsNull(Me!DataFine) Then Me!DataFine.SetFocus
    Exit Sub


title: confrontare due Funzioni

text:
Lascia stare... fai 3 Funzioni.

@Alex


title: confrontare due Funzioni

text:
Il giorno lunedì 27 aprile 2015 12:21:19 UTC+2, @Alex ha scritto:
> Lascia stare... fai 3 Funzioni.
>
> @Alex

grazie Alex


title: Formattazione Condizionale

text:
Perchè non mi funziona se il campo formattato è calcolato da una
espressione?Come posso risolvere?
Marco.


title: Data access page

author: BettyGG

text:
Queste nuove Data access page di Access2000 funzionano solo all'interno di
una intranet o possono essere utilizzate anche collegandosi da internet?
Se si come? A me funzionano solo all'interno di una intranet appena mi
collego da un dominio diverso non mi permette piu di collegarmi al DB.
Grazie in anticipo per ogni aiuto o suggerimento


title: Data access page

text:
BettyGG <
polp...@hotmail.com
> wrote in message
m5WO4.64602$xt2.7...@news.infostrada.it...

Come non detto era una stupidaggine da risolvere


title: Errore #Nome? in un controllo

author: Agostini Gianluigi

text:
Buongiorno.
Utilizzo A00 su W2000
In una maschera ho un controllo casella di testo non associato, e come
origine controllo faccio riferimento al campo di una query.
=[QryCalcoloMaterialeImpegnato]![Impegnato]
dove [impegnato] č un campo calcolato (Impegnato:
Somma([TblArticoli]![Fabbisogno]*[TblOrdini]![QTaOrdine]))
Se eseguo la query, la stessa mi mostra correttamente il risultato, mentre
il mio controllo mostra #Nome?
Perchč?
Grazie per la risposta
Gianluigi Agostini


title: Errore #Nome? in un controllo

author: Antonio Biso

text:
Agostini Gianluigi <
agostini....@tin.it
> wrote in message
V3yD7.28575$C57.8...@news1.tin.it...
> Buongiorno.
> Utilizzo A00 su W2000
> In una maschera ho un controllo casella di testo non associato, e come
> origine controllo faccio riferimento al campo di una query.
> =[QryCalcoloMaterialeImpegnato]![Impegnato]
Scrivi solo =[impegnato]
Antonio


title: Errore #Nome? in un controllo

text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:fFzD7.8970$7A4.5...@news.infostrada.it...

Anche cosě da lo stesso risultato (#Nome?).  Guarda perň che la query non č
quella su cui si basa la maschera. Se creo una sottomaschera basata sulla
query e nella sottomaschera visualizzo il campo calcolato, questo mostra
correttamente il valore. Vorrei perň evitare il giro della sottomaschera, ed
avere un controllo che mi mostri direttamente il valore del campo della
query.
Grazie
Gianluigi Agostini


title: Errore #Nome? in un controllo

text:
Agostini Gianluigi ha scritto:
> "Antonio Biso ha scritto:
> > > Utilizzo A00 su W2000
> > > In una maschera ho un controllo casella di testo non associato, e come
> > > origine controllo faccio riferimento al campo di una query.
> > > =[QryCalcoloMaterialeImpegnato]![Impegnato]
> >
> > Scrivi solo =[impegnato]
>
> Anche cosě da lo stesso risultato (#Nome?).  Guarda perň che la query non č
> quella su cui si basa la maschera. Se creo una sottomaschera basata sulla
> query e nella sottomaschera visualizzo il campo calcolato, questo mostra
> correttamente il valore. Vorrei perň evitare il giro della sottomaschera, ed
> avere un controllo che mi mostri direttamente il valore del campo della
> query.
=DLookUp("impegnato";"QryCalcoloMaterialeImpegnato")
forse hai anche bisogno di una condizione --> <F1> DLookUp
--
HTH
Karl
*********
Access-FAQ (tedesco):
http://www.donkarl.com


title: Errore #Nome? in un controllo

author: bande

text:
"Agostini Gianluigi" <
agostini....@tin.it
> ha scritto nel messaggio
news:RWAD7.17836$74.4...@news2.tin.it...

Se la query restituisce un solo valore puo' usare la dlookup come origine
controllo.
= dlookup("Impegnato";"QryCalcoloMaterialeImpegnato")
Ciao
--
Andrea


title: Si puo' interagire con un DB SQL tramite accesso DIRETTO al suo ODBC ?

text:
Ho un SQL DB microsoft a  cui devo accedere. Nota esattamente la
sua versione, vorrei capire come utilizzare  direttamente la sua
intefaccia API (e dove trovarla) per eseguire queries ed il resto
ovviamente col VBA.

E' possibile ? Qualche link ?  Parto da zero tenetelo presente.

Grazie per l' attenzione in ogni caso.


text:
Salve,

Radicale.001 ha scritto:
> Ho un SQL DB microsoft a  cui devo accedere. Nota esattamente la
> sua versione, vorrei capire come utilizzare  direttamente la sua
> intefaccia API (e dove trovarla) per eseguire queries ed il resto
> ovviamente col VBA.
>
> E' possibile ? Qualche link ?  Parto da zero tenetelo presente.

Qualche volta è bello come sai esprimerti cripticamente. ;-)

Suppongo che parli di un frontend di Access dal quale vuoi esguire query
sul SQL Server senza usare la macchina database di Access. Se sì, leggi:

http://support.office.com/en-us/article/Process-SQL-on-a-database-server-by-using-a-pass-through-query-b775ac23-8a6b-49b2-82e2-6dac62532a42

Più informazioni trovi p.e. nel buonissimo testo di Andy Baron che
contiene anche paragrafi sulle query pass-through:

http://technet.microsoft.com/en-us/library/bb188204(v=sql.90).aspx

--
Ciao
Karl
*********
Access FAQ:
http://www.donkarl.com/it

Access Lobby:
http://www.AccessDevelopers.org


text:
Il giorno lunedì 30 marzo 2015 18:52:40 UTC+2, Karl Donaubauer ha scritto:
> Salve,
>
> Radicale.001 ha scritto:
> > Ho un SQL DB microsoft a  cui devo accedere. Nota esattamente la
> > sua versione, vorrei capire come utilizzare  direttamente la sua
> > intefaccia API (e dove trovarla) per eseguire queries ed il resto
> > ovviamente col VBA.
> >
> > E' possibile ? Qualche link ?  Parto da zero tenetelo presente.
>
> Qualche volta è bello come sai esprimerti cripticamente. ;-)

Sorry : non l' ho fatto apposta.

> Suppongo che parli di un frontend di Access dal quale vuoi esguire query
> sul SQL Server senza usare la macchina database di Access. Se sì, leggi:

Sinceramente non saprei, cerco di spiegarmi meglio : leggo qua e la
che ogni database (per es. Oracle, Microsoft SQL ecc ecc) "espongono"
(cosi' leggo) una serie d API (ossia di funzioni di sistema di interfaccia)
tramite le quali e' possibile accedere e manipolare i dati del DB facendo
a  meno di ogni driver, o qualcosa del genere.

Praticamente (se ho capito) il driver e' costituito dalle API stesse.
Se cosi' fosse queste API dove si trovano ? E c'e' modo di imparare a
usarle ?

>
http://support.office.com/en-us/article/Process-SQL-on-a-database-server-by-using-a-pass-through-query-b775ac23-8a6b-49b2-82e2-6dac62532a42

>
> Più informazioni trovi p.e. nel buonissimo testo di Andy Baron che
> contiene anche paragrafi sulle query pass-through:
>
>
http://technet.microsoft.com/en-us/library/bb188204(v=sql.90).aspx

Ok grazie ora guardo se e' quello che cerco.


text:
Salve,

Radicale.001 ha scritto:
> ...
> leggo qua e la
> che ogni database (per es. Oracle, Microsoft SQL ecc ecc) "espongono"
> (cosi' leggo) una serie d API (ossia di funzioni di sistema di interfaccia)
> tramite le quali e' possibile accedere e manipolare i dati del DB facendo
> a  meno di ogni driver, o qualcosa del genere.
>
> Praticamente (se ho capito) il driver e' costituito dalle API stesse.
> Se cosi' fosse queste API dove si trovano ? E c'e' modo di imparare a
> usarle ?
> ...
Non so se ti capisco bene e cosa hai già letto ma tra i primi siti che
google trova con "Microsoft SQL Server API" è questo:

https://msdn.microsoft.com/en-us/library/dd206988.aspx

che ti dà un elenco delle interfaccie di programmazione per la versione
attuale 2014 e moltissimo informazioni con i link.



title: asterischi su password (2)

author: Enrico

text:
Prima di tutto grazie a tutti....
Purtroppo ho dimenticato di dire che non ho messo la password all'interno di
un form creando una casella di testo ma ho inserito una riga nel codice di
un pulsante che recita:
If InputBox("Sai la password ?") = "pippo" Then........
ed il pulsante non ha la proprieta' (o almeno non l'ho trovata) di
immissione come una casella di testo
In effetti rileggendomi sono stato un po' confusionario..
scusate e comunque....
Grazie a chiunque mi possa aiutare....
Ghiro degli Abeti


title: asterischi su password (2)

author: Roberto dal portatile

text:
"Enrico" <
end...@tin.it
> ha scritto nel messaggio
news:rCPb6.29771$dD2.3...@twister2.tin.it...
> Prima di tutto grazie a tutti....
> Purtroppo ho dimenticato di dire che non ho messo la password all'interno
di
> un form creando una casella di testo ma ho inserito una riga nel codice di
> un pulsante che recita:
>
> If InputBox("Sai la password ?") = "pippo" Then........
>
> ed il pulsante non ha la proprieta' (o almeno non l'ho trovata) di
> immissione come una casella di testo
E' però vero che quello che fai con una InputBox lo puoi realizzare con una
maschera popup a scelta obbligatoria.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------


title: problemi sulla realizzazione di una query dare/avere su a2000-w98

author: Sergio Della Giora

text:
Spett.le NG,
avrei bisogno di un piccolo suggerimento su come iniziare un lavoro :
partendo da una semplice tabella dare/avere vorrei realizzare il relativo
campo Saldo, ovvero :
 DARE           AVERE        SALDO
---------------------------------------
1500                    0                1500
    0                    500               1000
1000                    0                  2000
    0                    500                1500
    0                    1500                0
Sebbene concettualmente sembra una cretinata non ho idea di come realizzare
la colonna Saldo. Qualcuno ha qualche suggerimento da darmi?
Grazie!
Saluti
Sergio Della Giora


author: Sib dall'ufficio

text:
"Sergio Della Giora" <
sergio_d...@infinito.it
> ha scritto nel
messaggio news:9o7epk$b7vah$1...@ID-84518.news.dfncis.de...

Devi inserire una DSum() il cui criterio filtri tutti i record fino a quello
corrente
Sib


text:
> Devi inserire una DSum() il cui criterio filtri tutti i record fino a
quello
> corrente
>
> Sib
>
Proverò a documentarmi sull'uso della Dsum...
Appena riesco a combinare qualcosa vi faccio sapere.
Grazie per la dritta!
Saluti
Sergio Della Giora


title: Avviso all'utente in barra delle applicazioni

author: Wrugaian

text:
Ciao, ho letto altrove in questo ng della difficoltà nel gestire una
finestra di Access con relativa form sempre in primo piano rispetto ad
altre applicazioni aperte eventualmente sul desktop (se rispetto a quei
post ci sono nuovi trucchi sono tutto orecchi).
Non avendo modo di lasciare l'applicazione sempre visibile, ho
l'esigenza quindi di avvisare l'utente che a livello di form si è
generata una modifica.
Contestualmente non posso interferire con l'utente (no popup che debbano
essere confermati quindi) che deve solo avere un messaggio visivo (no
audio) di un aggiornamento che SE vuole si va a vedere.
Mi sono chiesto quindi se fosse in qualche modo possibile far
lampeggiare sulla barra delle applicazioni la finestra di access (come
accade a volte per le applicazioni ridotte a icona)..
Sono aperto anche ad altri suggerimenti
Grazie per l'eventuale aiuto.


text:

Io utilizzo la icontray ed un suono wav per avvisare l'utente,
sull'evento su timer di una maschera imposta il seguente codice:
If DLookup("[Tot]", "TotRicNew") > 0 Then
   If Not mblnSubclassed Then
       DoCmd.Beep
       Call sHookTrayIcon(Me, "fWndProcTray", "Posta in arrivo",
GetPathPart(CurrentDb.name) & "SysTray.ICO")
       DoCmd.Beep
       mblnSubclassed = True
        Err = apisndPlaySound("\\server\programmi\roadrunner.wav", 2)
       MsgBox "C'E' UN NUOVO MESSAGGIO", 64, "Posta interna"
   End If
Else
   Call sUnhookTrayIcon(Me)
   mblnSubclassed = False
End If
'---------------------------------------------------------------------
Ed in un modulo imposta il seguente codice:
Option Compare Database
Option Explicit
'************** Code Start *************
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
'
'------------------------------
'  Do NOT try to step through
'  this code.  Entering debug mode
'  will cause a GPF if the window
'  is subclassed.
'------------------------------
'//LoadImage flags
Private Const WM_GETICON = &H7F  'message is sent to a window to
retrieve a handle _
                                                            to the
large or small icon associated with a window
Private Const WM_SETICON = &H80  'message to associate a new large or
small icon with a window
Private Const IMAGE_BITMAP = 0      'Loads a bitmap.
Private Const IMAGE_ICON = 1         ' Loads an icon.
Private Const IMAGE_CURSOR = 2   'Loads a cursor.
Private Const LR_LOADFROMFILE = &H10      'Loads the image from the
file specified by _

the lpszName parameter. If this flag is not _

specified, lpszName is the name of the resource.
Private Const ICON_SMALL = 0&    'Retrieve the small icon for the
window.
Private Const ICON_BIG = 1&         'Retrieve the large icon for the
window.
'loads an icon, cursor, or bitmap.
Private Declare Function apiLoadImage Lib "user32" _
   Alias "LoadImageA" _
   (ByVal hInst As Long, _
   ByVal lpszName As String, _
   ByVal uType As Long, _
   ByVal cxDesired As Long, _
   ByVal cyDesired As Long, _
   ByVal fuLoad As Long) _
   As Long
Private Declare Function apiSendMessageLong Lib "user32" _
   Alias "SendMessageA" _
   (ByVal hWnd As Long, _
   ByVal wMsg As Long, _
   ByVal wParam As Long, _
   ByVal lParam As Long) _
   As Long
'//SHGetFileInfo flags
Private Const SHGFI_ICON = &H100                          '// get icon
Private Const SHGFI_DISPLAYNAME = &H200            '// get display
name
Private Const SHGFI_TYPENAME = &H400                  '// get type
name
Private Const SHGFI_ATTRIBUTES = &H800               '// get
attributes
Private Const SHGFI_ICONLOCATION = &H1000       '// get icon location
Private Const SHGFI_EXETYPE = &H2000                   '// return exe
type
Private Const SHGFI_SYSICONINDEX = &H4000         '// get system icon
index
Private Const SHGFI_LINKOVERLAY = &H8000           '// put a link
overlay on icon
Private Const SHGFI_SELECTED = &H10000               '// show icon in
selected state
Private Const SHGFI_ATTR_SPECIFIED = &H20000   '// get only specified
attributes
Private Const SHGFI_LARGEICON = &H0                    '// get large
icon
Private Const SHGFI_SMALLICON = &H1                    '// get small
icon
Private Const SHGFI_OPENICON = &H2                     '// get open
icon
Private Const SHGFI_SHELLICONSIZE = &H4             '// get shell size
icon
Private Const SHGFI_PIDL = &H8                               '//
pszPath is a pidl
Private Const SHGFI_USEFILEATTRIBUTES = &H10  '// use passed
dwFileAttribute
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const MAX_PATH = 260
Private Type SHFILEINFO
   hIcon As Long                                      'Handle to the
icon that represents the file.
   iIcon As Long                                        'Index of the
icon image within the _

system image list.
   dwAttributes As Long                            'Array of values
that indicates the _

attributes of the file object.
   szDisplayName As String * MAX_PATH  'String that contains the name
of the _
                                                                  file
as it appears in the Windows shell
   szTypeName As String * 80                   'String that describes
the type of file.
End Type
'Retrieves information about an object in the file system,
'such as a file, a folder, a directory, or a drive root.
Private Declare Function apiSHGetFileInfo Lib "shell32.dll" _
   Alias "SHGetFileInfoA" _
   (ByVal pszPath As String, _
    ByVal dwFileAttributes As Long, _
    psfi As SHFILEINFO, _
    ByVal cbSizeFileInfo As Long, _
    ByVal uFlags As Long) _
    As Long
Private Declare Function apiDestroyIcon Lib "user32" _
   Alias "DestroyIcon" _
   (ByVal hIcon As Long) _
   As Long
'Declared here so we can use DestroyIcon afterwards
Private psfi As SHFILEINFO
'//ShowWindow flags
Private Const SW_HIDE = 0
Private Const SW_SHOWNORMAL = 1
Private Const SW_SHOWMINIMIZED = 2
Private Const SW_SHOWMAXIMIZED = 3
'sets the specified window's show state.
Private Declare Function apiShowWindow Lib "user32" _
   Alias "ShowWindow" _
   (ByVal hWnd As Long, _
   ByVal nCmdShow As Long) _
   As Long
'//Shell_NotifyIcon Flags
Private Const NIM_ADD As Long = &H0          'Add an icon to the
status area.
Private Const NIM_MODIFY As Long = &H1    'Modify an icon in the
status area.
Private Const NIM_DELETE As Long = &H2    'Delete an icon from the
status area.
'//NOTIFYICONDATA flags
Private Const NIF_TIP As Long = &H4             'The szTip member is
valid.
Private Const NIF_MESSAGE As Long = &H1   'The uCallbackMessage member
is valid.
Private Const NIF_ICON As Long = &H2         'The hIcon member is
valid.
'//Messages
Private Const WM_MOUSEMOVE = &H200        'posted to a window when the
cursor moves.
Private Const WM_LBUTTONDBLCLK = &H203   'Left Double-click
Private Const WM_LBUTTONDOWN = &H201     'Left Button down
Private Const WM_LBUTTONUP = &H202           'Left Button up
Private Const WM_RBUTTONDBLCLK = &H206   'Right Double-click
Private Const WM_RBUTTONDOWN = &H204    'Right Button down
Private Const WM_RBUTTONUP = &H205          'Right Button up
Private Type NOTIFYICONDATA
  cbSize As Long                      'Size of this structure, in
bytes.
   hWnd As Long                     'Handle to the window that will
receive _
                                                notification messages
associated with an _
                                                icon in the taskbar
status area
  uID As Long                          'Application-defined identifier
of the _
                                                taskbar icon.
  uFlags As Long                     'Array of flags that indicate
which of _
                                               the other members
contain valid data.
  uCallbackMessage As Long  'Application-defined message identifier.
  hIcon As Long                      'Handle to the icon to be added,
modified, _
                                                or deleted
  szTip As String * 64              'Pointer to a NULL-terminated
string _
                                                with the text for a
standard tooltip.
End Type
'Sends a message to the taskbar's status area.
Private Declare Function apiShellNotifyIcon Lib "shell32.dll" _
  Alias "Shell_NotifyIconA" _
  (ByVal dwMessage As Long, _
  lpData As NOTIFYICONDATA) _
  As Long
'passes message information to the specified window procedure.
Private Declare Function apiCallWindowProc Lib "user32" _
  Alias "CallWindowProcA" _
  (ByVal lpPrevWndFunc As Long, _
  ByVal hWnd As Long, _
  ByVal msg As Long, _
  ByVal wParam As Long, _
  ByVal lParam As Long) _
  As Long
'changes an attribute of the specified window.
Private Declare Function apiSetWindowLong Lib "user32" _
  Alias "SetWindowLongA" _
  (ByVal hWnd As Long, _
  ByVal nIndex As Long, _
  ByVal wNewWord As Long) _
  As Long
Private nID As NOTIFYICONDATA
Private lpPrevWndProc As Long
Private mblnCustomIcon As Boolean
Private Const GWL_WNDPROC  As Long = (-4)    'Sets a new address for
the window procedure.
Function fWndProcTray(ByVal hWnd As Long, _
                                       ByVal uMessage As Long, _
                                       ByVal wParam As Long, _
                                       ByVal lParam As Long) _
                                       As Long
'receives messages indirectly from the operating system
'but allows us to perform additional functions
'for some of those messages.
'
   On Error Resume Next
   Select Case lParam
      Case WM_LBUTTONUP:        'Left Button Up
         Call apiShowWindow(hWnd, SW_SHOWNORMAL)
      Case WM_LBUTTONDBLCLK:    'Left Button Double click
         Call apiShowWindow(hWnd, SW_SHOWNORMAL)
      Case WM_LBUTTONDOWN:    'Left Button down
         'Debug.Print "Left Button Down"
      Case WM_RBUTTONDBLCLK:  'Right Double-click
         'Debug.Print "Right Button Double Click"
      Case WM_RBUTTONDOWN:  'Right Button down
         'Debug.Print "Right Button down"
      Case WM_RBUTTONUP:          'Right Button Up
         Call trayIconRClick_UP
         'Call apiShowWindow(hWnd, SW_SHOWNORMAL)
   End Select
   'return the messages back
   fWndProcTray = apiCallWindowProc( _
                                       ByVal lpPrevWndProc, _
                                       ByVal hWnd, _
                                       ByVal uMessage, _
                                       ByVal wParam, _
                                       ByVal lParam)
End Function
Sub sHookTrayIcon(frm As Form, _
                                 strFunction As String, _
                                 Optional strTipText As String, _
                                 Optional strIconPath As String)
   'Initialize the tray icon first
   If fInitTrayIcon(frm, strTipText, strIconPath) Then
      'hide the form window
      'frm.Visible = False
      'Set new address for window's message handler
      lpPrevWndProc = apiSetWindowLong(frm.hWnd, _
                                    GWL_WNDPROC, _
                                    AddrOf(strFunction))
  End If
End Sub
Sub sUnhookTrayIcon(frm As Form)
   'Restore the original message handler
   Call apiSetWindowLong(frm.hWnd, _
            GWL_WNDPROC, _
            lpPrevWndProc)
   'Remove the icon in the SysTray
   Call apiShellNotifyIcon(NIM_DELETE, nID)
   'If a custom icon was used, reset the form's icon
   If mblnCustomIcon Then
      Call fRestoreIcon(frm.hWnd)
   End If
   'Destroy the icon
   Call apiDestroyIcon(psfi.hIcon)
End Sub
Private Function fExtractIcon() As Long
' Extracts the icon associated with an Access form
'
On Error GoTo ErrHandler
Dim hIcon As Long
   'Don't need the full file name as Access form shortcuts
   'have MAF extension.  The SHGFI_USEFILEATTRIBUTES
   'lets us pass an "invalid" file name to SHGetFileInfo
   hIcon = apiSHGetFileInfo(".MAF", FILE_ATTRIBUTE_NORMAL, _
                              psfi, LenB(psfi), _
                              SHGFI_USEFILEATTRIBUTES Or _
                              SHGFI_SMALLICON Or SHGFI_ICON)
   'Make sure there were no errors
   If Not hIcon = 0 Then fExtractIcon = psfi.hIcon
ExitHere:
   Exit Function
ErrHandler:
   fExtractIcon = False
   Resume ExitHere
End Function
Private Function fRestoreIcon(hWnd As Long)
   'Load the default form icon and assign it to the window
   Call apiSendMessageLong(hWnd, WM_SETICON, 0&, fExtractIcon())
End Function
Private Function fSetIcon(frm As Form, strIconPath As String) As Long
Dim hIcon As Long
   'Load the 16x16 icon from file
   hIcon = apiLoadImage(0&, strIconPath, IMAGE_ICON, 16&, 16&,
LR_LOADFROMFILE)
   If hIcon Then
      'First set the form's icon
      Call apiSendMessageLong(frm.hWnd, WM_SETICON, 0&, hIcon&)
      'This will tell us afterwards if we need to reset the form's
icon
      mblnCustomIcon = True
      'Now return the hIcon
      fSetIcon = hIcon
   End If
End Function
Private Function fInitTrayIcon(frm As Form, strTipText As String,
strIconPath As String) As Boolean
Dim hIcon As Long
   'If the user didn't specify the tip text, use a default value
   If strTipText = vbNullString Then strTipText = "MSAccess Form"
   If (strIconPath = vbNullString) Or (Dir(strIconPath) =
vbNullString) Then
      'if there's no icon specified, use the form's default icon
      hIcon = fExtractIcon()
   Else
      'load and set the icon
      hIcon = fSetIcon(frm, strIconPath)
   End If
   'If we were successful in previous step, then continue
   'to place the icon in the system tray
   If hIcon Then
      With nID
         .cbSize = LenB(nID)
         .hWnd = frm.hWnd
         .uID = vbNull
         .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
         .uCallbackMessage = WM_MOUSEMOVE
         .hIcon = hIcon
         .szTip = strTipText & vbNullChar
      End With
      Call apiShellNotifyIcon(NIM_ADD, nID)
      fInitTrayIcon = True
   End If
End Function
'************** Code End *************


title: runtime 2003 per mac?

author: fab

text:
ciao sono nuovo e non ho ben capito il funzionamento del newsgroup
ho postato in una discussione vecchia ma non ho ben capito se è
visibile a tutti per cui ri-posto qui
ho il problema di far utilizzare
un applicativo access (2003) ad una persona che ha il mac
qual' è la via più breve? con il runtime 2003 funzionerebbe? deve
installare office per access? altro?
grazie..


title: runtime 2003 per mac?

author: ciroteo

text:

credo che access non giri su mac
forse la cosa che potresti fare, problema licenze a parte, è vedere se
mac ha la possibilità di installare macchine virtuali su cui mettere
un sistema windows.


title: runtime 2003 per mac?

author: Cinzia

text:
"ciroteo" <
matteo...@gmail.com
> ha scritto nel messaggio
news:6bb7d45e-420d-4d1c...@f63g2000hsf.googlegroups.com...


ciao fab, ciroteo
Ad esempio:
http://www.parallels.com:80/landingpage/dskd10/
--
Cinzia [Office Access MVP]
_______________________

www.riolab.org
http://accessdaziacin.live.spaces.com
----------------------------------------


title: province e cap

text:
Si trovano in giro dei file con:
 le province italiane;
 i cap;
 i prefissi telefonici per cittŕ?
Grazie a tutti,
   Giuseppe


title: Funzione Format

author: Gianna

text:
Ciao,
ho un problemino su un Db Access 2000.
Sul mio pc, dove ho Windows 98 e Access2000 gira tutto bene.
A lavoro ho Windows Xp e Access 2002 gira tutto bene.
Sul pc di un mio collega, dove ha Windows Xp e Access 2000 mi da un errore
nell'elaborazione di un report, non riconoscendo la funzione "Format"
(scritta nell'evento formattazione del report).
Secondo voi è un problema di installazione di Access? cosa potrebbe mancare?
Nei riferimenti di visual basic ci sono le stesse librerie fleggate sia sul
mio pc che su quello che non funziona.
Vi prego aiutatemi perchè sono disperata.
Grazie
Gianna


title: Funzione Format

author: sv

text:
Gianna ha scritto:

> Grazie
> Gianna
Prova intanto su
http://www.donkarl.com/it/
FAQ 1.1 Versioni di Access
FAQ 7.1 Riferimenti
--
rgrds
SC
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: impostare da codice sql una relazione 1 a molti

text:
qualcuno sa dirmi come creare da codice una relzione uno a molti fra il
campo id e idprodotto di 2 tabelle con referenza aggiorna ed elimina a
catena?
' con questo codice aggiungo il campo ma poi sempre da codice vba dovrei
creare la relazione di cui sopra.
db.Execute "ALTER TABLE miatabella " & "ADD COLUMN idprodotto integer"
Grazie a tutti.


author: giorgio rancati

text:
"Nicolas73" <
nico...@email.it
> ha scritto nel messaggio
news:46707068$0$37202$4faf...@reader3.news.tin.it...

Ciao Nicolas73,
prova a guardare questa mia vecchia risposta
http://groups.google.it/group/microsoft.public.it.office.access/msg/d62302cac84de293
Ciao
--
Giorgio Rancati
[Office Access MVP]


text:
>
> Ciao Nicolas73,
> prova a guardare questa mia vecchia risposta
>
http://groups.google.it/group/microsoft.public.it.office.access/msg/d62302cac84de293
>
> Ciao
> --
> Giorgio Rancati
> [Office Access MVP]
Grazie mille, provo a studiarmelo.


text:
>
> Ciao Nicolas73,
> prova a guardare questa mia vecchia risposta
>
http://groups.google.it/group/microsoft.public.it.office.access/msg/d62302cac84de293
>
> Ciao
> --
> Giorgio Rancati
> [Office Access MVP]
ho provato ad eseguire il codice per la creazione della relazione con update
e delete a catena ma nel codice non c'è come connettersi, mi spiego meglio,
io attualmente mi collego al db e lo modifico nel seguente modo:
    Dim db As Database
    Dim rs As Recordset
    Set db = OpenDatabase("C:\miodb.mdb", False, False, ";
pwd=123456")
    'Creazione Tabella ArchivioArrangiatori
    db.Execute "CREATE TABLE tabell1"
    db.Execute "ALTER TABLE tabell1 " & "ADD COLUMN Id
counter;"
    db.Execute "ALTER TABLE tabell1 " & "ADD COLUMN IdBilancio
float;"
    Set db = Nothing
dopo quest'ultima istruzioni mi devo collegare con ADO e creare la relazione
con il tuo codice, ma come mi collego con password? hai un esempio?
grazie.


text:
trovato
Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Inetpub\wwwroot\mdb-database\MyDB.mdb;Jet OLEDB:Database
Password=mypass


text:
"Nicolas73" <
nico...@email.it
> ha scritto nel messaggio
news:46728ff8$0$10619$4faf...@reader2.news.tin.it...

yesss :-)
come avrai letto dalla mia risposta, bisogna usare una connessione ADO, nel
mio esempio le tabelle erano nel db corrente quindi usavo la connessione ADO
Currentproject.Connection del db stesso
Cia



text:
"giorgio rancati" <
giorgio_NO_SP...@tiscali.it
> ha scritto nel
messaggio news:46729c3e$0$21208$5fc...@news.tiscali.it...

Ho aperto un altro post forse sbagliando puoi vedere il problema? Grazie.


title: Gestione di DataBase Remoti

author: Mirco Soderi

text:
Il mio problema è questo: una volta messo in una directory remota a cui ho
accesso un Database, come posso creare un programma che giri sul computer e
non sul server e che usi quel Database come se fosse presente in locale?
E' sufficiente cambiare l'indirizzo che si scrive nell'istruzione...
Dim DB as Database
Set DB = OpenDatabase("percorso del database")
e se è sufficiente, che cosa bisogna scrivere come percorso del Database se
esso risiede nella directory remota
http://digilander.iol.it/soderi/Database.mdb
?
Se invece non è sufficiente fare quello che ho scritto sopra, che cosa
bisogna fare esattamente?
E poi, una volta creata la connessione al Database, le istruzioni che si
impiegano per gestire i database locali (cioè la creazione di recordset e
l'utilizzo dei suoi metodi) sono uguali a quelle che vanno utilizzate per
gestire i Database remoti oppure no?
E nel caso in cui la risposta sia "no", quali sono le istruzioni che vanno
utilizzate in loro sostituzione?
NB Per favore, esprimetevi con semplicità e non date molte cose per
scontate. Ho una certa esperienza nella gestione di Database Access locali
finchè si tratta di compiere le operazioni più comuni, ma come avrete avuto
modo di capire non so assolutamente nulla di gestione di DataBase remoti e
di gestione avanzata di Database.
Chi vorrà rispondere in modo esauriente a questo messaggio, sarà
ricompensato con un inserimento di un link nel mio sito personale e nel sito
sul FantaCalcio (le informazioni richieste servono infatti nell'immediato
per esso, anche se conoscerle sarebbe per me molto importante anche per
altre applicazioni future).
Grazie fin d'ora per la vostra disponibilità.
Soderi Mirco.
PS Per favore, rispondere a
sod...@libero.it


title: Elenco maschere

author: marcod

text:
Ho due progetti di accesss primo.adp  e  secondo.adp.
Ho necessità di ottenere l'eleco delle maschere contenute nel progetto
secondo.adp dal progetto corrente che sto utilizzando che è primo.adp.
E' Possibile?
Sono in grado di farlo solo per il progetto corrente.
Qualcuno mi può aiutare?
Grazie a tutti in anticipo.
Marco D


title: Elenco maschere

author: Karl Donaubauer

text:
marcod wrote:
> Ho due progetti di accesss primo.adp  e  secondo.adp.
> Ho necessità di ottenere l'eleco delle maschere contenute nel progetto
> secondo.adp dal progetto corrente che sto utilizzando che è primo.adp.
> E' Possibile?
> Sono in grado di farlo solo per il progetto corrente.
> ...
Puoi usare codice di automazione (v.a.
www.donkarl.com/it?FAQ1.21
).
Dim appAcc As Access.Application
Dim obj As AccessObject
Set appAcc = New Access.Application
appAcc.OpenCurrentDatabase "PercorsoENomeDelSecondo.adp"
For Each obj In appAcc.CurrentProject.AllForms
    Debug.Print obj.Name
Next obj
appAcc.Quit
Set appAcc = Nothing
--
Ciao
Karl
*********
Access FAQ:
www.donkarl.com/it


title: Elenco maschere

text:

Giravo in torno alla soluzione  ma  "OpenCurrentDatabase"  proprio mi
mancava.
Ho decisamente bisogno di conoscere un po' del codice di automazione
di cui parli ma non so dove trovarlo.
Grazie infinite
Marco Dell'Oca


title: Salvare Report

text:
Ciao, chi mi dice qual'e' il problema?
Ho creato con un Report da codice con CreateReport
Al termine della Sub vorrei salvare il Report con un nome a mia scelta,
ed ho inserito:
docmd.openreport (
rpt1.name
, acViewPreview
docmd.save
str = "Titolo del Report"
if doesreportexist(str) then
   docmd.deleteobject acReport, str
endif
docmd.save, str
docmd.close
E funziona, ma avendo necessita di leggere alcuni campi di una tabella
ho inserito in testa alla sub:
set rst = new adodb.recordset
with rst
    .Activeconnection 'il mio db'
    .open "myTab",,,,adcmdtable
end with
Leggo i dati faccio tutto quello che voglio, ma non riesco piu' a
salvare ed ottengo il msg di errore: Errore di runtime 2501: L'azione
Save e' stata annullata.
Se qualcuno sa' dove sbaglio...
Grazie
Alessandro.
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Salvare Report

text:
Semplifichiamo la domanda, se NON utilizzo i RecordSet riesco a Salvare,
utilizzandoli ottengo: 'Errore di run-time: L'azione di Save e' stata
annullata'.
Perche'?



title: Salvare Report

author: Alessandro Sciutti

text:
Scoperto!!
Avevo chiuso il recordset (rst.Close) ma non lo avevo settato a
nothing!!



title: medicina generale, schede geriatriche

text:
qualcuno ha un programmino per fare le schede geriatriche di medicina
generale
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: medicina generale, schede geriatriche

author: Antonio Biso

text:
"carlo79" <
car...@inwind.it
> ha scritto nel messaggio
news:62Z98Z139Z221Y1...@usenet.libero.it...
> qualcuno ha un programmino per fare le schede geriatriche di medicina
> generale
Con access non fai programmi, tutt'al più applicativi...
Antonio


title: medicina generale, schede geriatriche

author: SR

text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:GPiKb.232730$e6.91...@twister2.libero.it...

Mi...che precisino :-)


title: medicina generale, schede geriatriche

text:
"SR" <
ste...@despammed.com
> ha scritto nel messaggio
news:sxjKb.23211$Jw2....@tornado.fastwebnet.it...

Beh...
non è che mi avesse fornito molti dati per una risposta più esauriente!!!
Antonio


title: trasportare i dati

author: Teamnetwork

text:
i miei 2-3 post precedenti non hanno avuto successo e allora cambiamo
mentalita'
Ho una tabella "movimenti" con
ID,data,distributore,nomeprodotto_inserito,nomeprodotto_presente
Con dei campi calcolati in una maschera sommo il penultimo valore di
"inserito+presente" e sottraggo l'ultimo valore "presente"
Facendo cosi ho la quantita' del prodotto venduto.
Il mio problema e' che questa e' una soluzione ...temporanea, in
quanto non ho uno storico del venduto
Ho creato una tabella "venduto" con ID,data,distributore,nomeprodotto
dove vorrei che i calcoli che i campi calcolati effettuano nella
maschera venissero riportati
Posso fare una query , una macro , un comando qualcosa ?
o addirittura una formula che faccia la stessa cosa dei miei campi
calcolati , controlla che la data sia diversa, ed eventualmente scrive
nella tabella "venduto" ?!?
Aspetto ansioso un consiglio anche perche sono veramente fermo con il
mio piccolo progetto.
Grazie


title: trasportare i dati

author: namor

text:
Teamnetwork ha scritto:

Il problema č che stai usando una struttura dati non normalizzata, quindi
ti tocca fare i salti mortali per ottenere un valore che in teoria si
calcola con una banale query o una Dsum().
Diventa complicato anche per noi riuscire a capire la struttura e darti
dei consigli.
Ma forse questo lo risolviamo...
visto che hai il campo data nella tua tabella non serve un'altra tabella
"storica" dove salvare i valori di tanto in tanto, dovrebbe essere
sufficiente usare la stessa formula dei campi calcolati perň aggiungendo
il filtro "data<=[data_riferimento]" per escludere tutti i movimenti
successivi a [data_riferimento] ed ottenere quindi lo stato del magazzino
a quella data.
Namor
--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: trasportare i dati

text:
On Tue, 07 Oct 2003 11:14:58 +0200,
na...@nospm.inwind.it
 (namor)
wrote:
>Ma forse questo lo risolviamo...
speriamo perche e' l'ultimo tassellino :)
>visto che hai il campo data nella tua tabella non serve un'altra tabella
>"storica" dove salvare i valori di tanto in tanto, dovrebbe essere
>sufficiente usare la stessa formula dei campi calcolati però aggiungendo
>il filtro "data<=[data_riferimento]" per escludere tutti i movimenti
>successivi a [data_riferimento] ed ottenere quindi lo stato del magazzino
>a quella data.
>Namor
uhm , pero' non avro la possibilita' di dire, controlliamo quanto
prodotto e' stato venduto dal 01/09/03 al 30/09/03
Questo mi e' indispensabile per capire quale prodotto e' maggiormente
apprezzato nei diversi distributori


title: trasportare i dati

text:
Teamnetwork ha scritto:




Calcoli il venduto al 30/09/03 e gli sottrai il venduto al 31/08/03.
Ma il tuo campo "nomeprodotto_inserito" cosa contiene di preciso? Non è lì
che salvi la quantità del venduto per ogni movimento?



title: trasportare i dati

text:
On Tue, 07 Oct 2003 13:13:24 +0200,
na...@nospm.inwind.it
 (namor)
wrote:
>Calcoli il venduto al 30/09/03 e gli sottrai il venduto al 31/08/03.
>Ma il tuo campo "nomeprodotto_inserito" cosa contiene di preciso? Non è lì
>che salvi la quantità del venduto per ogni movimento?
>Namor
il campo nomeprodotto_inserito contiene un valore numerico cosi come
nomeprodotto_presente
il problema e' che il valore venduto (che io non ho e non riesco a
salvare in nessuna tabella) lo calcolo sommando i PENULTIMI valori di
"inserito+presente" e sottraendo l'ULTIMO "presente" con la formula
che mi hai aiutato tu a trovare.. te la riporto
=DLookUp("WELCOME_inserite + WELCOME_presenti";"movimenti";"id=" &
DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND ID<" &
DMax("id";"movimenti";"Distributore=""Piazza
Domenicani""")))-DLookUp("WELCOME_presenti";"movimenti";"id=" &
DMax("id";"movimenti";"Distributore=""Piazza Domenicani"""))
WELCOME e' il nomeprodotto in questo caso (ho 8 prodotti FISSI)
Piazza Domenicani e' uno dei 3 distributori ed e' una stringa fissa
nella tabella "movimenti"
Come conciliare questa formula con un filtro su data ? (questa formula
conta ultimo e penultimo ID e non data)


title: trasportare i dati

text:
Teamnetwork ha scritto:
> On Tue, 07 Oct 2003 13:13:24 +0200,
na...@nospm.inwind.it
 (namor)
> wrote:
> >Calcoli il venduto al 30/09/03 e gli sottrai il venduto al 31/08/03.
> >Ma il tuo campo "nomeprodotto_inserito" cosa contiene di preciso? Non è lì
> >che salvi la quantità del venduto per ogni movimento?
> >Namor
> il campo nomeprodotto_inserito contiene un valore numerico cosi come
> nomeprodotto_presente
Mi pareva evidente, ma cosa rappresentano quei numeri? Mhz? Kg di patate?
Le quantità che consegni al distributore?
> il problema e' che il valore venduto (che io non ho e non riesco a
> salvare in nessuna tabella) lo calcolo sommando i PENULTIMI valori di
> "inserito+presente" e sottraendo l'ULTIMO "presente" con la formula
> che mi hai aiutato tu a trovare.. te la riporto
> =DLookUp("WELCOME_inserite + WELCOME_presenti";"movimenti";"id=" &
> DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND ID<" &
> DMax("id";"movimenti";"Distributore=""Piazza
> Domenicani""")))-DLookUp("WELCOME_presenti";"movimenti";"id=" &
> DMax("id";"movimenti";"Distributore=""Piazza Domenicani"""))
> WELCOME e' il nomeprodotto in questo caso (ho 8 prodotti FISSI)
> Piazza Domenicani e' uno dei 3 distributori ed e' una stringa fissa
> nella tabella "movimenti"
> Come conciliare questa formula con un filtro su data ? (questa formula
> conta ultimo e penultimo ID e non data)
Agiungi a tutti i filtri un " AND data<=#mm/gg/aaaa#"
esempio:
DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND
data<=#09/30/2003#")
Namor
--
------------------------------
Siamo tutti nella stessa barca (alcuni incatenati ai remi, altri con la
frusta in mano)!



title: trasportare i dati

text:
On Tue, 07 Oct 2003 13:37:13 +0200,
na...@nospm.inwind.it
 (namor)
wrote:
>Mi pareva evidente, ma cosa rappresentano quei numeri? Mhz? Kg di patate?
>Le quantità che consegni al distributore?
certo
>
>Agiungi a tutti i filtri un " AND data<=#mm/gg/aaaa#"
>esempio:
>DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND
>data<=#09/30/2003#")
>Namor
scusami , ma sono duretto di testa
questo AND data come funzionerebbe ?
io cercavo di fare :
Dalla data xx/xx/xxxx alla data xx/xx/xxxx
e lui mi diceva che per piazza domenicani e per il prodotto X erano
state vendute X schede
Riportavo questo valore per gli altri prodotti e distributori e avevo
una griglia con tutti i dati


title: trasportare i dati

text:
Teamnetwork ha scritto:

> certo


Il criterio "da... a..." lo imposti così:
data between #mm/gg/aaaa# and #mm/gg/aaaa#
esempio (dal 1 al 30 settembre 2003):
DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND
(data between #09/01/2003#" And #09/30/2003#"))
oppure anche:
DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND
(data >= #09/01/2003#" And data <= #09/30/2003#"))
Ma nel tuo caso visto che nel calcolo del venduto usi i valori dei record
precedenti forse non puoi applicare questo metodo, e devi calcolarlo per
differenza come venduto al 30/9 meno venduto al 31/8.



title: trasportare i dati

text:
On Wed, 08 Oct 2003 08:57:57 +0200,
na...@nospm.inwind.it
 (namor)
wrote:
>Il criterio "da... a..." lo imposti cosě:
>data between #mm/gg/aaaa# and #mm/gg/aaaa#
>
>esempio (dal 1 al 30 settembre 2003):
>DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND
>(data between #09/01/2003#" And #09/30/2003#"))
>
>oppure anche:
>DMax("id";"movimenti";"Distributore=""Piazza Domenicani"" AND
>(data >= #09/01/2003#" And data <= #09/30/2003#"))
>
>Ma nel tuo caso visto che nel calcolo del venduto usi i valori dei record
>precedenti forse non puoi applicare questo metodo, e devi calcolarlo per
>differenza come venduto al 30/9 meno venduto al 31/8.
>Namor
mi dispiace farti perdere del tempo ma credo di non essermi spiegato
abbastanza bene
Ho gia fatto qualcosa del genere per la tabella "incasso"
Ho creato una maschera che esegue una query dove filtra per data e
distributore e somma l'incasso e una sottomaschera mi da' gli importi
per quel determinato periodo di tutti e 3 i distributori
Ho 2 caselle con DATA INIZIALE e DATA FINALE e un comando AGGIORNA
In quel caso non e' difficile perche ho fisicamente il valore
dell'incasso in quanto lo inserisco a mano
Qui e' un po' piu' difficile e infatti mi sono arenato alla grande
Non so se devo trovare una soluzione per scrivere il valore venduto
per ogni distributore e scheda in una tabella e quindi facilmente
sfruttare questi dati come per l'incasso oppure riuscire a calcolare
direttamente dalla mia tabella movimenti questo valore (qui lo vedo
arduo)
ti faccio un esempio
INSERITE 	PRESENTI	VENDUTE
0		10
2		8		2
5		5		5
0		9		1
10		9		0
per arrivare al venduto sommo inserite + presenti e sottraggo le
presenti al successivo controllo
Se si riuscisse tramite una query o altro a scrivere di volta in volta
il valore VENDUTO nella sua tabella "venduto" non ci sarebbero
problemi di sorta (se la e' diversa scrive il valore senno non fa
nulla)
Altra soluzione e' quello di dire fai
inserite+presenti-presenti_SUCCESSIVE e tieni a mente quel valore ,
fallo per l'intervallo di tempo che ti dico io e poi somma tutto.
Oppure ... forse di soluzioni c'e' ne sono e mi sto impuntando in
quella sbagliata.
Ti ringrazio anticipatamente , e lo ripeto, per il tempo che ti occupo
:)


title: trasportare i dati

text:
Teamnetwork ha scritto:
> On Wed, 08 Oct 2003 08:57:57 +0200,
na...@nospm.inwind.it
 (namor)
> wrote:
> >Il criterio "da... a..." lo imposti così:




La soluzione migliore da fare è riprogettare la struttura del database.
Se invece vuoi proseguire con quello che hai già, ormai sai come
funzionano le dlookup() e le dsum(), hai la formula per recuperare il
valore del record precedente e hai la formula per calcolare il venduto ad
una certa data. Combinando questi elementi dovresti riuscire ad ottenere
il totale.
La domanda da porsi è: "come farei se dovessi farlo a mano?" segnandosi
tutti i passaggi (una specie di flowchart) e poi applicando il tutto passo
per passo usando query, funzioni o vba.
Comunque visto che hai la formula per calcolare il venduto ad una certa
data, io rimango dell'idea che un "venduto al 30/09" - "venduto al 31/08"
ti possa dare il risultato cercato.
Se vuoi salvare il progressivo in un'altra tabella puoi fare anche quello,
con un INSERT INTO... e UPDATE... sugli eventi della maschera che manipola
i dati. Però ti stai complicando la vita, e potresti ritrovarti con dati
errati se per un qualsiasi motivo aggiorni un record nella tabella
principale e non in quella del venduto.



title: trasportare i dati

text:
On Wed, 08 Oct 2003 12:11:53 +0200,
na...@nospm.inwind.it
 (namor)
wrote:
>La soluzione migliore da fare č riprogettare la struttura del database.
>Se invece vuoi proseguire con quello che hai gią, ormai sai come
>funzionano le dlookup() e le dsum(), hai la formula per recuperare il
>valore del record precedente e hai la formula per calcolare il venduto ad
>una certa data. Combinando questi elementi dovresti riuscire ad ottenere
>il totale.
>
>La domanda da porsi č: "come farei se dovessi farlo a mano?" segnandosi
>tutti i passaggi (una specie di flowchart) e poi applicando il tutto passo
>per passo usando query, funzioni o vba.
>Comunque visto che hai la formula per calcolare il venduto ad una certa
>data, io rimango dell'idea che un "venduto al 30/09" - "venduto al 31/08"
>ti possa dare il risultato cercato.
>
>Se vuoi salvare il progressivo in un'altra tabella puoi fare anche quello,
>con un INSERT INTO... e UPDATE... sugli eventi della maschera che manipola
>i dati. Perņ ti stai complicando la vita, e potresti ritrovarti con dati
>errati se per un qualsiasi motivo aggiorni un record nella tabella
>principale e non in quella del venduto.
>Namor
ti dico , in excel impiego tipo 30 secondi a fare questa operazione
	1	2	3	4
A	Inserite	Presenti		Vendute
B
C	5	5
D	2	8		2
E	0	9		1
dove la formula vendute (D4) e'  C1+C2-D2
e cosi via D1+D2-E2 .....
copio incollo la formula e sono a posto :)
in access qualcosa del genere direttamente sulla tabella non e'
possibile ?


title: trasportare i dati

text:
Teamnetwork ha scritto:
> On Wed, 08 Oct 2003 12:11:53 +0200,
na...@nospm.inwind.it
 (namor)
> wrote:
> >La soluzione migliore da fare è riprogettare la struttura del database.
> >Se invece vuoi proseguire con quello che hai già, ormai sai come
> >funzionano le dlookup() e le dsum(), hai la formula per recuperare il
> >valore del record precedente e hai la formula per calcolare il venduto ad
> >una certa data. Combinando questi elementi dovresti riuscire ad ottenere
> >il totale.
> >La domanda da porsi è: "come farei se dovessi farlo a mano?" segnandosi
> >tutti i passaggi (una specie di flowchart) e poi applicando il tutto passo
> >per passo usando query, funzioni o vba.
> >Comunque visto che hai la formula per calcolare il venduto ad una certa
> >data, io rimango dell'idea che un "venduto al 30/09" - "venduto al 31/08"
> >ti possa dare il risultato cercato.
> >Se vuoi salvare il progressivo in un'altra tabella puoi fare anche quello,
> >con un INSERT INTO... e UPDATE... sugli eventi della maschera che manipola
> >i dati. Però ti stai complicando la vita, e potresti ritrovarti con dati
> >errati se per un qualsiasi motivo aggiorni un record nella tabella
> >principale e non in quella del venduto.
> >Namor
> ti dico , in excel impiego tipo 30 secondi a fare questa operazione
> 	1	2	3	4
> A	Inserite	Presenti		Vendute
> B
> C	5	5
> D	2	8		2
> E	0	9		1
> dove la formula vendute (D4) e'  C1+C2-D2
> e cosi via D1+D2-E2 .....
> copio incollo la formula e sono a posto :)
> in access qualcosa del genere direttamente sulla tabella non e'
> possibile ?
No, non è possibile così semplicemente fare riferimento ai valori dei
campi delle righe precedenti.
Devi usare quella complicata formula fatta di dlookup() e dmax() che hai
già, quindi in "C1+C2-D2" al posto di C1+C2 dovrai mettere tutta quella
Dlookup(.....,"ID=" & Dmax(....,"ID<" & Dmax...))).
Ti conviene aggiungere nella stessa tabella il campo "venduto" da
aggiornare quando modifichi i dati o inserisci nuovi record, in modo da
avere una situazione simile all'esempio excel. Per i record già presenti
dovrai fare una sub vba che scorra il recordset e calcoli i valori
corretti.
Poi puoi usare il nuovo campo per fare i totali del venduto.



title: Scaricare una maschera

author: Amico

text:
mediante codice apro una maschera di access però quando tento di scaricarla
con il comando unload nome maschera, mi dice che la maschera non può essere
scaricata.
Qualcuno può aiutarmi ?
Grazie
--------------------------------
Inviato via
http://usenet.iol.it


title: Scaricare una maschera

author: Sergio MAZZA

text:
"Amico" <
nard...@inwind.it
> ha scritto nel messaggio
news:151Z99Z208Z33Y1...@usenet.iol.it...

Amico mio ti hanno già risposto; per la precisione ti ha risposto Roberto da
casa il 7/6/2002 alle ore 11:13...
Ciao.
--
Sergio MAZZA


title: riallegare tabelle ancora problemi Help sto impazzendo

author: Pietro

text:
potreste farmi un esmpio di codice come fare? Grazie grazie e graziex favore
sono troppo asino!
'Public Const DbDatiPath="Percorso del Server o Fisso"
cosa devo scrivere?
e poi alex non capisco dove si trova il baco


title: Perchè dal modulo VB posso accedere solo al Form che contiene il modulo in questione?

author: MarcoMax

text:
Salve, c'è qualcosa che mi sfugge...
ho un DB con vari form che sto progettando, nel modulo associato ad un
form ho una funzione che deve accedere ai dati contenuti in uno degli
altri form.... la cosa assurda è che non li vedo!
ho provato a fare (dalla funzione in questione) un:
dim frm as form
for each frm in Forms
  debug.print
frm.name
next frm
e mi stampa SOLO il nome del form che contiene il modulo da cui lancio
la funzione.
il bello che che in un altro DB invece me li vede tutti.... e non
capisco dove stia la differenza.
ho anche provato a creare un form nuovo con solo un pulsante che
esegue la funzione riportata sopra, e anche li la stessa cosa... vedo
solo il form da cui lancio la funzione.
Chi mi da qualche raguaglio?
ho pure provato a fare un
Dim ap As Application
set ap = Application
e poi sono andato a vedere cosa c'era in ap.forms.... ed anche li vedo
1 solo form, quello da qui faccio il test, e NON vedo nessuno degli
altri forms.... boh....
perchè non va?
grazie a tutti
ciao, Max


text:
On Thu, 25 May 2000 14:13:10 GMT, p...@papapa.pupupu (MarcoMax) wrote:
>[SUPER-CUTTTTTTTT]
mi rispondo da solo..... l'insieme forms contiene solo le forms
aperte, non tutte le forms(in effetti è pure logico)...
Cavoli... si vede che fa caldo e che è tutto il giorno che
programmo..... :-)))))))))))))))))))))
Ciao, Max


title: HELP maschera come foglio dati

author: Zampalunga

text:
Ciao a tutti, Vi chiedo per l'ennesima volta aiuto e Vi ringrazio
anticipatamente.
Ho una maschera "entrate diverse" alla quale ho attribuito come
visualizzazione di default "foglio dati" così come "visualizzazione
consentita".
In una seconda maschera ho messo un tasto con l'autocomposizione per aprire
"entrate diverse". Il codice generato è il seguente:
Private Sub Comando225_Click()
On Error GoTo Err_Comando225_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Entrate diverse"
    stLinkCriteria = "[Data]=" & "#" & Me![Data] & "#"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando225_Click:
    Exit Sub
Err_Comando225_Click:
    MsgBox Err.Description
    Resume Exit_Comando225_Click
End Sub
Mi sapreste dire come mai non riesco ad aprire "entrate diverse" dalla
maschera principale in modalità foglio dati ma solo in modalità maschera che
per altro credevo d'aver disattivato?
Grazie a tutti, spero d'essere stato chiaro.


title: HELP maschera come foglio dati

author: Nicola Ardito

text:
"Zampalunga" <
zampa...@tiscalinet.it
> ha scritto nel messaggio
news:8s2c9m$q87$1...@pegasus.tiscalinet.it...
> Ciao a tutti, Vi chiedo per l'ennesima volta aiuto e Vi ringrazio
> anticipatamente.
> Ho una maschera "entrate diverse" alla quale ho attribuito come
> visualizzazione di default "foglio dati" così come "visualizzazione
> consentita".
> In una seconda maschera ho messo un tasto con l'autocomposizione per
aprire
> "entrate diverse". Il codice generato è il seguente:
> Private Sub Comando225_Click()
> On Error GoTo Err_Comando225_Click
>
>     Dim stDocName As String
>     Dim stLinkCriteria As String
>
>     stDocName = "Entrate diverse"
>
>     stLinkCriteria = "[Data]=" & "#" & Me![Data] & "#"
>     DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.OpenForm stdocname, acFormDS,,stLinkCriteria
Ciao Nicola
--
email:sostituire tin a NOSPAM


title: HELP maschera come foglio dati

author: Lorenzo Coronati

text:
Scrisse "Zampalunga" <
zampa...@tiscalinet.it
>:
>    DoCmd.OpenForm stDocName, , , stLinkCriteria
>
>Mi sapreste dire come mai non riesco ad aprire "entrate diverse" dalla
>maschera principale in modalità foglio dati ma solo in modalità maschera che
>per altro credevo d'aver disattivato?
Vai col cursore su Openform e premi F1
--
Lorenzo Coronati
--
<<Complimenti per la risposta disinteressata a
differenza di altri che sul NG ci mangiano sopra.>>
(Voltolini, 20/04/2000)
--
<<[...] Altrimenti ci arrabbiamo....>>
(Voltolini, 10/10/2000)
--


title: Copia di cartelle

author: Zut

text:
In un applicativo che finora ha sempre funzionato
copio il contenuto di una cartella, con relativi file e sottocartelle,
in un'altra posizione:

   source= "Percorso_1"
   destination ="Percorso_2"
   Set fso = CreateObject("Scripting.FileSystemObject")
   result = fso.CopyFolder(source, destination, True)

Finora ha sempre funzionato mentre ora se lo lancio mi copia solo alcune
cartelle poi mi segnala errore di "Percorso non trovato" riferito alla
source.

Quale può essere il problema?


title: Copia di cartelle

text:

Forse ho trovato ... e penso che abbia a che fare con la lunghezza del
percorso dovuto a sottocartelle e nomi luuunghi di file e cartelle.

Ancora un po' e scrivevano tutto nel nome della cartella!!!!!!

C'è un modo per bypassare il problema o devo costringerli a ridurre
tutti i nomi?

Grazie


title: stampa su report di un testo condizionato da un campo

author: luigionofrio

text:
ho una tabella con vari campi numerici
in un report vorrei inserire una etichetta non associata dove se in uno
dei campi numerici della tabella, o in più di uno, vi sia "0", mi esca un
testo fisso abbinato al campo , se lo "0" sta in piu campi, nell'etichetta
del report mi dovrebbero comparire tutte i testi abbinate ai singoli campi
con valore "0".
Se esiste questa possibilità, io non so minimamente come realizzarla e vi
chiedo aiuto.
grazie
luigi
ps. il problema è lo stesso del post precedente ma posto in forma diversa
scusatemi!
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


author: VT @ Work

text:
On Fri, 14 Sep 2007 10:39:16 +0200,
onofrio...@tin.it
(luigionofrio) wrote:
 (...)
>ho una tabella con vari campi numerici
>in un report vorrei inserire una etichetta non associata dove se in uno
>dei campi numerici della tabella, o in più di uno, vi sia "0",
La condizione potrebbe essere basata sulla verifica del valore del
prodotto dei valori di tutti i campi:
basta che uno solo sia zero per rendere zero il risultato e quindi
visualizzare ciò che vuoi.
Qualcosa del tipo:
If Nz(me.Val1,0) * Nz(me.Val2,0) * Nz(me.Val3,0) = 0 Then
...
End If
>mi esca un testo fisso abbinato al campo , se lo "0" sta in piu campi, nell'etichetta
>del report mi dovrebbero comparire tutte i testi abbinate ai singoli campi
>con valore "0".
Non capisco cosa intendi con "testi abbinati ai singoli campi".
Dove sono memorizzati questi testi ?
>Se esiste questa possibilità, io non so minimamente come realizzarla e vi
>chiedo aiuto.
>grazie
>luigi
>
>ps. il problema è lo stesso del post precedente ma posto in forma diversa
>scusatemi!
>
>--
>
>questo articolo e` stato inviato via web dal servizio gratuito
>
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it
>
>
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com

---------------------------------------------
risorse Access:
http://www.accessgroup.it

---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com

---------------------------------------------


author: MA

text:

Invece di una etichetta usa una textbox
--
--
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access
Segrate (MI), 7-8 giugno 2007