title: Query di selezione per Somma

author: SAPpatore

text:
Ciao,
Vorrei cortesemente un chiarimento. Mi sono fatto un piccolo db per
calcolare le ore lavorative.
Bene ho un problema non riesco a sommare la colonna delle ore. Se
imposto il campo della tabella come ora quando mi fa la somma mi porta
tutto alle 24h, se lo imposto come numerico, ovviamente, la somma non
rappresenta più la sommatoria delle ore.
Ho utilizzato una query di selezione, è la scelta giusta oppure mi
conviene fare l'operazione tramite codice?
Grazie.


title: Tabulazione tra maschere e sottomaschere

author: Caludio S.

text:
Ciao a tutti,
ho un problema che ho già cercato sia nel Ng che nel sito comune e sebbene
abbia trovato la soluzione continua a non funzionare, mi spiego :
Access 2000
In una maschera chiamata Main ho tre sottomaschere, ho impostato l'ordine di
spostamento come mi aggrada,spostandomi con il TAB dopo aver passato i
controlli della maschera principale il focus passa alla prima sottomaschera
definita dall'ordine di tabulazione, ma li dentro rimane e looppa.
Lo so che esite il ctrl+tab, ma gli utenti che utilizzano il db non lo
sanno, mentre con l'evento lost focus mi esce l'errore 2450 "impossibile
passare alla sottomaschera specificata ecc"
Cosa posso fare !!!!!
Grazie a tutti e buona giornata !
--------------------------------
Inviato via
http://usenet.libero.it


author: Alessandro Cara

text:
"Caludio S." wrote:
> Lo so che esite il ctrl+tab, ma gli utenti che utilizzano il db non lo
> sanno, mentre con l'evento lost focus mi esce l'errore 2450 "impossibile
> passare alla sottomaschera specificata ecc"
> Cosa posso fare !!!!!
> Grazie a tutti e buona giornata !
ma sul lostfocus fai me.parent!altrasottomaschera ?
(se non ho capito male le sottomaschere sono parallele)
--
a.cara
Togli qualcosa dall'email


author: Claudio S.

text:

Alessandro,
scusa ma non so cosa significhi sottomaschere parallele cmq io su lost focus
scrivo:
me!nomesottomaschera.set focus
e mi esce l'errore 2450 come descritto prima !!!!
anche se scrivo :
me!nomesottomaschera!nomecontrollosottomaschera.setfocus
Ti ringrazio se mi aiuterai
Ciao



text:
"Claudio S." wrote:
> Alessandro,
> scusa ma non so cosa significhi sottomaschere parallele cmq io su lost focus
> scrivo:
> me!nomesottomaschera.set focus
> e mi esce l'errore 2450 come descritto prima !!!!
> anche se scrivo :
> me!nomesottomaschera!nomecontrollosottomaschera.setfocus
> Ti ringrazio se mi aiuterai
> Ciao
>
> --------------------------------
> Inviato via
http://usenet.libero.it
Per sottomaschere parallele intendo che sono tutte e tre sotto il form
principale. Ricordati che l'oggetto "me" rappresenta l'istanza
dell'oggetto attivo in quel momento e quindi presumo che nel tuo caso
sia la sottomaschera su cui hai attivato l'evento focus, dovresti quindi
risalire alla maschera "genitore" (parent) e poi ridiscendere sulla
sottomaschera su cui vuoi puntare
i.e.
 Form principale
  ----Submask1
  ----submask2   ----evento di lostfocus (in questo caso me e' submask2
se vuoi
                     raggiungere ad. es. submask3 devi fare:
                     me.Parent!submask3.form!nomecontrollosubmask3
  ----submask3



text:
Il 13 Gen 2003, 17:19, Alessandro Cara <
alexqu...@blunet.it
> ha scritto:
> Per sottomaschere parallele intendo che sono tutte e tre sotto il form
> principale. Ricordati che l'oggetto "me" rappresenta l'istanza
> dell'oggetto attivo in quel momento e quindi presumo che nel tuo caso
> sia la sottomaschera su cui hai attivato l'evento focus, dovresti quindi
> risalire alla maschera "genitore" (parent) e poi ridiscendere sulla
> sottomaschera su cui vuoi puntare
> i.e.
>
> Form principale
> ----Submask1
> ----submask2 ----evento di lostfocus (in questo caso me e' submask2
> se vuoi
> raggiungere ad. es. submask3 devi fare:
> me.Parent!submask3.form!nomecontrollosubmask3
> ----submask3
>
>
> --
> a.cara
> Togli qualcosa dall'email
Alessandro,
io ho copiato ed incollato il tuo esempio sostituendo ovviamente i nomi dei
controlli corretti cosě :
me.Parent!sottomask_cp.form!buyer_ins
ma di esce un errore di compilazione perchč vuole un segno di uguale "=", č
perchč uso Access 2000 ?
Porta pazienza e grazie !



text:
"Caludio S." wrote:
> > a.cara
> > Togli qualcosa dall'email
>
> Alessandro,
> io ho copiato ed incollato il tuo esempio sostituendo ovviamente i nomi dei
> controlli corretti cosě :
> me.Parent!sottomask_cp.form!buyer_ins
> ma di esce un errore di compilazione perchč vuole un segno di uguale "=", č
> perchč uso Access 2000 ?
> Porta pazienza e grazie !
non e' colpa di a2k ma:
me.Parent!sottomask_cp.form!buyer_ins
cos'e'? immagino un controllo allora o lo assegni (o prelevi), da qui la
richiesta dell' "=", o usi un suo metodo.
Se non o capito male ti sei scordato il setfocus
me.Parent!sottomask_cp.form!buyer_ins.setfocus



text:

Alessandro,
hai ragione oggi son un po rinco non avevo messo il setfocus !!!!
ma ora scrivendo testualmente :
me.Parent!sottomask_cp.form!buyer_ins.setfocus
non mi genera piů errori ma non succede nulla !!!!!
Allora cerco di riepliogare dove mi trovo:
sono sull'evento lostfocus dell'ultimo controllo(BU) della sottomaschera1
(sottomask_div) e voglio passare al primo controllo(buyer_ins) della
sottomaschera2(sottomask_cp) per poi passare alla
sottomaschera3(sottomask_training) ed infine tornare alla maschera
principale(Master Supplier) Le 3 sottomaschere sono parallele rispetto a
quella principale.
Una volta capito l'intrigo tra le prime due sottomaschere penso non sia piů
un problema !
Ora mi devo disconnettere spero di trovare la soluzione domani mattina qui
in questo fantastico NG !!
Grazie e buona serata !!!!



text:
Il 13 Gen 2003, 18:44,
lovin...@inwind.it
 (Claudio S.) ha scritto:
> Il 13 Gen 2003, 18:16, Alessandro Cara <
alexqu...@blunet.it
> ha
scritto:
> > "Caludio S." wrote:
> >[CUT]
> Alessandro,
> hai ragione oggi son un po rinco non avevo messo il setfocus !!!!
> ma ora scrivendo testualmente :
> me.Parent!sottomask_cp.form!buyer_ins.setfocus
> non mi genera piů errori ma non succede nulla !!!!!
> Allora cerco di riepliogare dove mi trovo:
> sono sull'evento lostfocus dell'ultimo controllo(BU) della sottomaschera1
> (sottomask_div) e voglio passare al primo controllo(buyer_ins) della
> sottomaschera2(sottomask_cp) per poi passare alla
> sottomaschera3(sottomask_training) ed infine tornare alla maschera
> principale(Master Supplier) Le 3 sottomaschere sono parallele rispetto a
> quella principale.
> Una volta capito l'intrigo tra le prime due sottomaschere penso non sia
piů
> un problema !
> Ora mi devo disconnettere spero di trovare la soluzione domani mattina qui
> in questo fantastico NG !!
> Grazie e buona serata !!!!
>
Purtroppo non ho trovato la risposta sperata :-(( ma grazie al vostro aiuto
sono riuscito cmq a risolvere il problema in questo modo:
per passare da una sottomaschera ad un'altra ho scritto nell'evento lost
focus del controllo della sottomaschera di origine:
Me.Parent!nomesottomascheradestinazione.SetFocus
e basta !!!! senza dover attivare un controllo della sottomaschera di
destinazione.
Volevo solo rendere la soluzione disponibile a tutti quelli che in futuro
potrebbereo averne bisogno!
Grazie a tutti, alla prossima



title: Come ottenere la descrizione di una tabella?

text:
Avrei la necessita` di ottenere la descrizione di una tabella, cioe` di
sapere i campi da cui e` formata, il tipo di dato e la lunghezza del
dato.
Il tutto dovrebbe essere fatto da pagine ASP.
Qualcuno sa se e` possibile?
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


author: Stefano Bettini

text:
"wb72" <
walt...@tiscali.it
> wrote in message
news:08abca4b3b120e3b6e8...@mygate.mailgate.org...
> Avrei la necessita` di ottenere la descrizione di una tabella, cioe` di
> sapere i campi da cui e` formata, il tipo di dato e la lunghezza del
> dato.
> Il tutto dovrebbe essere fatto da pagine ASP.
> Qualcuno sa se e` possibile?
Devi utilizzare ADOX, prova a cercare la documentazione apposita
su MSDN o verifica la gerarchia delle classi con l'object browser.
Bye, Ste



author: Alessandro

text:
"wb72" <
walt...@tiscali.it
> wrote in message
news:08abca4b3b120e3b6e8...@mygate.mailgate.org...
> Avrei la necessita` di ottenere la descrizione di una tabella, cioe` di
> sapere i campi da cui e` formata, il tipo di dato e la lunghezza del
> dato.
> Il tutto dovrebbe essere fatto da pagine ASP.
> Qualcuno sa se e` possibile?
Non sono esperto di ASP quindi la mia risposta potrebbe essere
inutile quanto stupida, ma tutte le proprietą sono accessibili
tramite DAO leggendo l'Oggetto Tabledefs:

CurrentDb.Tabledefs(Indice).Properties(Indice).Value
Alessandro



title: Access Navigator...

author: Michele Amato

text:
Per gli amici curiosi di scoprire cosa diavolo fa Access Navigator ho
pubblicato una serie di screen-shot
http://utenti.worldonline.it/micheleamato/preview30_001.htm
ricordo a tutti che il navigator è liberamente scaricabile da una pagina
raggiungibile dalla pagina sopra indicata, full-working e senza scadenze.
Resto a disposizione per qualsiasi chiarimento.
Un saluto a tutti
Michele Amato


title: Visualizzare il workspace su maschera

author: Giacomo Alessandroni

text:
Salve a tutte/i,
ho creato un programma che gestisce un piccolo magazzino.
Durante le operazioni di carico/scarico [in particolare per lo
scarico] opero in transizione, nel caso non avessi sufficienti
componenti in magazzino.
Fatte le operazioni, piu' di una, faccio apparire una maschera dove
mostro eventuali componenti sottoscorta [parametro definito in sede
di anagrafica].
PROBLEMA: essendo in transizione vedo il database "come era prima"
delle operazioni, e non "come e' diventato".
Vorrei vederlo "come e' diventato" per poi far decidere all'utente
se e' il caso di procedere col commit o col rollback.
Grazie a tutti,
Giacomo.
--
Giacomo Alessandroni
g.aless...@peacelink.it
Associazione PeaceLink
http://www.peacelink.it/
VoIP @ Wengo/Skype
callto://galessandroni


title: Visualizzare il workspace su maschera

author: Morgan

text:
"Giacomo Alessandroni" <
g.aless...@peacelink.it
> ha scritto nel
messaggio news:_lZGh.47970$aF5....@tornado.fastwebnet.it...
> Salve a tutte/i,
>
> ho creato un programma che gestisce un piccolo magazzino.
>
> Durante le operazioni di carico/scarico [in particolare per lo
> scarico] opero in transizione, nel caso non avessi sufficienti
> componenti in magazzino.
>
> Fatte le operazioni, piu' di una, faccio apparire una maschera dove
> mostro eventuali componenti sottoscorta [parametro definito in sede
> di anagrafica].
>
> PROBLEMA: essendo in transizione vedo il database "come era prima"
> delle operazioni, e non "come e' diventato".
>
> Vorrei vederlo "come e' diventato" per poi far decidere all'utente
> se e' il caso di procedere col commit o col rollback.
>
> Grazie a tutti,
> Giacomo.
>
Ciao Giacomo,
non ho capito bene il problema ma mi sembra che ti basti aggiornare i dati
dopo la movimentazione di magazzino.
Per quanto riguarda lo scarico di magazzino, secondo me non deve proprio
partire
la procedura di begin trans se non hai sufficienti materiali da scaricare e
quindi
basta controllarli prima.
Inoltre ,che vuol dire "essendo in transizione vedo il database come era
prima"?
Se lanci una routine che utilizza per la modifica dei dati una procedura
begin/commit/rollback
la procedura andrà più o meno a buon fine.Non credo che la interrompi per
chiedere
all'utente se vuole continuare no?
Morgan


title: Visualizzare il workspace su maschera

text:
Morgan ha scritto:
> Ciao Giacomo,
> non ho capito bene il problema ma mi sembra che ti basti aggiornare i dati
> dopo la movimentazione di magazzino.
Per far questo l'utente deve dare il suo ok. Ed e' questo il motivo
della scelta del lavoro in transazione.
> Per quanto riguarda lo scarico di magazzino, secondo me non deve proprio
> partire
> la procedura di begin trans se non hai sufficienti materiali da scaricare e
> quindi
> basta controllarli prima.
Si tratta talvolta di procedure di carico/scarico [e si vuole vedere
se con la richiesta si finisce sottoscorta]. Purtroppo la
transazione mi serve.
> Inoltre ,che vuol dire "essendo in transizione vedo il database come era
> prima"?
Nel senso che prima del commit/rollback apro una maschera dove
mostro tutti gli articoli sottoscorta per decidere se procedere o
annullare.
E' questa maschera che mi da problemi: come faccio a far si' che in
essa io veda le modifiche fatte *anche* durante la transazione?
Al momento attuale vedo solo il database come era prima della
transazione.
> Se lanci una routine che utilizza per la modifica dei dati una procedura
> begin/commit/rollback
> la procedura andrà più o meno a buon fine.Non credo che la interrompi per
> chiedere
> all'utente se vuole continuare no?
Infatti non la interrompo.
La maschera ah due tasti [Si'] [No]. A seconda del tasto premuto si
decide il commit/rollback.
NB tale maschera viene invocata *solo* se si hanno componenti
sottoscorta. Diversamente si procede col commit d'ufficio.
Il punto e' che questa maschera e' il motivo per cui mi hanno
chiesto il programma.



title: Visualizzare il workspace su maschera

author: MA

text:
Giacomo Alessandroni wrote:
> Salve a tutte/i,
>
> ho creato un programma che gestisce un piccolo magazzino.
>
> Durante le operazioni di carico/scarico [in particolare per lo
> scarico] opero in transizione, nel caso non avessi sufficienti
> componenti in magazzino.
>
> Fatte le operazioni, piu' di una, faccio apparire una maschera dove
> mostro eventuali componenti sottoscorta [parametro definito in sede
> di anagrafica].
>
> PROBLEMA: essendo in transizione vedo il database "come era prima"
> delle operazioni, e non "come e' diventato".
>
> Vorrei vederlo "come e' diventato" per poi far decidere all'utente
> se e' il caso di procedere col commit o col rollback.
>
> Grazie a tutti,
> Giacomo.
passa il tutto in una tabella temporanea che poi leghi in una query union
con la giacenza
Poi o esegui la transazione, nel senso che li accodi o elimini la temporanea
--
--
Massimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


title: Visualizzare il workspace su maschera

text:
MA ha scritto:
> passa il tutto in una tabella temporanea che poi leghi in una query union
> con la giacenza
> Poi o esegui la transazione, nel senso che li accodi o elimini la temporanea
Ci avevo pensato, pero' la domanda [nascosta? forse io mi esprimo
molto male e chiedo scusa a tutti] era sostanzialmente questa:
"Ho un codice in transazione che funziona. Posso passare i dati
della transazione ad un recordset, una maschera... senza riscrivere
per forza il grosso del codice?"
Senno' gestire i movimenti nella classica TEMP e poi valutare cosa
fare e Ri-eseguirli in caso di conferma e' la soluzione che viene
prima di tutte in mente, ma mi sembra la meno performante.
Pero' ci penso su' e ti faccio sapere, intanto grazie anche a te.



title: Visualizzare il workspace su maschera

text:
MA ha scritto:
> passa il tutto in una tabella temporanea che poi leghi in una query union
> con la giacenza
> Poi o esegui la transazione, nel senso che li accodi o elimini la temporanea
Grazie di nuovo.
Ho fatto cosi' e funziona che e' una meraviglia.
Grazie,



title: Aiuto! Problemi con maschera e barra di scorrimento verticale!

author: abertoli

text:
Immagino che per molti la mia sarà scempiaggine pura - e sono disposto
a tafazzarmi - ma ho un problema con una maschera di access (2007) e
la barra di scorrimento verticale.
Per farla breve, ho creato una maschera con diversi campi (un bel po'
ma non posso farne a meno) e nella visualizzazione struttra li vedo
tutti, con tanto di barra verticale che scorre. Se visualizzo la
maschera, invece, niente da fare, la barra di scorrimento verticale
scompare e non c'è modo di farla venir fuori, cosicché la parte
inferiore della scheda rimane nascosta e inutilizzabile ( ho provato
anche a andare nelle proprietà della maschera e specificare che voglio
una Barra di scorrimento verticale, ma non c'è verso).
Qualcuno può aiutarmi ? Grazie!


author: Franky seri

text:

prova a cambiare l'opzione finestra in documenti a schede,
probabilmente risolverai
il percorso è questo:
Pulsantone/opzioni di access/database corrente/opzioni finestra:
documenti a schede.
Saluti
Franky S.


text:
On 4 Mag, 20:06, Franky seri <
frank...@libero.it
> wrote:
>
> prova a cambiare l'opzione finestra in documenti a schede,
> probabilmente risolverai
> il percorso è questo:
>
> Pulsantone/opzioni di access/database corrente/opzioni finestra:
> documenti a schede.
> Saluti
> Franky S.
Grazie ! Risolto ;)


title: Previsioni (come Mr taroccò, con l'accento sulla o)

author: Defresco

text:
Salve,
prendo in prestito questa battuta di E greggio per chiedere se a qualcuno è
giunta la voce di quello che potrebbe essere il futuro di access2003. Io
spero non sia destinato all'oblio. mi riferisco in particolare alla
situazione dei file ADP e sql server2005 che così non sono direttamewnte
compatibili, e visto che all'orizzonte si profila già Sql server 2008 che ne
sarà di access? Dovremo migrare al 2007 che non mi piace? O MS ci farà la
grazia di un SP3 che migliorerà la situazione? grazie per i suggerimenti,
ovviamente non cerco risposte definitive ma solo per potermi orientare un po
di più nelle mie scelte.
Ciao a tutti.
Fabio.


author: Cinzia

text:

Ciao Fabio,
visti i segnali che arrivano da Microsoft circa gli ADP non credo che
al momento siano previsti investimenti su quel fronte, temo ci dovremo
tenere il 2003 con i limiti  noti verso le versioni di SQL server
superiori a 2000, ma in fondo con SSMS  i limiti non sono così
pesanti!
Per il futuro non so dire, Microsoft ci ha abituati a cambiamenti di
strategia abbastanza imprevedibili!  :-)
--
Cinzia [Office Access MVP]
_______________________

www.riolab.org
----------------------------------------


title: Report Riassuntivo

author: Giovanni

text:
Un saluto a tutti.
Da una tabella 'Anagrafica' ho creato 3 differenti query con il criterio
'like' per il campo 'Corso' che a loro volta generano 3 differenti report.
Poi in ogni report vi è la funzione 'conteggia' per sapere quanti sono gli
iscritti ad ogni singolo corso.
È possibile riassumere in un unico report la sola voce  "totali iscritti" di
ogni singolo corso.
Ad esempio: Totale iscritti corso base n. xxx
                        Totali iscritti corso avanzato n. xxx
                        Totali iscritti corso expert n. xxxx
Grazie in anticipo dei Vs suggerimenti
Giovanni


title: Report Riassuntivo

author: Roberto - Syd

text:
"Giovanni" <
g.bi...@infinito.it
> ha scritto nel messaggio
news:NFbf7.31451$SV4.1...@news1.tin.it...

Si fai una query di raggruppamento sul tipo di corso e con la funzione
conteggio sul nome o codice, secondo quello che hai, dell'iscritto e usi la
query come fonte dati del report.


title: Report Riassuntivo

text:
Molte Grazie
Giovanni


title: DCount su report con criterio

author: Pegaso

text:
Salve a tutti,
so che questo problema è stato trattato svariate volte ormai ma
proprio non riesco a venirne a capo.
All'interno di un report, vorrei conteggiare il numero dei record con
un criterio specifico.
Come da manuale creo una casella di testo non associata e nell'origine
dei dati metto la mia query:
=DCount("[Numero Trattativa]", "Report Carico Puw", "[PW] = 'DF'")
Dove "Numero Trattativa" è il campo della mia query che devo
conteggiare, "Report Carico Puw" è il nome della mia query e "PW" (che
deve essere uguale a DF) è un altro campo della query e rappresenta il
mio criterio.
Il problema è che non mi dà buona l'istruzione e continua a darmi il
seguente errore nonostante la sintassi dovrebbe essere corretta:
"operando o operatore mancante, carattere o virgola non valida oppure
testo immesso non racchiuso tra virgolette".
Da cosa potrebbe dipendere?
Grazie mille in anticipo.


title: DCount su report con criterio

author: Sergio MAZZA

text:
"Pegaso" <
pegaso...@hotmail.it
> ha scritto nel messaggio
news:1190295308....@d55g2000hsg.googlegroups.com...
Salve a tutti,



[risposta]
Nell'origine controllo devi utilizzare il punto e virgola come separatore
(Dcount("";"";""))...
Ciao.
--
Sergio MAZZA


title: DCount su report con criterio

text:
On 20 Set, 15:49, "Sergio MAZZA" <
sergioma...@tiscali.it
> wrote:
> "Pegaso" <
pegasobia...@hotmail.it
> ha scritto nel messaggionews:1190295308....@d55g2000hsg.googlegroups.com...

Grazie mille, ora va!!!
Ma posso aggiungere un secondo criterio tipo
=DCount("[Numero Trattativa]", "Report Carico Puw", "[PW] = 'DF'" and
"[Status] = 'chiusa'")
Ci ho già provato ma aggiungendo un secondo criterio (e dividendolo
dal primo con "and")mi restituisce tutti i record e non prende più in
considerazione alcun criterio. Se poi al posto del "and" metto un ";"
allora mi dà proprio errore. Come si fa? E soprattutto, è possibile
farlo?
Grazie tante ancora!!!


title: DCount su report con criterio

text:
"Pegaso" <
pegaso...@hotmail.it
> ha scritto nel messaggio
news:1190297982....@w3g2000hsg.googlegroups.com...
Grazie mille, ora va!!!
Ma posso aggiungere un secondo criterio tipo
=DCount("[Numero Trattativa]", "Report Carico Puw", "[PW] = 'DF'" and
"[Status] = 'chiusa'")
Ci ho già provato ma aggiungendo un secondo criterio (e dividendolo
dal primo con "and")mi restituisce tutti i record e non prende più in
considerazione alcun criterio. Se poi al posto del "and" metto un ";"
allora mi dà proprio errore. Come si fa? E soprattutto, è possibile
farlo?
Grazie tante ancora!!!
[risposta]
Si puoi aggiugerlo, ma dentro la stringa non fuori;
=DCount("[Numero Trattativa]", "Report Carico Puw", "[PW] = 'DF' and
[Status] = 'chiusa'")
e sempre con il punto e virgola...
Ciao.
--
Sergio MAZZA


title: DCount su report con criterio

text:
On 20 Set, 17:02, "Sergio MAZZA" <
sergioma...@tiscali.it
> wrote:
> "Pegaso" <
pegasobia...@hotmail.it
> ha scritto nel messaggionews:1190297982....@w3g2000hsg.googlegroups.com...

Alla grande!!!
Tante grazie!


title: Distinta Base Multilivelli

author: All Eyez On me

text:
ciao a tutti
per la prima volta devo affrontare il problema di distinte basi a piů
livelli.
fino ad oggi avevo prodotti finiti composti da componenti base, ora devo
gestire anche uno o piů livelli di semilavorati con i relativi impegnati e
eseistenze.
priam di iniziare volevo qualche consiglio o esperienze nel campo?
ciao, AEOM


title: Distinta Base Multilivelli

author: Oscar Manfredini

text:
"All Eyez On me" <
> ciao a tutti

Per realizzare l'esplosione della distinta (bel problema di stampa) genera
un temporaneo come origine dati del report.
Ciao.


title: Distinta Base Multilivelli

author: ringo

text:
"All Eyez On me" <
nospambf...@libero.it
> ha scritto nel messaggio
news:%qEL9.28457$ab2.9...@news1.tin.it...
> ciao a tutti
>
> per la prima volta devo affrontare il problema di distinte basi a più
> livelli.
>
> fino ad oggi avevo prodotti finiti composti da componenti base, ora devo
> gestire anche uno o più livelli di semilavorati con i relativi impegnati e
> eseistenze.
>
> priam di iniziare volevo qualche consiglio o esperienze nel campo?
>
> ciao, AEOM
>
>
l'argomento è ben vasto cmq cercherò di darti
qualche consiglio:
prima di tutto leggiti un pò di filosofia sull'MRP
come archivi si avranno:
1) anagrafica dei PRODOTTI (si avranno dei campi che indicheranno la
tipologia del prodotto....)
2) movimenti dei prodotti (vendite, acquisti, lavorazioni,contolavoro....)
3) distinte base dei prodotti a livelli
l'esistenza o saldo dell'articolo a magazzino sarà la risultante dei carichi
(acquisto,produzione...)/
meno gli scarichi (vendita, lavorazione per conto lavoro...) avvenuti
nell'anno fiscale in corso....
l'impegno degli articoli è bello vederlo proiettato nell'arco temporale
esempio:
data                operazione                    saldo
17/12/2002     carico iniziale                  20
20/12/2002    vendita  qta 10                10
25/12/2002     produzione qta 100       110
15/01/2003    impegni da prod. 30        80
cmq se vuoi degli spunti guardati:
http://www.mfgteam.com/
secondo mè hanno fatto un lavoro strepitoso e completo...
bye bye
ringo


title: Refecences

text:
Mi succede questa cosa strana.
Aggiungo un riferimento ad una libreria, via codice.
Finchè non chiudo Access, le funzioni contenute nella libreria vengono viste
senza problemi.
Chiudo l'applicazione, chiudo Access, riapro l'applicazione e il riferimento
è presente ma non è ceccato e quindi le invocazioni alle funzioni contenute
nella libreria danno errore (come se le funzioni non fossero definite).
Premetto che subito dopo che l'ho aggiunto, controllo nell'elenco dei
riferimenti e lo trovo presente e ceccato.
Altro dettaglio non trascurabile è che la cosa non è sistematica.
Qualcuno ne ha un'idea?
TIA
Michele Amato
--
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
Sulla mia pagina personale
http://utenti.worldonline.it/micheleamato
è possibile trovare del materiale relativo ad Access
scritto da me, sia freeware che shareware
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}


title: Refecences

author: Fabio Dalla Villa

text:
"Michele Amato" <
maengi...@ciccia.libero.it
> ha scritto nel messaggio
news:a2Ns6.43405$6W.43...@news.infostrada.it...
> Mi succede questa cosa strana.
>
> Aggiungo un riferimento ad una libreria, via codice.
> Finchè non chiudo Access, le funzioni contenute nella libreria vengono
viste
> senza problemi.
> Chiudo l'applicazione, chiudo Access, riapro l'applicazione e il
riferimento
> è presente ma non è ceccato e quindi le invocazioni alle funzioni
contenute
> nella libreria danno errore (come se le funzioni non fossero definite).
> Premetto che subito dopo che l'ho aggiunto, controllo nell'elenco dei
> riferimenti e lo trovo presente e ceccato.
> Altro dettaglio non trascurabile è che la cosa non è sistematica.
> Qualcuno ne ha un'idea?
>
Boh! Hai provato a cambiare l'ordine dei refernces? Ho notato che non è la
stessa cosa.
--
Fabio Dalla Villa
Biella (BI) 13900
>
>


title: Refecences

text:
Fabio Dalla Villa <
f...@gvo.it
> wrote in message
99080a$nto$1...@pegasus.tiscalinet.it...

L'ordine?
Major e minor? Non possono essere xchè sono in sola lettura...
Non capisco cosa intendi per ordine di un riferimento.
In attesa di un chiarimento,
Un saluto
Michele Amato


title: Refecences

text:
> > Boh! Hai provato a cambiare l'ordine dei refernces? Ho notato che non è
la
> > stessa cosa.
> > --
>
> L'ordine?
> Major e minor? Non possono essere xchè sono in sola lettura...
> Non capisco cosa intendi per ordine di un riferimento.
>
> In attesa di un chiarimento,
>
> Un saluto
>
> Michele Amato
Forse ho frainteso io. Ne so sicuramente poco.
Io ho inteso l'ordine in cui compaiono i riferimenti disponibili dal menù
strumenti di VB (stile Visual Basic for Application, MS Access 9.0 Object
Library, ecc.).
Per le mie applicazioni, ad es., Microsoft DAO 3.6 deve comparire in una
certa sequenza, altrimenti non gira niente, a meno che non aggiusti le
priorità con le frecce sul lato destro. (mi succede quando importo tabelle,
query, codice da un nuovo mdb per fare pulizia).
Non so se è il tuo caso.
--
Fabio  Dalla Villa


title: Aiuto...Tipo definito dall'utente non definito

author: Christian Parravicini

text:
Sono dissperato utilizzo una maschera da tempo, senza nessun problemi,
oggi ho fatto delle modifiche al codice di un'altra maschera (che funziona)
e
più tardi ho cercato di aprire un'altra maschera ma ho scoperto un problema
che non riesco a risolvere:
In sostanza per ogni evento che cerco di attivare (compresa l'apertura
maschera) ricevo di risposta quanto segue:
" L'espressione su clic (o altro evento) immessa come impostazione della
proprietà di evento ha provocato il seguente
errore: tipo definto dall'utente non definito"
Qualcuno mi sa aiutare ?
Grazie
Christian
--
RPR MEDICAL SRL Tel 0342-795833 Fax 0342-795887
Via Nazionale, 22 - 23030 Villa di Tirano (SO)
cparra...@rprmedical.com


author: Bruno Campanini

text:
"Christian Parravicini" <
cparra...@rprmedical.com
> wrote in message
news:T7iyh.14403$wO2....@tornado.fastwebnet.it...
> Sono dissperato utilizzo una maschera da tempo, senza nessun problemi,
> oggi ho fatto delle modifiche al codice di un'altra maschera (che
> funziona) e
> più tardi ho cercato di aprire un'altra maschera ma ho scoperto un
> problema che non riesco a risolvere:
>
> In sostanza per ogni evento che cerco di attivare (compresa l'apertura
> maschera) ricevo di risposta quanto segue:
>
> " L'espressione su clic (o altro evento) immessa come impostazione della
> proprietà di evento ha provocato il seguente
> errore: tipo definto dall'utente non definito"
>
> Qualcuno mi sa aiutare ?
Ma il Debug ti mostrerà pure la riga di codice ove si pianta...
Cosa c'è in quella riga?
Bruno


text:
--
RPR MEDICAL SRL Tel 0342-795833 Fax 0342-795887
Via Nazionale, 22 - 23030 Villa di Tirano (SO)
cparra...@rprmedical.com
"Bruno Campanini" <
B...@gmail.com
> ha scritto nel messaggio
news:45c9aff0$0$31680$4faf...@reader1.news.tin.it...

Non si apre nessun debug - in apertura dopo che do l'ok sulla finestra di
errore si apre la maschera, ma ogni tasto collegato ad un evento mi ripete
l'errore (non apre nessun debug) e non prosegue con l'evento. In pratica la
maschera risulta bloccata.
Christian


text:
Ho trovato una vecchia copia ed ho ripristinato il codice, ora funziona
anche se non ho capito il problema.
Comunque grazie
Christian
cparra...@rprmedical.com
"Christian Parravicini" <
cparra...@rprmedical.com
> ha scritto nel
messaggio news:5iiyh.14421$wO2....@tornado.fastwebnet.it...



title: recordsource dinamico di una finestra

author: carlo

text:
Ho due database; uno di questi contiene delle tabelle che di volta in volta
devo collegare ad una maschera di un altro database tramite VB:
    Set Calendari = OpenDatabase("Display.mdb")
    Set Tabella = Calendari.CreateTableDef(nome_tabella.Value)
    Tabella.Connect = "raccoglitore.mdb"
    Tabella.SourceTableName = nome_tabella.Value
    Calendari.TableDefs.Append Tabella
    Forms!["Visualizzazione e modifica"].RecordSource = "SELECT * FROM " &
nome_tabella_importata.Value
    MsgBox "prova"
    DoCmd.OpenForm "Visualizzazione e modifica"
    Application.Forms("Visualizzazione e modifica").Requery
La prima parte funziona correttamente: viene importata la tabella. La
seconda a volte va e a volte no: il database raccoglitore si trova in rete
in un server....
a volte non mi viene fuori nemmeno il messaggio di prova
ho controllato la maschera dopo la procedura e non ha collegato la tabella
come RecordSource....
sembra che si blocchi a questa istruzione
    Forms!["Visualizzazione e modifica"].RecordSource = "SELECT * FROM " &
nome_tabella_importata.Value
pero' a volte funziona...
bisogna utilizzare accorgimenti in particolare quando si lavora in rete?
grazie
carlo
www.operativo.net
(in costruzione)
www.zanatto.net
(in costruzione)


title: convertire una stringa di testo in data (per Federico Luciani)

text:
per brevità riporto uno stralcio di un post di qualche giorno fa:
> > > b) in una tabella ho un campo "data" purtoppo in formato testo
lunghezza
> 6 e
> > > la data è scritta nel formato ggmmaa (es. 250499) c'è un modo per
> convertire
> > > questa stringa in formato data?
[cut]
> >
> > strData = "250499"
> > g = mid(strData,1,2)
> > m = mid(strData,3,2)
> > a = mid(strData,5,2)
> > rst![campoData] = format(DateSerial(a, m, g), "dd/mm/yyyy")
> >
> > naturalmente puoi usare anche altre funzioni.
> > Federico
[cut]
se il formato e' cosi' "20200", cioe' "gmmaa", potresti aggiungere un
controllo
sulla lunghezza della stringa e aggiungere uno zero iniziale.
.....
strData = rst![campoDataVecchia]
if len(strData) = 5 then strData = "0" & strData
g = mid(strData,1,2)
m = mid(strData,3,2)
a = mid(strData,5,2)
rst![campoDataNuova] = format(DateSerial(a, m, g), "dd/mm/yyyy")
...
riguardo all'errore, mi mancano informazioni per poterti dire qualcosa,
magari
posta il codice che hai scritto e dimmi dove viene generato l'errore.
--
Federico
ebbene, per fare una prova, ho creato una tabella con due campi: "vecchia" e
"nuova" entrambi string
quindi in una form un bottone al quale nell'evento su click è associato
questo codice:
Private Sub Comando0_Click()
Dim archivi As Database
Dim tabe As Recordset
Dim vecchia As String
Dim nuova As String, g As String, m As String, a As String
Set archivi = DBEngine.Workspaces(0).Databases(0)
Set tabe = archivi.OpenRecordset("tabella1", dbOpenTable)
tabe.MoveFirst
Do While Not tabe.EOF
tabe.Edit
tabe("nuova") = tabe("vecchia")
If Len(tabe("nuova")) = 5 Then tabe("nuova") = "0" & nuova
g = Mid("nuova", 1, 2)
m = Mid("nuova", 3, 2)
a = Mid("nuova", 5, 2)
nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
Loop
End Sub
provando ad eseguirlo mi da il seguente errore:
Errore di run time n, 13 tipo cono corrispondente
eseguendo il debug la riga incriminata è
nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
Saresti così gentile da indicarmi dove ho sbagliato ad interpretare le tue
istruzioni?
Ti ringrazio calorosamente.
Antonio


author: Silvio Berruti

text:
<
ari...@libero.it
> ha scritto nel messaggio
news:41CW5.26663$hk4.1...@news.infostrada.it...
> Private Sub Comando0_Click()
> Dim archivi As Database
> Dim tabe As Recordset
> Dim vecchia As String
> Dim nuova As String, g As String, m As String, a As String
> Set archivi = DBEngine.Workspaces(0).Databases(0)
> Set tabe = archivi.OpenRecordset("tabella1", dbOpenTable)
> tabe.MoveFirst
> Do While Not tabe.EOF
> tabe.Edit
> tabe("nuova") = tabe("vecchia")
> If Len(tabe("nuova")) = 5 Then tabe("nuova") = "0" & nuova
> g = Mid("nuova", 1, 2)
> m = Mid("nuova", 3, 2)
> a = Mid("nuova", 5, 2)
> nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
> Loop
> End Sub
> provando ad eseguirlo mi da il seguente errore:
> Errore di run time n, 13 tipo cono corrispondente
>
> eseguendo il debug la riga incriminata è
> nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
Che faccio Federico... rispondo o non rispondo? :-)))
Mah sì... rispondo.
Ciao Antonio,
se avessi guardato sull'help in linea, avresti notato che dice testualmente:
year Obbligatoria; Integer. Numero compreso tra 100 e 9999 inclusi, oppure
un'espressione numerica.
month Obbligatoria; Integer. Qualsiasi espressione numerica.
day Obbligatoria; Integer. Qualsiasi espressione numerica.
Come vedi parla sempre di numeri o di espressioni numeriche, non di testo.
Quindi prova con:
nuova = Format(DateSerial(Val(a), Val(m), Val(g)), "dd/mm/yyyy")
oppure dimensioni le variabili a, m, g come interi e modifichi così
g = Val(Mid("nuova", 1, 2))
m = Val(Mid("nuova", 3, 2))
a = Val(Mid("nuova", 5, 2))
nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
Inoltre, guardando anche il resto della routine che hai postato, non ho
capito se nel campo [nuova] vuoi mettere la data (in formato data) presente
nel campo [vecchia].
Se fosse così, modificherei il tutto in:
    Private Sub Comando0_Click()
    Dim archivi As Database
    Dim tabe As Recordset
    Dim vecchia as String, g As Integer, m As Integer, a As Integer
    Set archivi = DBEngine.Workspaces(0).Databases(0)
    Set tabe = archivi.OpenRecordset("tabella1", dbOpenTable)
    tabe.MoveFirst
    Do While Not tabe.EOF
        tabe.Edit
        vecchia = tabe("vecchia")
        If Len(vecchia) = 5 Then vecchia = "0" & vecchia
        g = Val(Mid(vecchia, 1, 2))
        m = Val(Mid(vecchia, 3, 2))
        a = Val(Mid(vecchia, 5, 2))
        tabe("nuova") = Format(DateSerial(a, m, g), "dd/mm/yyyy")
        tabe.Update
    Loop
    End Sub
Cioé:
- la data (in formato data) la inserivi in una variabile testo;
- non riportavi il valore nel campo [nuova];
- non salvavi il contenuto del buffer di transito (metodo Update).
Naturalmente controlla perché sono andato a braccio, senza provarla.
--
Silvio
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access


author: Federico Luciani

text:
Silvio Berruti wrote:
> <
ari...@libero.it
> ha scritto nel messaggio
> > Private Sub Comando0_Click()
> > Dim archivi As Database
> > Dim tabe As Recordset
> > Dim vecchia As String
> > Dim nuova As String, g As String, m As String, a As String
> > Set archivi = DBEngine.Workspaces(0).Databases(0)
> > Set tabe = archivi.OpenRecordset("tabella1", dbOpenTable)
> > tabe.MoveFirst
> > Do While Not tabe.EOF
> > tabe.Edit
> > tabe("nuova") = tabe("vecchia")
> > If Len(tabe("nuova")) = 5 Then tabe("nuova") = "0" & nuova
> > g = Mid("nuova", 1, 2)
> > m = Mid("nuova", 3, 2)
> > a = Mid("nuova", 5, 2)
> > nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
> > Loop
> > End Sub
> > provando ad eseguirlo mi da il seguente errore:
> > Errore di run time n, 13 tipo cono corrispondente
> >
> > eseguendo il debug la riga incriminata č
> > nuova = Format(DateSerial(a, m, g), "dd/mm/yyyy")
>
> Che faccio Federico... rispondo o non rispondo? :-)))
> Mah sě... rispondo.
> [cut]
Perfetto ;-)
solo una cosa per quanto riguarda i 'numeri'.
Mid restituisce un variant, quindi, generalmente non uso Val per le
conversioni, ma naturalmente
le variabili bisogna dichiararle correttamente:
Dim g As integer, m As integer, a As integer
--
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
mailto:
it_db_...@usa.net
--------------------------------------
Tutte le richieste che mi arrivano
in privato, vengono cestinate.
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------


text:
[cut]
i ringraziamenti non sono mai abbastanza...
siete speciali
grazie
Antonio


title: Server OLE non registrato... cosa fare?

text:
Ho provato a rieseguire l'installazione, ma niente...
Grazie a chi mi puņ aiutare


title: Server OLE non registrato... cosa fare?

text:
<
righett...@tin.it
> ha scritto nel messaggio
news:WJ2S8.5030$vm5.2...@news2.tin.it...
> Ho provato a rieseguire l'installazione, ma niente...
>
> Grazie a chi mi puņ aiutare
>
Hai gią controllato nel sito comune (
www.sitocomune.com
) se c'č la
soluzione?
Ciao.
--
Sergio MAZZA


title: Server OLE non registrato... cosa fare?

author: Lucia Rita Carfagno

text:
<
righett...@tin.it
> ha scritto nel messaggio
news:WJ2S8.5030$vm5.2...@news2.tin.it...
> Ho provato a rieseguire l'installazione, ma niente...
>
> Grazie a chi mi puņ aiutare
>
>
Il colpevole puņ essere il Norton Antivirus! Disattiva il blocco degli
scripts del Norton e tutto tornerą a posto.
Ciao Rita


title: Bloccare la prima query di una casella di riepilogo

author: diego

text:
Ciao
ho creato una maschera di ricerca con una casella di ripilogo che visualizza
i risultati della ricerca. Tale casella ha come origine riga una query,
creata con il generatore di query, che prende in parametro alcune caselle di
testo della maschera. Tutto funziona ma all'apertura della maschera access
esegue la query senza parametri o meglio con parametro * e quindi visualizza
tutto l'insieme dei record; cio' e' mooooolto lento quando i dati sono
tanti. Ho provato da codice ma tra virgolette , asterischi , concatena
stringhe ..... diventa una sozzeria. Pensavo ai filtri, ma non e' che
risolvo tanto... quindi mi e' venuto in mente che magari si poteva bloccare
la query iniziale per poi aggiornare l'elenco con una requery sull'evento
click del pulsante CERCA.
E' possibile secondo voi?
PS con command e paremeters????
grazie 1k
diego


author: namor

text:
diego ha scritto:

Lascia vuota l'origine dati della combo e impostala solo sugli eventi
afterupdate dei controlli che la comandano. Cosě all'apertura della
maschera non carica niente, finchč non setti un parametro (o premi un
tasto, se vuoi).
Namor
--
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Gestione report e sottoreport.

author: Lucio

text:
Salve atutto il NG,
Ho un piccolo problema con un report;
Ho un report principale che si chiama MioReport ed in esso un sottoreport
MioSottoreport, in MioSottoreport vi è una casella conteggio, (il report con
il sottoreport sono collegati tramite IdAnagrafica), il punto è:
se nella casella conteggio il valore è 0 o nullo, vorrei che nel report
principale non mi apparissero i record anagrafici che invece ora mi
appaiono, ovvero se Tizio ha un valore non nullo in "Conteggio", allora
tizio deve apparire nel report con i relativi dati nel sottoreport, in caso
contrario non deve apparire.
Grazie a tutti coloro che possano da rmi un'aiuto e buonasera a tutti.
Lucio


title: Gestione report e sottoreport.

text:

Nell'origine del controllo di ogni casella che devi far apparire o sparire
metti una iif di questo tipo:
=IIf(IsNull(Me![NomeSottoreport].Report![CasellaConteggio]) Or
Me![NomeSottoreport].Report![CasellaConteggio] =0;"";[NomeCampo])
Ciao Roberto - Syd


title: Gestione report e sottoreport.

text:
"Lucio" <nap...@NOSPAMtin.it> ha scritto nel messaggio
news:%h5M9.3160$R45.1...@news2.tin.it...

Io ho risolto un problema analogo creando una query di "raggruppamento".
Gaurdati l'esempio nel report "Riepilogo vendite per anno" del database
Northwind.
Se hai problemi contattami pure
Ciao
Simone


title: Relink Table

author: Porello

text:
Ciao a tutto il NG
Ho dovuto usato la funzione per riallegare le tabelle (che funziona
benissimo!!!) in quanto spesso il database che installo e' in rete, quindi
vanno rimappati i percorsi.
Ho pero' un problema il mio Db e' formato da 18 Tbl collegate, di cui 16 in
un mdb e 2 in un altro db. Il problema e' che in quella funzione non riesco
a dirgli di cercare in due db.
Come fare????
Ciao


title: Relink Table

author: Emyr

text:
On Sat, 15 Mar 2003 08:26:20 GMT, "Porello" <
por...@tiscali.it.it
>
wrote:

e facendo il collegamento su entrambi? che cosa fa?
Saluti.
Emanuele.


title: Relink Table

text:
"Emyr" <
fan...@tiscali.it
> ha scritto nel messaggio
news:ss9b7vchmbitsmdqc...@4ax.com...

Mi da un erroraccio!!!!!! e mi sbatte fuori dalla procedura!!!!
Ciao ciao


title: Relink Table

author: Master

text:
"Porello" <
por...@tiscali.it.it
> wrote in message news:<Lamda.21837$
Lr4.7...@twister2.libero.it
>...

Ciao, prova con questo codice, che non è farina del mio sacco, ma che
ho adattato alle mie esigenze e che funziona benone:
Option Compare Database
Option Explicit
'**********************************************************************
'Questo modulo è in grado di effettuare il refresh del collegamento
'delle tabelle tra Backend e Frontend in modo automatico, proponendo
'di individuare il percorso corretto per ripristinare il Link
'**********************************************************************
'Quella che segue è la dichiarazione della struttura da passare alla
funzione
'SHBrowseForFolder che permette di mostrare il 'browse folder.
Nell'esempio imposto poi
'soltanto 3 degli elementi della struttura; hOwner che è l'ID della
finestra chiamante,
'lpszTitle che permette di visualizzare una stringa di intestazione e
ulFlags che indica
'di mostrare un tipo di 'visualizzazione di oggetti piuttosto che un
altro nel browse
'folder. Provate a cambiare il valore associato a ulFlags per avere
altre visualizzazioni
'con altri risultati ritornati associati.
Private Type BROWSEINFO
  hOwner As Long
  pidlRoot As Long
  pszDisplayName As String
  lpszTitle As String
  ulFlags As Long
  lpfn As Long
  lParam As Long
  iImage As Long
End Type
'Queste invece sono le costanti che possono essere passate a ulFlags

Private Const BIF_RETURNONLYFSDIRS = &H1
Private Const BIF_DONTGOBELOWDOMAIN = &H2
Private Const BIF_STATUSTEXT = &H4
Private Const BIF_RETURNFSANCESTORS = &H8
Private Const BIF_BROWSEFORCOMPUTER = &H1000
Private Const BIF_BROWSEFORPRINTER = &H2000
'La dichiarazione successiva è della funzione che permette di
richiamare il Browser Folder.
'Si noti che il valore long restituito sarà poi utilizzato dalla
successiva funzione che
'permette di "recuperare" il path e il nome del folder. Questo perchè
la SHBrowseForFolder
'restituisce un puntatore a una struttura che è la lista degli
identificatori a partire dal
'desktop di Windows (che è la radice dello spazio dei nomi del
sistema) e passando per
'tutti i folder che contengono 'l'oggetto. Il PIDL è un puntatore a
questa struttura. Se
'il PIDL identifica un percorso valido, è possibile convertirlo in una
stringa utilizzando
'SHGetPathFromIDList().
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
            "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _
            As Long
'La funzione che segue permette appunto di recuperare il percorso e il
folder selezionato
'nel browser.
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
            "SHGetPathFromIDListA" (ByVal pidl As Long, _
            ByVal pszPath As String) As Long

'Per rendere fisso il Collegamento in caso di BE localizzato
'in un SERVER di rete impostare la riga seguente con l'indirizzo
'del SERVER in modo RELATIVO="\\Nomeserver\Cartella\"
'*******************  RIGA DA ATTIVARE
********************************
'Public Const DbDatiPath="Percorso del Server o Fisso"
'******************* RIGA DA ELIMINARE
********************************
Public DbDatiPath As String
'**********************************************************************
Dim dbCurr As Database
Public FilePath As String
'Definizione della Variabile per l'estrazione dati Link
Type Link
    LName As String
    LPWD As String
    LDBDati As String
    LPathDB As String
End Type
'Numero di Tbl da Linkare per Progressione(Bar)
Private MaxBar As Integer
'Nome della Form con la Barra di progressione
Private Const strForm = "Link"
Private PWD_Err As Boolean
Function GetLink()
'Nel caso di Collegamento al SERVER fisso la seguente
'parte del codice deve essere rimossa.
On Error GoTo Err_Getlink
If Not ActLink Then
'----------------------------------------------------------------------------------
Dim strMsg As String
   If DbDatiPath = "" Then
      MsgBox "Le tabelle contenenti i dati non sono collegate
correttamente." & Chr(10) & Chr(10) & "Premere il tasto per procedere
con il relink necessario...", vbExclamation + vbOKOnly, "Attenzione"

Relink_Table:
      DbDatiPath = BrowseFolder("Selezionare la cartella contenente
gli archivi.") & "\"

      If DbDatiPath = "" Then
         MsgBox "Impossibile allegare le tabelle.", vbExclamation,
"Relink fallito"
         Exit Function
      End If
'-----------------------------------------------------------------------------------
'
'Questa parte è da tenere
    If Not ReLinks() Then
        DoCmd.Close acForm, "Link"

        strMsg = MsgBox("Il collegamento alle tabelle contenenti i
dati non è stato ripristinato." & Chr(10) & Chr(10) & "Provare ad
effettuarlo di nuovo?", vbCritical + vbYesNo, "Relink fallito")
        If strMsg = vbYes Then
            GoTo Relink_Table
        Else
            Application.Quit
        End If

        Exit Function
         'CHIUDI programma
      Else
         DoCmd.Close acForm, "Link"
'--------------------------------------------------------------------------------------
         MsgBox "Il collegamento alle tabelle contenenti i dati è
stato ripristinato." & Chr(10) & Chr(10) & "Premere il tasto per
continuare...", vbInformation, "Relink effettuato con successo"
'--------------------------------------------------------------------------------------
      End If
'Eliminare la riga seguente nel caso di collegamento Fisso al SERVER
   End If
'--------------------------------------------------------------------------------------
End If
DoCmd.OpenForm "PannelloComandiPrincipale"
Exit_GetLink:
   Exit Function
Err_Getlink:
   If Err.Number = 3031 Then
      MsgBox "Password di connessione errata."
      PWD_Err = True
   End If
   Resume Relink_Table
End Function
Function ActLink() As Boolean
    Dim tdfL As TableDef
    Dim X, link_OK As Integer
    Dim PathName As String
    Set dbCurr = CurrentDb

    'Aggiorna gli oggetti contenuti nell'insieme Tabledefs
    'per riflettere lo schema corrente del database.

    dbCurr.TableDefs.Refresh

    'Restituisce una matrice contenente
    'i dati delle Tbl che hanno il contenuto
    'della proprietà Connect non nullo (le Tbl collegate)
    'LName=Nome della Tabella
    'LPWD= ;PWD=MiaPassword (nel caso il BE sia protetto)
    'LDBDati=Nome del Database Backend
    'LPathDB=PathCorrente + Nome DB(Backend)

    For Each tdfL In dbCurr.TableDefs
        With tdfL
            If Len(.Connect) > 0 Then
                PathName = ParsePathDBL(.Connect)
                If Len(Dir(PathName)) > 0 Then
                   link_OK = link_OK + 1
                End If
                X = X + 1
            End If
        End With
    Next

    If X < 1 Then
      MsgBox "Nessuna Tbl da Allegare."
      ActLink = False
      Exit Function
    Else
       If link_OK < X Then
          ActLink = False
          Exit Function
       End If
    End If
ActLink = True
End Function
Function ReLinks() As Boolean
'Funzione di verifica e Refresh delle Connessioni
'delle Tabelle Collegate ad un DB di BE
    Dim I As Integer, X As Integer
    Dim strConn As String, strMsg As String
    Dim dbLink As Database
    Dim tdfLocal As TableDef
    Dim varRet As Variant
    Dim nx As Variant
    Dim TblLink() As Link
    Dim PWD As String
    On Error GoTo ReLinks_Err
    'Costanti fittizie per generare un errore
    'dedicato con l'istruzione err.raise NumErr
    'ERR_NoTblRemote nel caso non ci sia la TblRemota
    Const ERR_NoTblRemote = vbObjectError + 1000
    'ERR_NoDBRemote nel caso non ci sia il DB(BE)
    Const ERR_NoDBRemote = vbObjectError + 2000
    Set dbCurr = CurrentDb
    'Aggiorna gli oggetti contenuti nell'insieme Tabledefs
    'per riflettere lo schema corrente del database.
    dbCurr.TableDefs.Refresh
    If PWD_Err Then
      PWD = " ;PWD=" & InputBox("Inserisci la password corretta...",
"Enter PASSWORD")
    End If
    'Restituisce una matrice contenente
    'i dati delle Tbl che hanno il contenuto
    'della proprietà Connect non nullo(le Tbl Collegate)
    'LName=Nome della Tabella
    'LPWD= ;PWD=MiaPassword (nel caso il BE sia protetto)
    'LDBDati=Nome del Database Backend
    'LPathDB=PathCorrente + Nome DB(Backend)
    For Each tdfLocal In dbCurr.TableDefs
        With tdfLocal
            If Len(.Connect) > 0 Then
                ReDim Preserve TblLink(X)
                TblLink(X).LName = .name
                TblLink(X).LPWD = IIf(PWD_Err, PWD,
ParsePWD(.Connect))
                TblLink(X).LDBDati =
ParseFileName(ParsePathDBL(.Connect))
                TblLink(X).LPathDB = DbDatiPath & TblLink(X).LDBDati
                X = X + 1
            End If
        End With
    Next
    If X < 1 Then
      MsgBox "Nessuna Tbl da Allegare."
      ReLinks = True
      Exit Function
    End If
    'Predispone la variabile per
    'il prossimo utilizzo
    Set tdfLocal = Nothing
    Test X
    'Inizio fase di Relink
    nx = UBound(TblLink)
    I = 0
IniLinks:
        varRet = SysCmd(acSysCmdSetStatus, "Ricollegamento tabella '"
& TblLink(I).LName & "'....")
        'Verifica che il Database Dati o Backend  esista
        If Esiste(TblLink(I).LDBDati) Then
            'Effettua un collegamento con DAO al DB remoto(BE)
            'per verificare la corrispondenza della Tbl corrente
            strConn = ";DATABASE=" & TblLink(I).LPathDB &
TblLink(I).LPWD
            Set dbLink = DBEngine(0).OpenDatabase("", False, True,
strConn)
            If fRemTblExist(dbLink, TblLink(I).LName) Then
                'esegue il Refresh del Link
                Set tdfLocal = dbCurr.TableDefs(TblLink(I).LName)
                With tdfLocal
                    .Connect = strConn
                    .RefreshLink
                End With
            Else
                Err.Raise ERR_NoTblRemote
            End If
        Else
            Err.Raise ERR_NoDBRemote
        End If
        Set dbLink = Nothing
        Call ProgressBar(I, TblLink(I).LName)
    If I <> nx Then I = I + 1: GoTo IniLinks
    ReLinks = True
    varRet = SysCmd(acSysCmdClearStatus)
ReLinks_End:
    Erase TblLink
    Set tdfLocal = Nothing
    Set dbLink = Nothing
    Set dbCurr = Nothing
    Exit Function
'Gestione errori
ReLinks_Err:
    ReLinks = False
    Select Case Err.Number
        Case ERR_NoTblRemote
            'Causato se non c'è corrispondenza tra
            'le Tabelle del Frontend e del Backend
            strMsg = strMsg & "Relink non effettuato." & vbCrLf
            strMsg = strMsg & "Tabella remota : " & TblLink(I).LName &
_
                              "non trovata. " & vbCrLf & vbCrLf
        Case ERR_NoDBRemote
            'Causato se non esiste o non si trova il Database
            'di Backend contenente i dati
            strMsg = strMsg & "Relink non effettuato." & vbCrLf
            strMsg = strMsg & "Database di Backend: " &
TblLink(I).LDBDati & _
                              " non trovato." & vbCrLf & vbCrLf
        Case Else
            'Qualsiasi altro errore non prevedibile
            strMsg = strMsg & "Relink non effettuato." & vbCrLf
            strMsg = strMsg & "Impossibile ripristinare la
connessione" & vbCrLf
            strMsg = strMsg & "con le tabelle dati nel Backend. " &
vbCrLf & vbCrLf
    End Select
    Resume ReLinks_End
End Function
'-------------------------------- Inizio Funzioni Personalizzate
------------------------------------
'Gruppo di funzioni specifiche per il recupero dati
'dalla stringa CurrentDB.Tabledef.connect
Function ParsePWD(strIn As String) As String
'Restituisce la Password di collegamento al Db
'contenuta nella stringa Connect della Tbl
'restituisce ";PWD=MiaPassword" se esiste
    Dim strTemp As String
    If InStr(1, strIn, "PWD") <> 0 Then
        strTemp = Right(strIn, Len(strIn) - (InStr(1, strIn, "PWD="))
+ 2)
        ParsePWD = Left(strTemp, Len(strTemp) -
Len(ParsePathDBL(strIn)) - 10)
    Else
        ParsePWD = ""
    End If
End Function
Function ParsePathDBL(strIn As String) As String
'Funzione specifica per questa applicazione
'Restituisce la Path completa del nome del Db di
'Backend
        ParsePathDBL = Right(strIn, Len(strIn) - (InStr(1, strIn,
"DATABASE=") + 8))
End Function
Function ParseTblName(strIn As String) As String
'Funzione specifica per questa applicazione
'Restituisce il Nome della Tbl contenuto
'nella Stringa Connect
    ParseTblName = Left$(strIn, InStr(1, strIn, ";") - 1)
End Function
'---------------------------------- Fine Funzioni Personalizzate
------------------------------------
'------------------------------------ Inizio Funzioni Generali
--------------------------------------
Public Function GetPathPart(strPath As String) As String
    ' Comments    : Restituisce la Path di un percorso
    ' Parameters  : strPath - Stringa(Percorso completa)
    ' Returns     : GetpathPart=Path(strPath)
    ' Es.         : strPath="C:\Programmi\DataBase.mdb"
    '             : GetPathPart="C:\Programmi\"

    Dim intCounter As Integer
    For intCounter = Len(strPath) To 1 Step -1
      If Mid$(strPath, intCounter, 1) = "\" Then
        Exit For
      End If
    Next intCounter
    GetPathPart = Left$(strPath, intCounter)
End Function
Public Function ParseFileName(FileName As String) As String
    '======================================================================================
    'ROUTINE        : Function ParseFileName (strFileName As String )
As String
    'SCOPO          : Estrae il nome File dal percorso completo
    'ARGOMENTI      : strFileName - il percorso completo del File
    'RESTITUISCE    : Una stringa con il nome del File
    'Es.            : strFileName="C:\Programmi\DataBase.mdb"
    '               : ParseFileName="Database.mdb"
    '======================================================================================
    On Error GoTo Err_ParseFileName
         Dim I As Integer
         On Error Resume Next
         For I = Len(FileName) To 1 Step -1
           If Mid(FileName, I, 1) = "\" Then
             Exit For
           End If
         Next
         ParseFileName = Mid(FileName, I + 1)
Exit_ParseFileName:
        Exit Function

Err_ParseFileName:
        MsgBox Err.Description
        Resume Exit_ParseFileName
End Function
Public Function Esiste(ByVal strFile As String, Optional ByVal strPath
As String) As Boolean
'Verifica l'esistenza del File(strFile) nella Dir(strPath) specificata
    If DbDatiPath = "" Then DbDatiPath = BrowseFolder("Selezionare la
cartella contenente gli archivi.") & "\" 'cmdlgFile
    If Len(Dir(DbDatiPath & strFile)) > 0 Then
        Esiste = True
    Else
        Esiste = False
    End If
End Function
Function fRemTblExist(ByVal dbR As Database, ByVal strTbl As String)
As Boolean
'Funzione per la verifica dell'esistenza della Tbl rilevata
'nel Frontend con connessione nel Backend
    Dim tdf As TableDef
    On Error Resume Next
    Set tdf = dbR.TableDefs(strTbl)
    fRemTblExist = (Err = 0)
    Set tdf = Nothing
End Function

Public Function BrowseFolder(szDialogTitle As String) As String
'Viene richiamato il browser e recuperato il path e il folder
  Dim X As Long, bi As BROWSEINFO, dwIList As Long
  Dim szPath As String, wPos As Integer
    With bi
        .hOwner = hWndAccessApp
        .lpszTitle = szDialogTitle
        .ulFlags = BIF_RETURNONLYFSDIRS
    End With
    dwIList = SHBrowseForFolder(bi)
    szPath = Space$(512)
    X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)
    If X Then
        wPos = InStr(szPath, Chr(0))
        BrowseFolder = Left$(szPath, wPos - 1)
    Else
        BrowseFolder = ""
    End If
    If Right(BrowseFolder, 1) = "\" Then BrowseFolder =
Mid$(BrowseFolder, 1, Len(BrowseFolder) - 1)
End Function
'-------------------------------------- Fine Funzioni Generali
--------------------------------------
'--------------------------- Funzioni per la Gestione della
ProgressBar -----------------------------
Function Test(NRec As Integer)
   MaxBar = NRec
   DoCmd.OpenForm strForm
   With Forms(strForm)
       ' Inizializza a 0 la barra di avanzamento
       .retStatus.Width = 0
       .Status.Caption = "0%"
       .Caption = "Attendere..."
       DoCmd.RepaintObject
   End With
End Function
Function ProgressBar(Valore As Integer, Tbl As String)
        'Ciclo di progressione Barra...
   Dim Del As Byte
   Dim nPercento As Single
   Dim nOld As Byte
   If Valore < 2 Then nOld = 0
   With Forms(strForm)
      .lblTblLink.Caption = vbCrLf & Tbl
      ' Ciclo Delay
      For Del = 1 To 200
          DoEvents
      Next
      nPercento = (Valore / MaxBar)
      If Int(nPercento * 100) <> nOld Then
          ' Aggiorna la barra di avanzamento
          .retStatus.Width = CInt(Forms(strForm).Status.Width *
nPercento)
          .Status.Caption = Int(nPercento * 100) & "%"
          DoCmd.RepaintObject
          nOld = Int(nPercento * 100)
      End If
   End With
End Function


title: Relink Table

text:
"Master" <
costa...@inwind.it
> ha scritto nel messaggio
news:9c2f74f8.03031...@posting.google.com...
> "Porello" <
por...@tiscali.it.it
> wrote in message
news:<Lamda.21837$
Lr4.7...@twister2.libero.it
>...
> > "Emyr" <
fan...@tiscali.it
> ha scritto nel messaggio
> > news:ss9b7vchmbitsmdqc...@4ax.com...
> > > On Sat, 15 Mar 2003 08:26:20 GMT, "Porello" <
por...@tiscali.it.it
>
> > > wrote:
> Ciao, prova con questo codice, che non č farina del mio sacco, ma che
> ho adattato alle mie esigenze e che funziona benone:
>
>
[cut]
piů semplicemente.. hai provato a fare una tabella semplicissima che
contiene i due percorsi delle tabelle, poi dici via codice di linkare le
tabelle dei due database..
praticamente invece di fare un Relink... fai prima una disconessione magari
cancellando tutte le tabelle collegate .. poi le ricolleghi
Io ho fatto una tabelle con i percorsi dei DB e un'altra con le tabelle da
linkare dai vari percosi.. se voui + brigoso.. ma molto efficiente
ciao
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/03


title: Filtri su maschera partendo da un dato contenuto in tabella

author: pang

text:
Ciao a tutti
Immaginiamo che in una maschera ci sia una casella di testo collegata che
chiamiamo Data_contatto ( formato data in cifre) che
implementa un campo (data) di una tabella che chiameremo 'tabella1', e che
inoltre ci sia una casella di controllo che chiameremo 'filtro_periodo'
Spuntando tale casella e cliccando su un pulsante che ciamiamo filtro, come
faccio a filtrare i data_contatto compresi in un arco di tempo che trovo
scritto su una tabella chiamata 'periodo' contenente appunto i campi
'dalla_data' 'alla data' ?
Grazie, pang


author: Cinzia

text:
"pang" <
pangN...@email.it
> ha scritto nel messaggio
news:QHGmd.180929$b5.90...@news3.tin.it...

Ciao pang,
non indago sul modo di attivare il filtro che mi sembra un filino contorto e
vengo al dunque.
Se la tabella chiamata periodo contiene solo un record potresti fare cosě:
sull'evento click del pulsante filtro
    me.filter = "[data] BETWEEN #" & DLookup("Dalla_Data", "periodo";"") &
"# AND #" & DLookup("alla_Data", "periodo";"")  & "#"
    me.filteron = true
saluti
Cinzia


title: Stringa con parti variabili.

author: Riccardo Baldinotti

text:
Volevo uscisse un messaggio così:
        MsgBox "Lunghezza errata di un codice fiscale " & (giusto = -1
And "in formato numerico") Or (giusto = 0 And "in formato numerico")
Cioè: a seconda del controllo che determina il valore di "giusto", la
stringa uscirebbe con la frase corrispondente.
Mi esce un errore "Tipo non corrispondente". Eppure ero sicuro di
avere già usato un trucco simile da qualche parte.
Ovviamente: dove sbaglio?
Grazie a tutti
Riccardo Baldinotti


title: Stringa con parti variabili.

author: Popi - TheBadHabits

text:
Ciao Riccardo.

IMHO ti sei pescato la IIF ... ma la soluzione qua sotto non mi sembra comunque corretta, dato che nel caso proposto fai uscire "in formato numerico" tanto per (giusto=-1) quanto per (giusto=0).

MsgBox "Lunghezza errata di un codice fiscale " & iif(giusto = -1, "in formato numerico", "in formato numerico")

HTH
Popi


title: Stringa con parti variabili.

text:

Sì, il secondo dovrebbe essere "alfanumerico".
Quanto all'IIF, è proprio quello che non voglio usare (paturnie, mica
altro).
Questo è un esempio di codice che mi funziona:
Forms!menu("e" & o).ForeColor = (13209 And (Forms!menu("e" &
o).ForeColor = 13209 Or Forms!menu("e" & o).ForeColor = 255)) _
            Or (1572863 And (Forms!menu("e" & o).ForeColor = 1572863
Or Forms!menu("e" & o).ForeColor = 16777215))
Questa istruzione determina il colore di una qualsiasi etichetta, se
attivata, a seconda del suo colore precedente. Qualcosa del tipo: "se
è rossa o gialla diventa rosa, se è verde o blu diventa viola...".
Mi pare però che non funzioni con valori alfanumerici come risultato,
il che spero non sia perché questi arzigogoli mi piacciono.
Grazie
Riccardo Baldinotti


title: Stringa con parti variabili.

text:
Riccardo, la risposta sta nella domanda: quale valore booleano può avere l'espressione "in formato numerico"?

:)

Popi


title: Stringa con parti variabili.

text:

eh eh, hai ragione. Però allora non può avere un valore come 13209 e
invece questo me lo piglia...
Mi sa che mi darò a più miti consigli salvo giocherellare con qualche
variabile. Sai, tanto per rendere il codice un tantino più frizzante.
Grazie
Riccardo Baldinotti


title: Stringa con parti variabili.

text:
Lo so, ci hai provato, ma t'è andata bene solo con 13209 perché il booleano è, alla fine, un numerico anche lui.

True=-1
False=0

L'unica cosa che potresti fare è (mi tornano in mente le pippe mentali che tanti anni fa mi facevo con il TI99!!!):

MsgBox "Lunghezza errata di un codice fiscale " & _
 Mid("in formato alfanumericoin formato numerico    ",Abs(giusto*23)+1,23)

Popi


title: Stringa con parti variabili.

author: Alessandro Cara

text:

False?

--

ac (x=y-1)


title: Stringa con parti variabili.

text:
Il 27/01/2012 11.29, Popi - TheBadHabits ha scritto:

ops!
True?

--

ac (x=y-1)


title: Stringa con parti variabili.

text:
Ops vale true.

"in formato numerico" non è buleàno, così come non lo è "AAA" ;)

Popi


title: Stringa con parti variabili.

text:
Il 27/01/2012 14.06, Popi - TheBadHabits ha scritto:
> Ops vale true.
>
> "in formato numerico" non č buleŕno, cosě come non lo č "AAA" ;)

Booleano e' inventato. Dovrebbe essere un bit ma siccome non si puo'
(almeno con i linguaggi "moderni") allora e' un byte di tipo numerico,
ma anche questa e' una convenzione, il pezzo di ferro, e intendo il
computer solo on-off comprende
False=0
True#0
che poi access di default metta -1 (*)(altri linguaggi mettono 1) e' un
inciso di dettaglio. Un qualsiasi bit di qualsiasi byte che sta a 1
rende true.

(*) i.e. b"11111110" o x"FE", ergo qualsiasi dato e' "buleano"  e quindi
anche "in formato numerico" č buleŕno, cosě come lo č "AAA" cosi come
ops ;) e valgono triambi *True*. Che poi il tipo dato alfanumerico possa
generare un "tipo non corrispondente" e' dovuto alla scarsa duttilita'
di access. ;-{)
--

ac (x=y-1)


title: Stringa con parti variabili.

text:
On 27 Gen, 14:38, Alessandro Cara <
alessandro.c...@ay-1anetwork.it
>
wrote:
> Il 27/01/2012 14.06, Popi - TheBadHabits ha scritto:
>
> > Ops vale true.
>
> > "in formato numerico" non è buleàno, così come non lo è "AAA" ;)
>
> Booleano e' inventato. Dovrebbe essere un bit ma siccome non si puo'
> (almeno con i linguaggi "moderni") allora e' un byte di tipo numerico,

> che poi access di default metta -1 (*)(altri linguaggi mettono 1) e' un
> inciso di dettaglio

> Che poi il tipo dato alfanumerico possa
> generare un "tipo non corrispondente" e' dovuto alla scarsa duttilita'
> di access. ;-{)

Ahàaaaah! A questo volevo arrivare: che Access non è duttile come
voglio io! eh eh eh
Può darsi che certi arzigogoli mi funzionassero in qualche Basic dei
tempi andati.

Bella la pippa:
Mid("in formato alfanumericoin formato numerico
",Abs(giusto*23)+1,23)
è proprio del tipo che mi piace.
Grazie a entrambi (bello anche il "triambi").
Riccardo Baldinotti


title: data record precedente e successivo a quello corrente

text:
ciao a tutti

ho questa query come origine riga di una casella di riepilogo, dove ho aggiunto un terzo campo per individuare
la data del record precedente e successivo a quello corrente, ma non riesco.

SELECT A.IdOrdine, A.DataOrdine, (Select Count(*)  FROM TbOrdini  Where [IdCliente] = [A].[IdCliente] AND IdOrdine<= [A].[IdOrdine]) AS CampoAggiunto
FROM TbOrdini AS A;

grazie.


author: Akery

text:
cosa intendi con data del record precedente e successivo? uno o l'altro
oppure insieme; tipo due righe che ti dicano sopra prec e sotto succ?
un esempio aiuterebbe a capire

Akery

ha scritto nel messaggio
news:862383e3-ccb1-4eef...@googlegroups.com...

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus


text:

ciao Akery
è sopra precedente e sotto successivo


author: Karl Donaubauer

text:
Salve,

Francodellavalle4 ha scritto:

Come Akery ha già scritto manca un esempio concreto o una descrizione
più precisa. La sfera di cristallo mormora ca.

SELECT A.IdOrdine, A.DataOrdine,

(Select Max(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
IdOrdine <= A.IdOrdine) AS Prima,

(Select Min(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
IdOrdine >= A.IdOrdine) AS Dopo,

FROM TbOrdini AS A

...dove soprattutto il criterio per IdOrdine non è chiaro perché nessuno
qui conosce i tuoi dati.

Forse invece intendi:

(Select Max(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
DataOrdine < A.DataOrdine) AS Prima

ecc.?

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


text:
Karl Donaubauer ha scritto:
> ...
> SELECT A.IdOrdine, A.DataOrdine,
>
> (Select Max(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
> IdOrdine <= A.IdOrdine) AS Prima,
>
> (Select Min(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
> IdOrdine >= A.IdOrdine) AS Dopo,

L'ultima virgola qui devi cancellare.

> FROM TbOrdini AS A


text:

Ciao Karl

ho una maschera in visulaizzazione maschere continue,
con origine dati da query,
con due controlli:
1- primo
2- secondo

se p.e. ho:

IdOrdine     dataOrdine
   1          29/12/15
   2          31/12/15
   3          04/01/16
   4          05/01/16
ecc.

vorrei avere ....
posizionandomi sul primo record
primo             secondo
vuoto             31/12/15

posizionandomi sul secondo record
primo             secondo
29/12/15          04/01/16

posizionandomi sul terzo record
primo             secondo
31/12/15          05/01/16

posizionandomi sul quarto record
primo             secondo
04/01/15          vuoto

grazie


text:
magari è più semplice del previsto, se idordine è cronologico e senza
intoppi la funzione dlookup può aiutarti.

prova a vedere se va bene il risultato cosi ottenuto:
https://www.dropbox.com/s/68e0qpz35v9i8tp/presucc.accdb?dl=0

Akery

ha scritto nel messaggio
news:8e1204ff-06cd-4aa1...@googlegroups.com...




text:
Salve,

Francodellavalle4 ha scritto:
>> Karl Donaubauer ha scritto:
>>> ...
>>> SELECT A.IdOrdine, A.DataOrdine,
>>>
>>> (Select Max(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
>>> IdOrdine <= A.IdOrdine) AS Prima,
>>>
>>> (Select Min(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
>>> IdOrdine >= A.IdOrdine) AS Dopo,
>>
>> L'ultima virgola qui devi cancellare.
>>
>>> FROM TbOrdini AS A
>

Direi che ti servono < e > come operatori invece di <= e >= (per l'Id
perché un po' più veloce della data) ma anche se nel frattempo hai
cambiato da una casella di riepilogo ad una maschera continua
l'enunciato SQL sarebbe ca. come l'ho scritto.

Se non serve o funziona, scrivi in quale rispetto ecc.



text:

non riesco ad aprirlo


text:

ciao Karl
va bene, tranne quando si trova sull'ultimo record(quello vuoto)
che anzichè avere
vuoto e vuoto
dovrebbe darmi: vuoto - 05/01/16


text:

ciao Karl
e se volessi utilizzare un'espressione da inserire nei due controlli,
com è bene fare?
grazie


text:
Salve,

Francodellavalle4 ha scritto:
>> Karl Donaubauer ha scritto:
>>>>>> ...
>>>>>> (Select Max(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
>>>>>> IdOrdine <= A.IdOrdine) AS Prima,
>>>>>>
>>>>>> (Select Min(DataOrdine) FROM TbOrdini WHERE IdCliente = A.IdCliente AND
>>>>>> IdOrdine >= A.IdOrdine) AS Dopo,
>>>> ...
>>>> IdOrdine     dataOrdine
>>>>      1          29/12/15
>>>>      2          31/12/15
>>>>      3          04/01/16
>>>>      4          05/01/16
>>>>
>>>> vorrei avere ....
>>>> posizionandomi sul primo record
>>>> primo             secondo
>>>> vuoto             31/12/15
>>>> ...
>>>> posizionandomi sul quarto record
>>>> primo             secondo
>>>> 04/01/15          vuoto
>>>
>> va bene, tranne quando si trova sull'ultimo record(quello vuoto)
>> che anzichè avere
>> vuoto e vuoto
>> dovrebbe darmi: vuoto - 05/01/16
>
> e se volessi utilizzare un'espressione da inserire nei due controlli,

Primo ca.

=nz(DomMax("DataOrdine";"TbOrdini";"IdCliente=" & [IdCliente] & " AND
IdOrdine <=" & [IdOrdine]);"vuoto")

ed equivalente per l'altro controllo.



text:

ciao Karl e grazie

=nz(DMax("DataOrdine";"TbOrdini";"IdCliente=" & [IdCliente] & " AND IdOrdine >" & [IdOrdine]);"vuoto")

però se ho p.e.
31/03
01/04 <-e mi trovo in questo punto, ho 04/04 anziche' 03/04
03/04
03/04
04/04

in pratica mi deve leggere la data successiva e non la piu' alta


text:

risolto con DMin anzichè DMax


title: sostituire un carattere in una stringa, con un numero variabile di  spazi

author: thinice

text:
Ciao a tutti. In Access XP sto cercando di sostituire il carattere
tabulazione presente più volte nella stringa di testo di un campo
memo.
Grazie ai suggerimenti ricevuti, sono arrivato al punto in cui devo
scorrere tutti caratteri della stringa nel campo memo, individuare in
che posizione si trova il VbTab e sostituirlo con un numero di spazi
che varia a seconda della lunghezza del pezzo di stringa che precede
il VbTab stesso.
In pratica, devo sostituire il VbTab, aggiungendo degli spazi fino ad
arrivare a 10 caratteri e quindi passare da:
XXXVbTabYYYYYVbTabWWVbTabZ
a
XXX-7spazi-YYYYY-5spazi-WW-8spazi-Z
so che per aggiungere spazi devo usare space$(10-len(ParteStringa))
dove ParteStringa è l'insieme dei caratteri+VbTab (es. YYYYYVbTab), ma
proprio non so come scorrere tutto il campo alla ricerca del VbTab e
"isolare" il pezzo di stringa da sostituire.
Qualche suggerimento?
Grazie a tutti in anticipo.
Giancarlo


author: ALESSANDRO Baraldi

text:


Giancarlo
Ci sono molti modi... il primo che mi viene in mente è quello di sfruttare
il vbTab come
separatore per lo SPLIT.
Ottieni a questo punto un'array nel quale gli ITEMS sono esattamente i
blocchi di caratteri.
Ora cicli l'array e ricostruisci la stringa...
Function fSpace(strIN As String)
    Dim varArray As Variant
    Dim varCiclo As Variant
    Dim strFinale As String
    varArray = Split(strIN, vbTab)
    For Each varCiclo In varArray
        strFinale = strFinale & varCiclo & Space$(10 - Len(varCiclo) + 1)
    Next
    fSpace= strFinale
End Function
Provata così dalla finestra immediata:
?fSpace("XXX" & vbTab & "YYYYY" & vbtab & "WW" & vbTab &"Z")
Risultato:
XXX        YYYYY      WW         Z
Sembrerebbe più o meno corretta... ;-)
Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------


text:

Innanzi tutto ti ringrazio del prezioso suggerimento. Purtroppo ho
dimenticato di dirti che la stringa da convertire ha anche degli "a
capo" e mi sono accorto che la funzione nel suo ciclo (ovviamente)
considera il simbolo di "a capo" come tutti gli altri e quindi
passando alla riga sottostante gli spazi non sono aggiunti
correttamente. In pratica, se devo convertire:
\(TAB)sup2005(TAB)03001(TAB)10003(TAB)residuo(ACAPO)
03001(TAB)0(TAB)0(TAB)0(TAB)0(ACAPO)
la funzione trasforma il tutto in
\(15SPAZI)sup2005(9SPAZI)03001(11SPAZI)10003(11SPAZI)residuo(ACAPO)
03001(2SPAZI)0(15SPAZI)0(15SPAZI)0(15SPAZI)0
Come vedi, nella riga 2 la sostituzione del TAB con gli spazi non ha
funzionato, credo perchè la funzione considera tutta insieme la
stringa "residuo" della prima riga e "03001" della seconda e infatti
aggiunge 2 spazi perchè le due stringhe insieme sono di 12 caratteri,
più altri due (credo) per il ritorno a capo e l'avanzamento di riga.
Come faccio per fargli ricominciare il ciclo dopo l'"a capo"?
Grazie ancora.



author: Marco Pizzamiglio

text:
thinice ha scritto:
> On 26 Mar, 00:07, "ALESSANDRO Baraldi" <
ik2...@libero.it
> wrote:
> > Ciao a tutti. In Access XP sto cercando di sostituire il carattere
> > tabulazione presente piů volte nella stringa di testo di un campo
> > memo.
> > Grazie ai suggerimenti ricevuti, sono arrivato al punto in cui devo
> > scorrere tutti caratteri della stringa nel campo memo, individuare in
> > che posizione si trova il VbTab e sostituirlo con un numero di spazi
> > che varia a seconda della lunghezza del pezzo di stringa che precede
> > il VbTab stesso.
> > In pratica, devo sostituire il VbTab, aggiungendo degli spazi fino ad
> > arrivare a 10 caratteri e quindi passare da:
> > XXXVbTabYYYYYVbTabWWVbTabZ
> > a
> > XXX-7spazi-YYYYY-5spazi-WW-8spazi-Z
> > so che per aggiungere spazi devo usare space$(10-len(ParteStringa))
> > dove ParteStringa č l'insieme dei caratteri+VbTab (es. YYYYYVbTab), ma
> > proprio non so come scorrere tutto il campo alla ricerca del VbTab e
> > "isolare" il pezzo di stringa da sostituire.
> >
> > Qualche suggerimento?
> > Grazie a tutti in anticipo.
> >
> > Giancarlo
> >
> > Ci sono molti modi... il primo che mi viene in mente č quello di sfruttare
> > il vbTab come
> > separatore per lo SPLIT.
> > Ottieni a questo punto un'array nel quale gli ITEMS sono esattamente i
> > blocchi di caratteri.
> >
> > Ora cicli l'array e ricostruisci la stringa...
> >
> > Function fSpace(strIN As String)
> >     Dim varArray As Variant
> >     Dim varCiclo As Variant
> >     Dim strFinale As String
> >     varArray = Split(strIN, vbTab)
> >     For Each varCiclo In varArray
> >         strFinale = strFinale & varCiclo & Space$(10 - Len(varCiclo) + 1)
> >     Next
> >     fSpace= strFinale
> > End Function
> >
> > Provata cosě dalla finestra immediata:
> > ?fSpace("XXX" & vbTab & "YYYYY" & vbtab & "WW" & vbTab &"Z")
> >
> > Risultato:
> > XXX        YYYYY      WW         Z
> Innanzi tutto ti ringrazio del prezioso suggerimento. Purtroppo ho
> dimenticato di dirti che la stringa da convertire ha anche degli "a
> capo" e mi sono accorto che la funzione nel suo ciclo (ovviamente)
> considera il simbolo di "a capo" come tutti gli altri e quindi
> passando alla riga sottostante gli spazi non sono aggiunti
> correttamente. In pratica, se devo convertire:
> (TAB)sup2005(TAB)03001(TAB)10003(TAB)residuo(ACAPO)
> 03001(TAB)0(TAB)0(TAB)0(TAB)0(ACAPO)
> la funzione trasforma il tutto in
> (15SPAZI)sup2005(9SPAZI)03001(11SPAZI)10003(11SPAZI)residuo(ACAPO)
> 03001(2SPAZI)0(15SPAZI)0(15SPAZI)0(15SPAZI)0
> Come vedi, nella riga 2 la sostituzione del TAB con gli spazi non ha
> funzionato, credo perchč la funzione considera tutta insieme la
> stringa "residuo" della prima riga e "03001" della seconda e infatti
> aggiunge 2 spazi perchč le due stringhe insieme sono di 12 caratteri,
> piů altri due (credo) per il ritorno a capo e l'avanzamento di riga.
> Come faccio per fargli ricominciare il ciclo dopo l'"a capo"?
> Grazie ancora.
Hai considerato l'idea di inserire i dati in una tabella (anche
temporanea), visto che di fatto hai in un unico campo un'intera tabella
con separatori di riga e di campo?
Cosě poi potresti lavorare piů comodo e usare i report per posizionare i
dati dove e come vuoi.
Ciao.
-Marco-
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


author: Bruno Campanini

text:
"thinice" <
thi...@libero.it
> wrote in message
news:9314bbfb-3934-4d9a...@u72g2000hsf.googlegroups.com...
Innanzi tutto ti ringrazio del prezioso suggerimento. Purtroppo ho
dimenticato di dirti...
[...]
===============================================
A questo punto - secondo me - dovresti proprio arrangiarti da solo!
Bruno


text:
Mi associo al pensiero di Bruno... di tempo da perdere ne abbiamo sempre
meno ... devi ottimizzare.
Ora perņ puoi provare da solo.



author: geppo

text:

provo a rispondere io che ho un po' più di tempo libero (forse c'è una
soluzione più semplice). :-)
Private Sub NomeTuoPulsante_Click()
Dim vStringa As String
Dim vArrSplit
Dim vRis
Dim i As Integer
vStringa = Me.NomeTuaCasellaMemo
Me.NomeTuaCasellaMemo = ""
For i = 0 To Len(vStringa) - Len(Replace(vStringa, vbTab, ""))
    vArrSplit = Split(vStringa, vbTab)
    vArrSplit = vArrSplit(i)
    Me.Testo29 = Me.Testo29 + vArrSplit + Space$(10 - Len(vArrSplit))
Next
End Sub
p.s.: Io parto sempre dal presupposto che nessuno mi obbliga a rispondere.
:-)
--
Ciao
Geppo


text:
...ops al posto di testo29 ricordati di mettere il nome della tua casella
memo



text:
"geppo" <c...@tin.it.invalid> wrote in message
news:yApGj.275134$%k.39...@twister2.libero.it...
[...]
> p.s.: Io parto sempre dal presupposto che nessuno mi obbliga a rispondere.
> :-)
>
> --
> Ciao
> Geppo
Prova a partire anche da questo presupposto.
Ti metti a cercare una soluzione, impieghi mezz'ora,
un'ora, due ore (il tempo vola al computer, anche se
nessuno ti obbliga a starci e lo fai a tempo perso).
Invii la tua soluzione e il giorno dopo scopri che quel
coglione che ha posto il quesito ha dimenticato un
particolare che rende inutile la tua perdita di tempo.
Beh, dargli del coglione credo sia proprio fargli un
un complimento.
Ma si è sbagliato, non aveva considerato che...
Qualsiasi idiota ponga mano a qualcosa che poi non sa
districare si crede autorizzato a porre il quesito in un NG
ancor prima di essersi reso conto dei termini del problema.
Tanto che gli costa?
Beh, almeno chiamiamolo per nome!
Bruno


text:
Ciao Bruno Campanini wrote:
> "geppo" <c...@tin.it.invalid> wrote in message
> news:yApGj.275134$%k.39...@twister2.libero.it...
>
> [...]
>> p.s.: Io parto sempre dal presupposto che nessuno mi obbliga a
>> rispondere. :-)
>>
>> --
>> Ciao
>> Geppo
>
> Prova a partire anche da questo presupposto.
> Ti metti a cercare una soluzione, impieghi mezz'ora,
> un'ora, due ore (il tempo vola al computer, anche se
> nessuno ti obbliga a starci e lo fai a tempo perso).
>
> Invii la tua soluzione e il giorno dopo scopri che quel
> coglione che ha posto il quesito ha dimenticato un
> particolare che rende inutile la tua perdita di tempo.
In questo caso, non lo abbiamo ancora accertato.  Che facciamo il processo
all'intenzione?
> Beh, dargli del coglione credo sia proprio fargli un
> un complimento.
Ma più che "coglione" è una persona che ignora ed in quanto tale non è in
grado di comprendere che quel dettaglio è importante; magari quando lo avrà
capito non posterà più di tanto sul NG.
> Ma si è sbagliato, non aveva considerato che...
>
> Qualsiasi idiota ponga mano a qualcosa che poi non sa
> districare si crede autorizzato a porre il quesito in un NG
> ancor prima di essersi reso conto dei termini del problema.
> Tanto che gli costa?
> Beh, almeno chiamiamolo per nome!
> Bruno
Io ho il mio capo che gli ho dovuto spiegare 1000 volte come fare il taglia
e incolla di una parte di immagine e tuttora me lo chiede ancora. Con questo
non voglio dire che è un "coglione" anzi tutt'altro te lo posso assicurare.
E solo che per alcune cose non è tanto portato, ma d'altro canto comunque le
deve fare.
Con questo voglio dire che se ignoriamo qualcosa, cerchiamo una soluzione
postando anche sul NG, ma da "ignoranti" non sappiamo come porre la domanda.
Per fortuna c'è sempre qualcuno, pronto a farci "capire", affinchè la
domanda successiva sia un po' più dettagliata.
Io non faccio il programmatore, non ho mai studiato informatica (ho solo la
terza media) insomma sono un ignorantone, però, a tempo perso, grazie anche
ai NG anzi per lo più ai NG, qualcosina l'ho imparata.
Grazie anche a te Bruno, che delle volte mi hai risposto senza chiamarmi
"coglione" (forse l'hai pensato). :-)
p.s.: tuttora certe cose non riesco a comprenderle son proprio di coccio eh.
--
Ciao
Geppo


text:

Guarda, non voglio entrare in polemica con te, però non vedo perchè tu
debba offendermi. Darmi del "coglione" o "idiota", mi sembra una cosa
del tutto fuori luogo. Ho sempre cercato di rispettare le regole
dell'NG e se stavolta ho posto male i termini della questione, non
vedo il motivo di tanta acredine!
Sto cercando di risolvere il problema che ho descritto, ormai da molto
tempo, e solo dopo aver applicato il prezioso suggerimento di
Alessandro Baraldi, mi sono accorto di una altro problema che non
avevo considerato.
Se non sbaglio, anche altre persone che postano in questo NG "si
accorgono" o "aggiungono" delle cose ai loro post iniziali, ma non per
questo vengono apostrofate in questo modo!
Secondo me, hai ecceduto un pochino...potevi limitarti a quello che
avevi scritto in precedenza:
--------
A questo punto - secondo me - dovresti proprio arrangiarti da solo!
--------
p.s. io "coglione" non lo considero un complimento...:-)


text:
"thinice" <
thi...@libero.it
> wrote in message
news:c38c8bee-5cd9-4fc6...@p25g2000hsf.googlegroups.com...
Guarda, non voglio entrare in polemica con te, però non vedo perchè tu
debba offendermi. Darmi del "coglione" o "idiota", mi sembra una cosa
del tutto fuori luogo. Ho sempre cercato di rispettare le regole
dell'NG e se stavolta ho posto male i termini della questione, non
vedo il motivo di tanta acredine!
Sto cercando di risolvere il problema che ho descritto, ormai da molto
tempo, e solo dopo aver applicato il prezioso suggerimento di
Alessandro Baraldi, mi sono accorto di una altro problema che non
avevo considerato.
Se non sbaglio, anche altre persone che postano in questo NG "si
accorgono" o "aggiungono" delle cose ai loro post iniziali, ma non per
questo vengono apostrofate in questo modo!
Secondo me, hai ecceduto un pochino...potevi limitarti a quello che
avevi scritto in precedenza:
--------
A questo punto - secondo me - dovresti proprio arrangiarti da solo!
--------
p.s. io "coglione" non lo considero un complimento...:-)
========================================
Nessuno lo considera un complimento.
Ma ribadisco il concetto:
dopo aver perso tempo (a volte anche molto tempo) per
trovare una soluzione, ti vedi vanificato lo sforzo perché
chi ha posto il quesito si è "accorto di un altro problema che
non avevo considerato"...
Beh, se non ti viene da dire "ma guarda 'sto coglione..."
allora sei proprio un santo.
A me è venuto da dirlo.
Il peccato è stato scriverlo?
Bruno
PS
Se ho ben capito - e comunque non l'ho verificato - dovrebbe
essere sufficiente nella formula di Alex passare una stringa
S = Replace(S, vbCrLf, vbTab, 1, True)
dove S è la stringa contenente  vbTab e vbCrLf.


text:
On 26 Mar, 14:56, "Bruno Campanini" <
B...@gmail.com
> wrote:
> "thinice" <
thin...@libero.it
> wrote in message

si
>
> Bruno
>
> PS
> Se ho ben capito - e comunque non l'ho verificato - dovrebbe
> essere sufficiente nella formula di Alex passare una stringa
> S = Replace(S, vbCrLf, vbTab, 1, True)
> dove S è la stringa contenente  vbTab e vbCrLf.
Ti ringrazio del suggerimento. Ora provo. E' certamente molto più
efficace della soluzione che avevo trovato io, che fa fare un "giro" a
tutta la procedura ogni volta che trova un a capo...
 Function fSpace(strIN As String)
    Dim varArray As Variant
    Dim varCiclo As Variant
    Dim strFinale As String
    Dim Riga As Variant
    Dim MatriceRiga As Variant
    MatriceRiga = Split(strIN, vbNewLine)
    For Each Riga In MatriceRiga
        varArray = Split(Riga, vbTab)
        For Each varCiclo In varArray
            strFinale = strFinale & varCiclo & Space$(10 -
Len(varCiclo) + 1)
        Next
    strFinale = strFinale & vbNewLine
    Next
    fSpace = strFinale
End Function


text:
"geppo" <c...@tin.it.invalid> wrote in message
news:MQqGj.43893$FR.1...@twister1.libero.it...
[...]
> Io non faccio il programmatore, non ho mai studiato informatica (ho solo
> la terza media) insomma sono un ignorantone, perň, a tempo perso, grazie
> anche ai NG anzi per lo piů ai NG, qualcosina l'ho imparata.
>
> Grazie anche a te Bruno, che delle volte mi hai risposto senza chiamarmi
> "coglione" (forse l'hai pensato). :-)
>
> p.s.: tuttora certe cose non riesco a comprenderle son proprio di coccio
> eh.
Adesso dentro di me sto pensando che queste ultime cose che hai
scritto sono proprio cazzate, che te le potevi risparmiare, che
l'auto commiserazione non serve proprio a nessuno.
Ma sono solo pensieri che metto per iscritto a solo scopo
dimostrativo.
Pensieri non dissimili da quelli che ti son passati per la testa
(nei miei riguardi) quando hai letto i miei post.
E allora?
Amici come prima! piů di prima!
Ok?
Bruno


text:


Sicuramente. :-)
> Bruno
Grazie ancora per i tuoi interventi.
--
Ciao
Geppo


text:
> Nessuno lo considera un complimento.
> Ma ribadisco il concetto:
> dopo aver perso tempo (a volte anche molto tempo) per
> trovare una soluzione, ti vedi vanificato lo sforzo perché
> chi ha posto il quesito si è "accorto di un altro problema che
> non avevo considerato"...
> Beh, se non ti viene da dire "ma guarda 'sto coglione..."
> allora sei proprio un santo.
> A me è venuto da dirlo.
>
> Il peccato è stato scriverlo?
>
> Bruno
Vedi Bruno il mondo è fatto da falsi moralisti che dietro ti insultano ma
davanti ti sorridono e se tu fai il contrario o meglio non adoperi quella
falsità di facciata(ed io come te sono uno di questi) allora fai brutta
figura....
La gente preferisce, e questa è sQuola con la Q, essere presa par il culo
con il guanto bianco
che ricevere un'osservazione spontanea anche se magari pesante.
Il motivo per cui io non mi sono mai offeso anche nei nostri contrasti è che
quando ho detto
quello che penso, e dall'altra parte anche ... penso che siamo contenti in
2(ma siamo in minoranza).
Beh mi consolo con il fatto che ultimamente il NG ha raggiunto un livello
troppo scadente, quindi
frequento sempre meno tecnicamente e mi diverto(ingiustamente) aprendo FLAME
anche per
la gioia di chi si lamenta di non vederne più ultimamente. ;-)
Ciao



text:
Ciao ALESSANDRO Baraldi wrote:
---cut--
> Beh mi consolo con il fatto che ultimamente il NG ha raggiunto un
> livello troppo scadente, quindi
> frequento sempre meno tecnicamente e mi diverto(ingiustamente)
> aprendo FLAME anche per
> la gioia di chi si lamenta di non vederne più ultimamente. ;-)
bene, allora buon divertimento. :-)
--
Ciao
Geppo


text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> wrote in message
news:fsduh0$6l4$1...@aioe.org...
[...]
> Beh mi consolo con il fatto che ultimamente il NG ha raggiunto un livello
> troppo scadente, quindi
> frequento sempre meno tecnicamente e mi diverto(ingiustamente) aprendo
> FLAME
> anche per
> la gioia di chi si lamenta di non vederne più ultimamente. ;-)
Sì, in effetti si assiste a un degrado del contenuto
(culturale, scientifico, tecnico... qual è la denominazione esatta?)
dei thread, sempre più caratterizzati dalla banalità delle richieste.
Frequento alcuni altri NG e rilevo ovunque la stessa cosa.
Direi che Internet, che per certi versi ha aperto molti nuovi
orizzonti, ha notevolmente impigrite le menti: non si cerca più
nell'Help e nei meandri dei Menu la soluzione, non si consulta
più un dizionario per vedere il plurale di coscia, si chiede in un NG.
Ti diverti coi flame?
È capitato anche a me di veder divampare il mio sangue
romagnolo, ma poi mi son sempre pentito.
Sana e robusta dialettica, satira e moderato sarcasmo
dovrebbero essere ammessi, senza però eccedere.
Ma questi non sono flame...
Bruno


author: Alessandro Baraldi

text:
[cut]
> Ti diverti coi flame?
Se così si può dire... è una battuta sarcastica... anche se alcuni 3D
sembrano
gridare la volonta di aprire un FLAME...!
Certo non mi appassionano più le domande
banali e ricorrenti dei frequentatori di "oggi" che di programmazione
non capiscono molto...(e sono buono), e mi scocciano pure quelli che
alla faccia delle regole continuano a rispondere incuranti che 2gg
prima sia
stata fatta la stessa domanda...(dalla quale magari hanno copiato la
risposta per fare bella figura...) aumentando l'entropia del NG.
Queste cose sono il quotidiano del NG ed io mi sono molto SCOCCIATO.
> È capitato anche a me di veder divampare il mio sangue
> romagnolo, ma poi mi son sempre pentito.
> Sana e robusta dialettica, satira e moderato sarcasmo
> dovrebbero essere ammessi, senza però eccedere.
> Ma questi non sono flame...
Non sono fornito della tua capacità dialettica(che ho sempre
apprezzato)... purtroppo mi posso limitare alla parte Tecnica...
quindi il passaggio
all'attribuzione d'ignoranza è molto veloce...
> Bruno
Ciao
@Alex


text:
Ciao Alessandro Baraldi wrote:
---cut--
> Non sono fornito della tua capacità dialettica(che ho sempre
> apprezzato)... purtroppo mi posso limitare alla parte Tecnica...
> quindi il passaggio
> all'attribuzione d'ignoranza è molto veloce...
Per quest'ultimo punto puoi anche "sforzarti" ad avere capacità dialettica,
cosi come pretendi che i "non programmatori" debbano fare domande piu'
tecniche per apprezzare una tua risposta. :-)
Comunque io personalmente, al di là di tutto, non posso far altro che
ringraziarti per il tuo contributo al NG. :-)
p.s.: chissà, forse tanti giovani che hanno fatto domande poco tecniche ed
hanno ottenuto una tua risposta, un giorno diventeranno bravi come te. :-)
> Ciao
> @Alex
--
Ciao
Geppo


text:

Rispondo anche se non serviva... ma per cortesia..!
Quando vai da un meccanico non è essenziale che sia un Poeta... ma è
essenziale che sappia fare il meccanico...!
Se una persona si improvvisa meccanico non serve che sia un oratore ma
serve sempre che sappia almeno da che parte si deve aprire il cofano
per riparare la macchina....!
Quì con Access, si avvicinano Programmatori improvvisati che ancor
prima di capire di cosa parlano fanno domande... e quando gli si
risponde in modo TECNICO spesso non capiscono per un problema di
formazione e di informazione completamente assenti.
C'è poi da dire che l'approccio influisce... se l'utente si dimostra
sveglio nel senso della volontà... è tutt'altra cosa...
Purtroppo essendo un NG tecnico ritengo che la mia capacità di
rispondere Tecnicamente sia l'unica utile... i sorrisi o le cordialità
sono solo il passo successivo alla concretezza.
Altrimenti se si preferisce avere risposte da CORDIALI INCOMPETENTI a
me non riguarda.
Saluti
@Alex


text:
Ciao Alessandro Baraldi wrote:
> On 27 Mar, 13:59, "geppo" <c...@tin.it.invalid> wrote:
>> Ciao Alessandro Baraldi wrote:
>>
>> ---cut--
>>
>>> Non sono fornito della tua capacità dialettica(che ho sempre
>>> apprezzato)... purtroppo mi posso limitare alla parte Tecnica...
>>> quindi il passaggio
>>> all'attribuzione d'ignoranza è molto veloce...
>>
>> Per quest'ultimo punto puoi anche "sforzarti" ad avere capacità
>> dialettica, cosi come pretendi che i "non programmatori" debbano
>> fare domande piu' tecniche per apprezzare una tua risposta. :-)
>>
>> Comunque io personalmente, al di là di tutto, non posso far altro che
>> ringraziarti per il tuo contributo al NG. :-)
>>
>> p.s.: chissà, forse tanti giovani che hanno fatto domande poco
>> tecniche ed hanno ottenuto una tua risposta, un giorno diventeranno
>> bravi come te. :-)
>>
>>> Ciao
>>> @Alex
>>
>> --
>> Ciao
>> Geppo
>
> Rispondo anche se non serviva... ma per cortesia..!
Ti ringrazio.
> Quando vai da un meccanico non è essenziale che sia un Poeta... ma è
> essenziale che sappia fare il meccanico...!
> Se una persona si improvvisa meccanico non serve che sia un oratore ma
> serve sempre che sappia almeno da che parte si deve aprire il cofano
> per riparare la macchina....!
Io, a dir il vero, quando mi sono improvvisato meccanico con il mio
cinquantino(un po' di anni fa), non sapendo da dove partire, ho dovuto
chiedere aiuto ad un mio amico, che seppur avendo la mia stessa età, sapeva
già smontare e rimontare il tutto ad una vecolità impressionante; ma dopo me
la sono cavata da solo e son diventato anche più bravo e veloce.
Non sempre l'apprendista più scaltro, si rivela un buon(o il miglior)
meccanico.
> Quì con Access, si avvicinano Programmatori improvvisati che ancor
> prima di capire di cosa parlano fanno domande... e quando gli si
> risponde in modo TECNICO spesso non capiscono per un problema di
> formazione e di informazione completamente assenti.
> C'è poi da dire che l'approccio influisce... se l'utente si dimostra
> sveglio nel senso della volontà... è tutt'altra cosa...
> Purtroppo essendo un NG tecnico ritengo che la mia capacità di
> rispondere Tecnicamente sia l'unica utile... i sorrisi o le cordialità
> sono solo il passo successivo alla concretezza.
Ma nessuno ti contesta nulla sul tuo modo di rispondere tecnicamente e solo
che avvolte non serve usare "toni" che possono essere equivocati come delle
"provocazioni" o "prepotenze".
> Altrimenti se si preferisce avere risposte da CORDIALI INCOMPETENTI a
> me non riguarda.
Questo è un NG dove nessuno è tenuto a rispondere.
Se hai voglia di aiutare qualcuno lo aiuti, altrimenti salti al post che
segue.
> Saluti
> @Alex
Ricorda, inoltre, che alcuni utenti del NG a cui rispondi, anche se non ti
conoscono di persona, ti stimano proprio per la tua competenza e per il tuo
contributo al NG sia esso tecnico che meno tecnico.
Se la persona a cui rispondi in modo diciamo "rigido" è uno di loro ci
rimane male due volte.
Lo so che forse non te ne puo' "fregare di meno", però ho voluto dirlo
comunque. :-)
--
Ciao
Geppo


text:
> Lo so che forse non te ne puo' "fregare di meno", però ho voluto dirlo
> comunque. :-)
Hai fatto bene... tant'è che nel tuo discorso l'unica cosa che appunto non
condivido
è di SALTARE OLTRE... nel caso non condivida il 3D...!
E' mia opinione che non essendo un Forum(NG) moderato i partecipandi della
comunità abbiano un riguardo in più per non rendere banale il 90% dei 3D
trattati...!
Questo purtroppo non avviene e le domande che vengono fatte sono mediamente
sempre
le stesse...!
Se tu hai avuto modo di frequentare NG o Forum moderati avresti capito cosa
mi indispone
perchè in quei posti le domande RIPETURE o BANALI non vengono pubblicate.
Ora non vorrei che la libertà che si gode in questo NG venga abusata ...
questo mi scoccia
e non sono proprio dell'idea di passare oltre perchè il NG è(in realtà era)
uno strumento tecnico
utile e se INZOZZATO di banali domande fatte 1000 volte solo perchè uno fa
fatica a fare un FIND...
no.... no... mi sento di poter dire la mia giacchè è Public l'area in cui
siamo.
> --
> Ciao
> Geppo



title: Esportazione "Anagrafica"

author: Bucketful Work

text:
Mi trovo di fronte a questo problema. Sto sviluppando un db e intanto
utilizzo la vecchia versione. Per poter utilizzare la nuova usufruendo
dei vecchi dati dell'anagrafica, è possibile esportarli dal db vecchio
ed inportarli nel nuovo?
Grazie.


title: Esportazione "Anagrafica"

author: Sergio MAZZA

text:
"Bucketful Work" <
buck...@gmail.com
> ha scritto nel messaggio
news:mn.43bd7d75e...@gmail.com...

Per facilitarti lo sviluppo(!) dividi l'applicazione in due parti: Front-end
e back-end.
Lo fai con: Strumenti - Utilità database - divisione guidata database.
Ti ritrovi con un mdb (FE) che ha le tabelle collegate ad un altro mdb (BE)
con le sole tabelle.
Quando vuoi utilizzare l'mdb con le tabelle di qualsiasi anagrafica (vecchia
o nuova) basta che cambi l'mdb; se ha lo stesso nome, altrimenti con:
Strumenti - Utilità database - Gestione tabelle collegate, indichi un altro
mdb con altro nome...
Ciao.
--
Sergio MAZZA


title: Esportazione "Anagrafica"

author: Bucketful

text:
Scriveva Sergio MAZZA martedì, 08/05/2007:
> Quando vuoi utilizzare l'mdb con le tabelle di qualsiasi anagrafica (vecchia
> o nuova) basta che cambi l'mdb
Il BE giusto?
Grazie Sergio.
--
Ciao.
Buck


title: Esportazione "Anagrafica"

text:
"Bucketful" <
buck...@gmail.com
> ha scritto nel messaggio news:mn.488c7d756...@gmail.com...
>
> Il BE giusto?
Precisamente...
> Grazie Sergio.
>
> --
> Ciao.
>
> Buck
Ciao.
--
Sergio MAZZA


title: posizione menu personalizzati

author: Nina

text:
Salve a tutti,
ho convertito un db in formato Access 97 in un db in formato Access 2000, La
conversione è riuscita, con la piccola differenza che nel file originale
(A97) il menu principale si posizionava la di sopra degli altri, mentre il
menù specifico associato ad ogni singola form si posizionava al di sotto di
quello principale.
Nella versione convertita in Access 2000, quando apro una maschera il menu
associato alla  maschera si visualizza sopra il emnù principale.
Come posso modificare quest'oridne di visualizzazione?
Grazie  a tutti
--
Nina


title: posizione menu personalizzati

author: MA

text:

I menu hanno memoria.
Mettili cme ti servono e quando ci ritorni materranno l'ordine
--
--
Massimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access