Post by Simone Calligaris"Fabrizio Conti (Panathos)" <
Post by Simone CalligarisPost by Fabrizio Conti (Panathos)Non ti sarebbe mai servito avere un campo in cui memorizzare il valore
di un array (o collection) di controlli; e da cui andarli ad
'esplodere' facilmente?
Oddio ... no.
Mah, nelle mie applicazioni (anzi, "nostre", dato che ho dei colleghi)
usiamo un sistema di carattere generale per permettere agli utenti di
salvare e recuperare i "filtri": una utility simile a questa
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=280
Ho visto il link ma l'esempio è per A2002. Approfondirò con calma. A
quanto pare per un'esigenza simile, hai seguito un metodo diverso, e
la cosa mi interessa.
Post by Simone CalligarisIn rapporto a Split() e Join(): Fabrizio tu stai utilizzando una versione di
Access a dir poco preistorica (sul mercato nel dicembre 1996) ... è già un
miracolo che sia ancora usabile.
[...]
Post by Simone CalligarisMa per quale ragione utilizzi una release tanto obsoleta?
Per diverse ragioni ed anche circostanze. Diciamo che c'è una
situazione di transizione che sta andando avanti da tempo, e non è
detto che lo svecchiamento del parco macchine non si concluda con un
parco di thin client (nel qual caso, fine applicazioni Access).
Cmq attualmente abbiamo anche dei P3 con 128 Mb di RAM nel parco
macchine... e su queste Office 97 riesce ancora ad essere accettabile,
come tempi (chiaramente c'è sempre OE in esecuzione, almeno due
finestre di IE con applicazione Java di Direzione aperta, un antivirus-
mattone, e gli utenti che cercano di barcamenarsi).
Post by Simone CalligarisInnanzitutt al programmatore, perché se sulla macchina di produzione
non ci sono le librerie che stanno sulla sua, sono guai. Poi al
sistemista, che dovrà provvedere affinché giri tutto correttamente.
[...]
Post by Simone CalligarisGuarda che MsAccess.OLB, Graph.OLB, DAO, ADO, MSO.DLL sono
componenti preinstallate da Access/Office e disponibili su qualunque macchina.
Scusa ma devo contraddirti :-) Sono disponibili e preinstallate nel
momento in cui hai comprato Office, sennò non ci sono.
A me cmq questo non importa: i pc che ricevo dalla Direzione hanno
SEMPRE Office installato, ed infatti sono tre anni che tolgo la loro
versione (2000, XP, 2003... macchine con la 2007 non mi sono ancora
arrivate e forse non arriveranno mai); per installare la 'nostra'
versione.
Post by Simone CalligarisNON esistono licenze da pagare o problemi "d'indisponibilità" su macchine di
produzione o problemi sistemistici o altro.
Mi sa che manca un altro pezzo del puzzle: io dispongo di tutti gli
Office, ma in versione Professional. Niente Developer, mai usato; ed
ho iniziato ad interessarmi dopo la CISA (pertanto ormai aspettavo
l'anno nuovo e l'SP1 per Office 2007... e mi sa che aspetterò ancora).
Tu stai pensando allo sviluppatore che rilascia pacchetti; cosa che
sono solo a metà.
Post by Simone CalligarisGuarda che non devi contraddirmi a tutti i costi ;-)
Figurati, io avevo solo fatto un paio di commenti sul VBA e detto cosa
pensavo riguardo il concetto di 'smart-developer'... figura
professionale nella quale giocoforza mi riconosco.
Post by Simone CalligarisPerché in generale si può istanziare un oggetto COM anche da PHP,
Perl, Python; e ciò non significa che anche questi 'siano' VB. Mi pare
Ma qui si parla di sviluppo con Access, e relativi problemi, o di altro?
Di Access e relativi problemi. Ma è utile chiarirsi.
Post by Simone CalligarisMa ora per avere matrici ordinate con natural sort devo mettermi a
scrivere codice, (piuttosto che farlo per questo mi pesto le dita)
E sarei curioso di vedere che fai con Access, se ti servono di continuo
matrici ordinate.
Era un (reale) esempio tra l'ironico ed il sarcastico. Tu trovi
curioso che io pensi in termini di matrici, ed hai ragione dal momento
che, in effetti, nel tuo ambiente con le matrici non ci fai
praticamente nulla e gli hash non ci sono.
Significa che le matrici non sono il 'modo giusto' di pensare,
probabilmente.
Post by Simone CalligarisIn rapporto ai componenti ActiveX (ti riferisci a quelli) parliamone.
In effetti mi piacerebbe, perché cerco di evitarli mentre so
perfettamente che c'è parecchia roba interessante (inutile ribadire
che uso FTP via batch :-)).
Ma del resto (e qui, se ci sta leggendo, rispondo anche a Oscar)
l'anno scorso avevo inserito il 'calendario' in una applicazione.
Non ce n'era affatto bisogno del calendario perché avevo costruito un
selettore di periodi (grazie ad una matrice, fondamentalmente :-)),
per cui l'utente non avrebbe praticamente mai avuto bisogno di
scegliersi le due date del range; ma mi era sembrata una cosa tutto
sommato innocua e vagamente sfiziosa.
Dopo un po' di tempo l'applicazione smise improvvisamente di
funzionare su almeno due PC, il riferimento al controllo calendario
restituiva un errore (che francamente non ricordo). Da 'bravo'
sistemista ho tolto il calendario, messo in linea l'aggiornamento, e
non me ne sono più preoccupato perché tutto il resto funzionava
regolarmente.
Post by Simone CalligarisPersonalmente posso dire di non avere alcun problema con i comuni TreeView
o ListView, gli unici che uso.
Così su due piedi non capisco di quali altri controlli possa avere bisogno
un "Accessista", dato che con un minimo sforzo tutto il resto si ottiene.
Credo un paio di annetti fa, mi fu consegnata una pestilenziale
accozzaglia di più di 35.000 dati anagrafici, che chiamare 'elenco' è
un insulto alla tomba di Aristotele.
Senza espressioni regolari (ho usato un misto di Access, PHP e
OpenOffice per averne ragione) probabilmente avrei impiegato molto più
dei due giorni lavorativi occorsi per sistemarlo in una tabella.
Racconto queste cose (abbastanza OT) nel tentativo di spiegare perché
penso le cose che scrivo, non è che dico o contraddico per il gusto di
farlo.
Parlo di cose reali che mi sono capitate, e che mi fanno pensare che
il tutto il paradigma di Access è semplicemente perfetto nel suo
ambito, e che secondo me il 'motore' sarebbe molto migliorabile
proprio nella SUA ottica; cioè come servizio allo 'sviluppatore-
smart'.
Post by Simone CalligarisAnche grazie alle centinaia di .MDB Free che si trovano sul web, che spesso
risolvono *problemoni* con quattro righe di codice.
Scusa ma questo c'entra relativamente poco con il discorso iniziale,
che erano i limiti di VBA. Documentazione ed esempi se ne trovano in
quantità per quasi qualsiasi linguaggio, ormai. Probabilmente un
cultore di Haskell potrebbe dire la stessa cosa; e cito quello solo
perché _io_ l'ho trovato vagamente astruso, non me ne vogliano i
puristi della matematica o i cultori di linguaggi più astrusi :-)
Post by Simone CalligarisHa senso operare distinguo perché SONO distinti! Sia fisicamente nelle
varie librerie, che logicamente nei vari oggetti i quali -essendo
appunto esterni- devono essere referenziati.
----------------------------------------------------------------------------------------
Proprio non ti capisco: soprattutto a livello pratico.
Ma come... eppure hai concordato sul fatto che il VBA puro e semplice
è povero. Non capisco cosa non capisci. Guarda che io solo quello
stavo dicendo, nulla più e nulla meno.
Ho distinto apposta VBA dall'ambiente, non perché sia più o meno
pertinente od opportuno farlo; ma perché stavo considerando il solo
linguaggio, e commentando quello. E nei tuoi interventi hai parlato di
'prodotto' e 'ambiente', quasi mai di 'linguaggio', come se fossero
una cosa sola, indistinguibile o inutile da distinguere. Allora ho
cercato di tracciare meglio la separazione che avevo fatto, e sei
tornato a parlare di prodotto.
Se continuiamo così diventa sterile, se ritieni opportuno non separare
le cose allora ti seguo e parliamo di ambiente e prodotto. Ma non è il
discorso da cui ero partito.
Post by Simone CalligarisLa discussione nasceva dal fatto che, secondo te, l'ambiente ha molte
limitazioni che costringono a soluzioni proprietarie che "mal risolvono" i
problemi.
Vedi che anche nel passo qui sopra sei tornato a parlare di ambiente?
La discussione è nata da quello che ho chiamato 'linguaggio', avulso
dagli oggetti referenziabili (poiché sono referenziabili ugualmente in
altri linguaggi).
Se sostieni che non si può considerare VBA senza l'architettura in cui
è nato e per cui è stato pensato perché 'praticamente' ha poco senso;
mi sta benissimo, è fattibile, perché no, ma il mio discorso era
differente.
Post by Simone CalligarisVuoi forse dire che tu non prenderesti in considerazione l'oggetto
FileSearch perchè è esposto da MSO.DLL piuttosto che da VBAXXX.dll?
O l'oggetto PRINTER, per manipolare le impostazioni di stampa, perchè viene
esposto da MsAccess.OLB?
Altro che masochismo ;-)
Siccome non ho mai usato FileSearch (escluso breve scriptino AutoIT,
che non c'entra) e nemmeno Printer, credo di dovermi considerare
masochista o fortunato, a non averne avuto bisogno (a dire il vero
vagamente ricordo di avere manipolato le impostazioni di stampa in
Word da codice, ma printer se non sbaglio esiste da Office 2000 in
poi).
Post by Simone CalligarisSecondo me molti (magari non tutti, ma certamente molti) dei tuoi problemi
hanno soluzioni native. E ovviamente, che tali soluzioni siano "esposte" da
una libreria piuttosto che da un'altra te ne frega meno di niente.
E quando parlo di "librerie", non mi riferisco a roba da comprare, ma a
componenti PREINSTALLATE da qualunque versione di MS Access, per non dire
indispensabili al suo funzionamento.
Se dici così, avrai sicuramente i tuoi motivi. Ti racconto un paio di
episodi miei.
Due o tre annetti fa ci fu un periodo di tribolo perché le
applicazioni dell'ex-collega non andavano su qualche portatile. Lui
aveva referenziato DAO350.DLL, e sui portatili era mancante (c'era
DAO360.DLL).
Altresì ricordo quando l'ex collega, che aveva solo Office 97 sulla
sua macchina, aveva referenziato msgraph e i grafici davano errore
sulle macchine che avevano installato ANCHE Office 2003. Alché risolse
installando anche Office 2003 sulla sua macchina, e facendo un casino
boia perché dopo qualche giorno di smanettamenti non c'era verso di
far andare i grafici, finché mi chiese se potevo fare una
"disinstallazione totale" di tutti gli Office.
Ricordo come un incubo la pagina ms con le istruzioni per la
disinstallazione totale.
L'elenco di file da cancellare, le chiavi di registro da togliere, i
batch che ho generato copiaincollando e smanettando con l'editor di
testo; e le ore che ho perso dietro a quella faccenda perché sembrava
impossibile disinstallare e reinstallare Office, c'era sempre qualcosa
che non andava.
Alla fine ce l'ho fatta, credo di avere ancora i batch che ho usato
(in caso avessi mai dovuto rifarlo).
Non sono stati gli unici problemi che ho avuto con Office, ma sono
stati i più eclatanti. E qui se vuoi puoi tornare da capo a questo
lunghissimo messaggio, dove spiegavo i vari motivi per cui siamo
ancora a Office 97.
Post by Simone CalligarisProbabilmente ci sono alcuni aspetti dell'ambiente che non hai ancora
spulciato e, in secondo luogo, dovresti prendere in considerazione una
versione meno obsoleta di Access.
Eh? ;-)
Eh :-) E' dalla fine dell'anno scorso che sono perfettamente
autorizzato a comprare una versione per sviluppatori, ovviamente 2007.
Prima aspettavo l'SP1 in italiano, poi sono rimasto da solo con la
baracca da tirare avanti; e francamente di scoprire quali rogne
potrebbe portare l'upgrade (anche mio personale, con tutte le cose
nuove che ci sono) in circa sessanta macchine ed ottanta utenti
inferociti perché non trovano più l'icona che avevano fino al giorno
prima, ne ho proprio poca voglia.
ciao,
Panathos