title: esame su access all'università

text:
"VT @ home" <
V...@home.it
> wrote in message
news:k4upv2plsirb6va7a...@4ax.com...
> Il Sat, 17 Mar 2007 18:14:38 +0100, "Bruno Campanini" <
B...@gmail.com
> ha
> scritto:
>>(.....)
>>Quanta inutile teoria per spiegare le cose semplici.
>
> INUTILE !!?!?!?!?!?!?!?
> SEMPLICI ? !?!?!?!?!?
> Mi spieghi, in maniera "semplice", come valutare se una tabella è
> normalizzata e come fare a normalizzarla ?
> Un esempietto semplice semplice:
>
> Cliente(PIVA,RagSoc,ABI,CAB,DexBanca,DexAgenzia)
>
> PIVA=Partita IVA del cliente
> RagSoc=Ragione sociale del cliente
> ABI=Codice ABI banca di appoggio
> CAB=Codice CAB banca di appoggio
> DexBanca=Descrizione banca di appoggio
> DexAgenzia=Descrizione agenzia di appoggio
>
> Mi dici se è in forma normale ?
> E quale ?
> E come fare a normalizzarla ?
> Mi raccomando: senza alcun riferimento teorico.
> Ed in maniera semplice, in modo che perfino io possa capire ...
Se il database fosse costituito da quell'unica tabella Cliente,
essa medesima la giudicherei normale.
Diversamente, in previsione di plausibili relazioni, vi aggiungerei
una PK in formato AutoNumber ma, arricciando un poco il naso,
accetterei anche una PK in formato Text su RagSoc.
Fatto ciò mi parrebbe normale, con riserva però di ricredermi
una volta evidenziato il contesto che qui non appare.
Ma non son sicuro che per "normalizzazione"
tu intenda quanto suggerisce il buon senso comune.
Non lo sono affatto.
E ti invito a non abbandonare l'esempio, ne va della tua credibilità.
Lo dico senza vis polemica e nel solo intento di apprendere
il concetto: in che senso sarebbe giudicata normale o non?
E non lo fosse, come si farebbe a normalizzarla?
Ti prego, intendi che sto esprimendo il mio desiderio di conoscere
e nient'altro.
> Quindi Chen, Codd, Boyce e Fagin hanno scritto cazzate !
Li nomini come fossero noti all'inclito e al volgo come lo
sono Newton, Galileo, Dante, Raffaello.
Fama di loro il mondo esser non lassa...
> Sarà, però finora nessuno ha trovato di meglio del modello E-R e di quello
> relazionale e che siano cazzate è (ancora)
> tutto da dimostrare.
> In ogni caso, come in qualunque materia scientifica, vige il principio
> "fino a prova contraria".
> Se qualcuno mi dimostra - in maniera puntuale - che è del tutto inutile e
> che ci sono metodi più semplici ed altrettanto
> rigorosi, ben venga: sarò lieto di fare a meno di tutte le seghe mentali
> (tanto per rimanere in tema ...) che uno deve
> tirarsi per rispettarne i principi.
Vorrei vedere una struttura database fatta nel rispetto di tanta
teoria e paragonarla a quella fatta da un buon programmatore
che del modello E-R nemmeno conosce il nome.
Alla tua successiva domanda rispondo fin da ora: Sì!
> Quindi chiudiamo scuole ed università ?
Da qui in avanti non ritengo doverti risposte: rispondi con battute
ad argomentazioni che io propongo seriamente.
Che per il fatto di esser proposte seriamente non pretendono
certo pedissequa condivisione ma nemmeno la liquidazione
sic et simpliciter alla botta e risposta.
Bruno


title: esame su access all'università

text:
Bruno Campanini ha scritto:
>> Cliente(PIVA,RagSoc,ABI,CAB,DexBanca,DexAgenzia)
>>
>> PIVA=Partita IVA del cliente
>> RagSoc=Ragione sociale del cliente
>> ABI=Codice ABI banca di appoggio
>> CAB=Codice CAB banca di appoggio
>> DexBanca=Descrizione banca di appoggio
>> DexAgenzia=Descrizione agenzia di appoggio
>>
> Se il database fosse costituito da quell'unica tabella Cliente,
> essa medesima la giudicherei normale.
Permettimi di dissentire.
E se il cliente avesse piu' di una banca??
Non rispetterebbe la 1NF.
> Diversamente, in previsione di plausibili relazioni, vi aggiungerei
> una PK in formato AutoNumber ma, arricciando un poco il naso,
> accetterei anche una PK in formato Text su RagSoc.
Anche qui sei in errore.
A parte il fatto che una PK autonumber non garantisce l'univocita' dei
dati, ma RagSoc come PK e' completamente sbagliata.
Solo in una provincia come Milano, Roma o Torino quante aziende che si
chiamano Rossi s.r.l possono esistere ??
Per vedere se un campo e' candidato ad essere PK basta farsi una
semplice domanda:
Il contenuto che vado a scriverci dentro mi permette di recuperare quel
record specifico e solo quello??
>> Quindi Chen, Codd, Boyce e Fagin hanno scritto cazzate !
>
> Li nomini come fossero noti all'inclito e al volgo come lo
> sono Newton, Galileo, Dante, Raffaello.
> Fama di loro il mondo esser non lassa...
>
Di quei signori scritti sopra, io conosco solo Codd e Boyce.
Gli altri tre non so nemmeno chi siano e cosa hanno scritto.
Forse perche' per progettare un DB funzionale bastano i primi due :)
Un po' come la normalizzazione, difficilmente si va oltre la 3NF.
Gia' normalizzare in 2NF normalmente e' sufficente.
> Vorrei vedere una struttura database fatta nel rispetto di tanta
> teoria e paragonarla a quella fatta da un buon programmatore
> che del modello E-R nemmeno conosce il nome.
> Alla tua successiva domanda rispondo fin da ora: Sě!
>
Qui trovi qualcosa di pronto:
http://www.databaseanswers.org/data_models/index.htm
Alla prossima.
	MAX


title: esame su access all'università

author: Carlo Costarella

text:
"VT @ home" <
V...@home.it
> ha scritto nel messaggio
news:ku2qv25u6ji71u42e...@4ax.com...
cut
>>Se vuoi normalizzare una tabella verifica che non vi siano campi che
>>contengono più descrizioni o valori per un solo campo: esempio
>>campo indirizzo che contiene via cap scala piano ecc.
>>Che la tabella contenga un indice univoco, ecc..
>
> Solo per la 1NF ...
> Per le forme successive, se non si ha presente il concetto (teorico) di
> DF, si rischia di prendere delle cantonate
> tremende !
Sì, certo. Il mio era solo un esempio, un inizio di analisi...
> Se consideri l'esempio
>
> Cliente(PIVA,RagSoc,ABI,DexBanca)
>
> l'errore tipico che viene commesso quando si cerca di valutarlo "in
> pratica" senza verificare i presupposti teorici, è
> di considerare la relazione non 3NF, mentre invece lo è !
cut
Fai bene a mettere in guardia da possibili errori e a spiegare bene la
teoria che sottostà all'atto pratico...considera comunque che senza questo
tread, senza il problema presentato, non avresti/avremmo avuto la
possibilità di esporre tanta corretta teoria.
Questo, a mio avviso, è il corretto modo di insegnare.
Ciao, Carlo


title: esame su access all'università

text:
"massimo61" <
mass...@hotmail.com
> ha scritto nel messaggio
news:etjt67$lt7$1...@newsreader.mailgate.org...
cut
> Qui trovi qualcosa di pronto:
>
http://www.databaseanswers.org/data_models/index.htm
>
> Alla prossima.
> MAX
Veramente un ottimo link.
Ciao, Carlo


title: esame su access all'università

author: VT @ home

text:
Il Sun, 18 Mar 2007 12:21:39 +0100, ciroteo ® <ciroteo(nospam)@
libero.it
> ha scritto:
>(.....)
>Scherzi a parte Vincenzo, perchè non ti proponi per tenere un intervento
>alla CISA sulle tematiche di normalizzazione modellazione, e tools di
>supporto?
Già fatto: adoro esporre cazzate ed inutile teoria al pubblico ;-)
>Mi rendo conto che i migliori del newsgroup non avranno bisogno di nozioni
>teoriche, però secondo me potrebbe essere utile ad altri.
Non so: dipende da chi parteciperà.
>Non a caso se un esponente della comunità sql, nel webcast da me citato, ha
>ritenuto fondamentale iniziare con la modellazione la serie di webcast
>relativi  ad un sistema maturo come sql server e rivolgendosi ad un audience
>professionale, si deduce che non se ne parla mai abbastanza.
Parole sante !
>Proponiti, secondo me MA e gli organizzatori ti supporterebbero.
>
>M
>



title: esame su access all'università

text:
Il Sun, 18 Mar 2007 13:47:55 +0100, "Bruno Campanini" <
B...@gmail.com
> ha scritto:
>(.....)
>> Un esempietto semplice semplice:
>>
>> Cliente(PIVA,RagSoc,ABI,CAB,DexBanca,DexAgenzia)
>>
>> PIVA=Partita IVA del cliente
>> RagSoc=Ragione sociale del cliente
>> ABI=Codice ABI banca di appoggio
>> CAB=Codice CAB banca di appoggio
>> DexBanca=Descrizione banca di appoggio
>> DexAgenzia=Descrizione agenzia di appoggio
>>
>> Mi dici se č in forma normale ?
>> E quale ?
>> E come fare a normalizzarla ?
>> Mi raccomando: senza alcun riferimento teorico.
>> Ed in maniera semplice, in modo che perfino io possa capire ...
>
>Se il database fosse costituito da quell'unica tabella Cliente,
Cosa cambia se il DB contiene una o piů tabelle ?
Le anomalie del suo contenuto non ci sono se la tabella č una sola e ci sono se č in compagnia di altre ?
Non puň esistere un DB contenente una sola tabella ?
>essa medesima la giudicherei normale.
No, non lo č nel senso che non rispetta la 3NF e la BCNF.
>Diversamente, in previsione di plausibili relazioni, vi aggiungerei
>una PK in formato AutoNumber
Perchč, non si puň implementare le relationship usando la PK "naturale" ovvero PIVA ?
>ma, arricciando un poco il naso,
>accetterei anche una PK in formato Text su RagSoc.
No, neanche turandoselo il naso si puň accettare RagSoc come PK, perchč puň contenere valori duplicati.
>Fatto ciň mi parrebbe normale, con riserva perň di ricredermi
>una volta evidenziato il contesto che qui non appare.
>Ma non son sicuro che per "normalizzazione"
>tu intenda quanto suggerisce il buon senso comune.
Giŕ: tu parli di senso comune (per chi ?), io di cazzate (cioč di inutile teoria) ...
>Non lo sono affatto.
>E ti invito a non abbandonare l'esempio, ne va della tua credibilitŕ.
>Lo dico senza vis polemica e nel solo intento di apprendere
>il concetto: in che senso sarebbe giudicata normale o non?
E qui devo elencare una serie di cazzate (ovvero di inutile teoria) che cercherň di esprimere in maniera piů concreta
possibile, semplificando parecchio dato che il post riassume il contenuto di un'intera giornata di corso.
1NF (prima forma normale)
Una relazione č 1NF se č composta solo da attributi semplici, ovvero non multivalore e non strutturati.
Attributo multivalore č quello che contiene piů valori per la medesima riga ( per es. Autore in una relazione Libri)
Attributo strutturato č quello che, in riferimento al contesto, si puň considerare come composto da attributi elementari
(per es. Telefono che puň considerarsi composto da prefisso internazionale, indicativo di zona, numero).
Prima di introdurre la 2NF č necessario il concetto di dipendenza funzionale.
Si dice che in una relazione l'attributo B dipende funzionalmente da A quando, presa qualsiasi coppia di righe dove
l'attributo A contiene lo stesso valore x, nelle medesime righe anche B contiene sempre il medesimo valore y.
In qualunque relazione ogni attributo non chiave dipende funzionalmente dalla chiave.
Infatti, se per assurdo una relazione avesse due righe contenenti valori uguali negli attributi chiave, le due righe
dovrebbero essere identiche, ovvero contenere i medesimi valori anche in tutti gli altri attributi.
2NF (seconda forma normale)
Una relazione č 2NF se č 1NF e se, per ogni chiave, ogni attributo che non ne fa parte dipende funzionalmente
dall'intera chiave e non soltanto da una parte di essa.
La relazione
Agenzia(ABI,CAB,DexBanca,DexAgenzia)
dove la coppia ABI, CAB č PK non č 2NF perchč DexBanca dipende funzionalmente non dall'intera PK ma soltanto da ABI.
Ovvero, tutte le righe che contengono 03400 in ABI, contengono sempre "Banca Toscana" in DexBanca.
Per normalizzare si decompone in
Banca(ABI,DexBanca)
Agenzia(ABI,CAB,DexAgenzia)
Prima di introdurre la 3NF č necessario il concetto di dipendenza funzionale transitiva.
Si dice che in una relazione l'attributo C dipende funzionalmente da A in maniera transitiva tramite l'attributo B
quando si verifica che:
C dipende funzionalmente da B e non viceversa
B dipende funzionalmente da A e non viceversa
3NF (terza forma normale)
Una relazione č 3NF se č 2NF e se, per ogni chiave, ogni attributo che non ne fa parte dipende funzionlmente in maniera
dietta dalla chiave e non transitivamente tramite qualche altro attributo.
Cliente(PIVA,RagSoc,ABI,CAB,DexBanca,DexAgenzia)
non č 3NF perchč DexAgenzia dipende funzionalmente non solo dalla PK, ma anche dalla coppia ABI, CAB che a sua volta
dipende funzionalmente dalla PK.
Per normalizzare si decompone in
Cliente(PIVA,RagSoc,ABI,CAB,DexBanca)
Agenzia(ABI,CAB,DexAgenzia)
BCNF (forma normale di Boyce-Codd)
Una relazione č BCNF se č 1NF e se, per ogni chiave, ogni attributo che non ne fa parte dipende funzionalmente solo
dalla chiave e non anche da qualche altro attributo.
Si dimostra (teroicamente, ahimč) che una relazione BCNF č anche 3NF, mentre non č sempre vero il viceversa (v. esempio
sotto).
Quindi di solito si tenta di verificare subito se una relazione č BCNF perchč in caso di successo tale relazione č
garantita anche in 3NF e quindi anche in 2NF.
Cliente(PIVA,RagSoc,ABI,CAB,DexBanca)
non č BCNF perchč DexBanca dipende funzionalmente non solo dalla PK, ma anche da ABI
č 3NF perchč
ABI dipende funzionalmente da PIVA e non viceversa
DexBanca dipende funzionalmente da ABI e viceversa
(cioč tutte le righe con ABI=03400 hanno DexBanca="Banca Toscana", ma anche tutte le righe che hanno DexABanca="Banca
Toscana" hanno ABI=03400)
quindi la dipendenza NON č transitiva.
Per normalizzare si decompone in
Cliente(PIVA,RagSoc,ABI,CAB)
Banca(ABI,DexBanca)
Agenzia(ABI,CAB,DexAgenzia)
Queste relazioni sono tutte BCNF quindi anche 1NF, 2NF, 3NF.
>E non lo fosse, come si farebbe a normalizzarla?
>Ti prego, intendi che sto esprimendo il mio desiderio di conoscere
>e nient'altro.
>
>> Quindi Chen, Codd, Boyce e Fagin hanno scritto cazzate !
>
>Li nomini come fossero noti all'inclito e al volgo come lo
>sono Newton, Galileo, Dante, Raffaello.
>Fama di loro il mondo esser non lassa...
Questo NG non č frequentato da quello che tu chiami "volgo".
Qui si ritrovano professionisti e persone che hanno interesse alla gestione di basi di dati.
IMHO non sapere nemmeno chi sono i signori di cui sopra č, mutatis mutandis, grave per loro come se un fisico non
sapesse chi sono appunto Galileo o Newton: sono i giganti - di cui parlava Bernardo di Chartres - sulle cui spalle noi
nani siamo appollaiati.
>> Sarŕ, perň finora nessuno ha trovato di meglio del modello E-R e di quello
>> relazionale e che siano cazzate č (ancora)
>> tutto da dimostrare.
>> In ogni caso, come in qualunque materia scientifica, vige il principio
>> "fino a prova contraria".
>> Se qualcuno mi dimostra - in maniera puntuale - che č del tutto inutile e
>> che ci sono metodi piů semplici ed altrettanto
>> rigorosi, ben venga: sarň lieto di fare a meno di tutte le seghe mentali
>> (tanto per rimanere in tema ...) che uno deve
>> tirarsi per rispettarne i principi.
>
>Vorrei vedere una struttura database fatta nel rispetto di tanta
>teoria e paragonarla a quella fatta da un buon programmatore
>che del modello E-R nemmeno conosce il nome.
La conoscenza della teoria NON č condizione necessaria e sufficiente per fare un buon lavoro.
Questo non autorizza ad ignorarla confidando che basti una consistente esperienza pratica per sopperire alla sua
carenza: qui non si tratta di lavoro manuale.
Sono quasi venti anni che mi tocca spesso lavorare su basi di dati altrui per risolvere problemi causati da una scarsa o
cattiva analisi teorica della loro modellazione: sinceramente ne avrei anche abbastanza.
Devo ammettere perň che dal punto di vista strettamente economico un sistema che ha bisogno di continua manutenzione
perchč progettato male (o non progettato affatto) rende molto di piů di un sistema che funziona come un orologio.
>Alla tua successiva domanda rispondo fin da ora: Sě!
Mi piacerebbe tanto conoscere la *mia* domanda !
>> Quindi chiudiamo scuole ed universitŕ ?
>
>Da qui in avanti non ritengo doverti risposte: rispondi con battute
>ad argomentazioni che io propongo seriamente.
Giŕ: teoria = cazzate !
>Che per il fatto di esser proposte seriamente non pretendono
>certo pedissequa condivisione ma nemmeno la liquidazione
>sic et simpliciter alla botta e risposta.
>
>Bruno
Vincenzo Turturro



title: esame su access all'università

text:
Il Sun, 18 Mar 2007 18:34:03 +0100, massimo61 <
mass...@hotmail.com
> ha scritto:
>(.....)
>Di quei signori scritti sopra, io conosco solo Codd e Boyce.
>Gli altri tre non so nemmeno chi siano e cosa hanno scritto.
Chen ha teorizzato il modello E-R
Boyce e Codd hanno teorizzato il modello relazionale e le forme normali 1a, 2a, 3a e BC.
Fagin si è "specializzato" in forme normali: sue sono le forme 4a 5a e 6a.
>Forse perche' per progettare un DB funzionale bastano i primi due :)
>Un po' come la normalizzazione, difficilmente si va oltre la 3NF.
>Gia' normalizzare in 2NF normalmente e' sufficente.
IMHO:
2NF è obbligatorio pena anomalie della specie peggiore
3NF (o BCNF) è meglio ...
Le forme normali successive le lascio ai teorici puri !
E non dimentichiamo che bisogna normalizzare sì, ma verificando la proprietà lossless-join !
>> Vorrei vedere una struttura database fatta nel rispetto di tanta
>> teoria e paragonarla a quella fatta da un buon programmatore
>> che del modello E-R nemmeno conosce il nome.
>> Alla tua successiva domanda rispondo fin da ora: Sì!
>>
>
>Qui trovi qualcosa di pronto:
>
http://www.databaseanswers.org/data_models/index.htm
Ottimo link.
>Alla prossima.
>	MAX



title: esame su access all'università

author: Bruno Campanini

text:
"massimo61" <
mass...@hotmail.com
> wrote in message
news:etjt67$lt7$1...@newsreader.mailgate.org...
> Bruno Campanini ha scritto:
>>> Cliente(PIVA,RagSoc,ABI,CAB,DexBanca,DexAgenzia)
>>>
>>> PIVA=Partita IVA del cliente
>>> RagSoc=Ragione sociale del cliente
>>> ABI=Codice ABI banca di appoggio
>>> CAB=Codice CAB banca di appoggio
>>> DexBanca=Descrizione banca di appoggio
>>> DexAgenzia=Descrizione agenzia di appoggio
>>>
>> Se il database fosse costituito da quell'unica tabella Cliente,
>> essa medesima la giudicherei normale.
>
> Permettimi di dissentire.
> E se il cliente avesse piu' di una banca??
> Non rispetterebbe la 1NF.
Ma che discorsi fai?
Se prevedi che possano esistere clienti con più di una banca
dovrai prevedere più quaterne di campi relativi.
A quel punto ci si dovrebbe anche ricredere sull'opportunità
di avere quattro campi per la banca: ABI, CAB, Banca, Agenzia.
Non fa un po' ridere?
Hai mai visto un campo per CAB, uno per ABI, e allora
perché no, uno anche per CIN, SWIFT...?
>> Diversamente, in previsione di plausibili relazioni, vi aggiungerei
>> una PK in formato AutoNumber ma, arricciando un poco il naso,
>> accetterei anche una PK in formato Text su RagSoc.
>
> Anche qui sei in errore.
> A parte il fatto che una PK autonumber non garantisce l'univocita' dei
> dati, ma RagSoc come PK e' completamente sbagliata.
> Solo in una provincia come Milano, Roma o Torino quante aziende che si
> chiamano Rossi s.r.l possono esistere ??
> Per vedere se un campo e' candidato ad essere PK basta farsi una semplice
> domanda:
> Il contenuto che vado a scriverci dentro mi permette di recuperare quel
> record specifico e solo quello??
>
>
>>> Quindi Chen, Codd, Boyce e Fagin hanno scritto cazzate !
>>
>> Li nomini come fossero noti all'inclito e al volgo come lo
>> sono Newton, Galileo, Dante, Raffaello.
>> Fama di loro il mondo esser non lassa...
>>
>
> Di quei signori scritti sopra, io conosco solo Codd e Boyce.
> Gli altri tre non so nemmeno chi siano e cosa hanno scritto.
> Forse perche' per progettare un DB funzionale bastano i primi due :)
> Un po' come la normalizzazione, difficilmente si va oltre la 3NF.
> Gia' normalizzare in 2NF normalmente e' sufficente.
Se può essere sufficiente normalizzare con criteri convenzionali
allora diviene accettabile che si possano avere varie Rossi Srl
nella stessa città, posto che non risiederanno mai alla stessa
via AND allo stesso numero civico AND allo stesso interno..
Se poi non ci accontenta di ciò dovranno desumersi PK da
elementi ASSOLUTAMENTE UNIVOCI quali il CF, la
partita IVA per le persone fisiche e le aziende ovvero i codici
di prodotto per le merci, etc.
Sarebbero queste le scoperte di Codd, Boyce & C.?
Bruno


title: esame su access all'università

text:
Il Mon, 19 Mar 2007 12:15:49 +0100, "Bruno Campanini" <
B...@gmail.com
> ha scritto:
>(.....)
>Se poi non ci accontenta di ciò dovranno desumersi PK da
>elementi ASSOLUTAMENTE UNIVOCI quali il CF, la
Spiacente di contraddirti, ma il codice fiscale NON E' "assolutamente univoco"
come sostieni.
Infatti esistono in Italia oltre 24000 casi di omocodia, ovvero di persone fisiche a cui il ministero delle finanze ha
assegnato un codice fiscale già assegnato ad altra persona.
Con buona pace di qualsiasi data base che utilizza anagrafiche dove il campo codice fiscale è PK .
Per maggiori info
http://news2000.libero.it/index_speciale3.jhtml?speciale=&pagina=4546.jhtml&sommario=4532.jhtml&arg=4533.jhtml&area=
>partita IVA per le persone fisiche e le aziende ovvero i codici
La partita IVA invece, essendo composta da un numero progressivo per ciascun ufficio IVA emittente associato al codice
dell'ufficio IVA medesimo, è garantito che sia univoca.
>di prodotto per le merci, etc.
>Sarebbero queste le scoperte di Codd, Boyce & C.?
>Bruno



title: esame su access all'università

text:
"VT @ home" <
V...@home.it
> wrote in message
news:hiasv2dov5413vg67...@4ax.com...
>>Se il database fosse costituito da quell'unica tabella Cliente,
>
> Cosa cambia se il DB contiene una o più tabelle ?
> Le anomalie del suo contenuto non ci sono se la tabella è una sola e ci
> sono se è in compagnia di altre ?
> Non può esistere un DB contenente una sola tabella ?
>
>>essa medesima la giudicherei normale.
>
> No, non lo è nel senso che non rispetta la 3NF e la BCNF.
>
>>Diversamente, in previsione di plausibili relazioni, vi aggiungerei
>>una PK in formato AutoNumber
>
> Perchè, non si può implementare le relationship usando la PK "naturale"
> ovvero PIVA ?
>
>>ma, arricciando un poco il naso,
>>accetterei anche una PK in formato Text su RagSoc.
>
> No, neanche turandoselo il naso si può accettare RagSoc come PK, perchè
> può contenere valori duplicati.
D'accordo. Ho già risposto altrove che se la pretesa è quella di
evitare qualsivoglia ambiguità, ancorché teorica, dovuta a
duplicazioni di valori non vi è altra via che quella di scegliere
indicatori assolutamente univoci quali CF e partita IVA per persone
ed enti, ovvero il codice prodotto per le merci.
In altri casi, generalizzando ma evitando considerazioni scolastiche
tipo Banca, Agenzia, CAB, etc, dovranno assumersi combinazioni
AND di tanti indicatori quanti ne sono necessari per la determinazione
di combinazioni sicuramente univoche.
Ma dimmi, in tutta sincerità, hai mai progettato una tabella Clienti
contenente tutte le precauzioni atte ad evitare la menzionate ambiguità
afferenti Banca, Agenzia, CAB etc?
E se sì dimmi ancora, il tutto non era ugualmente fattibile pur senza
conoscere le teorie BCNF, xNF, etc?
> E qui devo elencare una serie di cazzate (ovvero di inutile teoria) che
> cercherò di esprimere in maniera più concreta
> possibile, semplificando parecchio dato che il post riassume il contenuto
> di un'intera giornata di corso.
[...]
Mi sono stampato le tue considerazioni che non mancherò
di studiare accuratamente.
Bruno


title: esame su access all'università

text:
"VT @ home" <
V...@home.it
> wrote in message
news:qqssv2h17g3srma7b...@4ax.com...
> Il Mon, 19 Mar 2007 12:15:49 +0100, "Bruno Campanini" <
B...@gmail.com
> ha
> scritto:
>>Se poi non ci accontenta di ciò dovranno desumersi PK da
>>elementi ASSOLUTAMENTE UNIVOCI quali il CF, la
>
> Spiacente di contraddirti, ma il codice fiscale NON E' "assolutamente
> univoco"
> come sostieni.
> Infatti esistono in Italia oltre 24000 casi di omocodia, ovvero di persone
> fisiche a cui il ministero delle finanze ha
> assegnato un codice fiscale già assegnato ad altra persona.
> Con buona pace di qualsiasi data base che utilizza anagrafiche dove il
> campo codice fiscale è PK .
Questo che c'entra?
Stiamo discutendo dell'utilità delle teorie di Codd, Boyce & C!
I casi di omocodia si evitano applicando tali teorie?
Bruno


title: esame su access all'università

text:
Il Mon, 19 Mar 2007 13:04:04 +0100, "Bruno Campanini" <
B...@gmail.com
> ha scritto:
>(.....)
>"VT @ home" <
V...@home.it
> wrote in message
>news:hiasv2dov5413vg67...@4ax.com...
>
>D'accordo. Ho già risposto altrove che se la pretesa è quella di
>evitare qualsivoglia ambiguità, ancorché teorica, dovuta a
>duplicazioni di valori non vi è altra via che quella di scegliere
>indicatori assolutamente univoci quali CF e partita IVA per persone
>ed enti, ovvero il codice prodotto per le merci.
>In altri casi, generalizzando ma evitando considerazioni scolastiche
>tipo Banca, Agenzia, CAB, etc,
Scolastiche ?!?!?!?!?
La banca di appoggio di un cliente è qualcosa di s-c-o-l-a-s-t-i-c-o ?
E le anomalie dell'esempio che ho presentato sono qualcosa di accettabile ?!?!?!?!?
E se qualcuno registra nella relazione cliente in DexBanca una volta "Banca Toscana" ed un''altra volta "B.T." ? !?!?!?
Secondo te va tutto bene ?
>dovranno assumersi combinazioni
>AND di tanti indicatori quanti ne sono necessari per la determinazione
>di combinazioni sicuramente univoche.
Tu confondi "tabella normalizzata" con tabella dotata di chiave sicuramente univoca ...
>Ma dimmi, in tutta sincerità, hai mai progettato una tabella Clienti
>contenente tutte le precauzioni atte ad evitare la menzionate ambiguità
>afferenti Banca, Agenzia, CAB etc?
Ovviamente sì.
E proprio perchè mi voglio bene e voglio evitare lavori erculei di riallineamento di dati registrati in maniera
incongrua a causa della anomalie derivanti da un'errata/trasandata progettazione.
>E se sì dimmi ancora, il tutto non era ugualmente fattibile pur senza
>conoscere le teorie BCNF, xNF, etc?
Probabilmente sì, ma senza garanzia di potere verificare in maniera rigorosa ed inequivocabile l'esattezza delle scelte
fatte.
E non tutti i casi che si possono presentare sono così evidenti come gli esempi che ho fatto.
La tabella dei cap delle poste Stradario(Via, CAP, Comune, Provincia) per esempio ...
>> E qui devo elencare una serie di cazzate (ovvero di inutile teoria) che
>> cercherò di esprimere in maniera più concreta
>> possibile, semplificando parecchio dato che il post riassume il contenuto
>> di un'intera giornata di corso.
>[...]
>
>Mi sono stampato le tue considerazioni che non mancherò
>di studiare accuratamente.
Le considerazioni non sono mie, bensì dei summenzionati signori Codd & C.
Io mi sono limitato a riportarle, lo ripeto ancora una volta, in maniera succinta, riassuntiva e non del tutto rigorosa.



title: esame su access all'università

author: Antonio Biso

text:
"ciroteo ®" <ciroteo(nospam)@
libero.it
> ha scritto nel messaggio
news:45fbea14$0$4798$4faf...@reader4.news.tin.it...
>
> "N1C0L4" <
nickbi...@virgilio.it
> ha scritto nel messaggio
> news:HnRKh.52$1G5...@nntpserver.swip.net...
> > grazie in anticipo
> >
> >
>
> c' un ottimo esempio webcast, (che è anche più interessante di amici di
Ehm...
Ehmmmmmm
Antonio


title: esame su access all'università

text:
Bruno Campanini ha scritto:
> Ma che discorsi fai?
> Se prevedi che possano esistere clienti con più di una banca
> dovrai prevedere più quaterne di campi relativi.
> A quel punto ci si dovrebbe anche ricredere sull'opportunità
> di avere quattro campi per la banca: ABI, CAB, Banca, Agenzia.
> Non fa un po' ridere?
> Hai mai visto un campo per CAB, uno per ABI, e allora
> perché no, uno anche per CIN, SWIFT...?
>
Se ci pensi bene, quella che hai scritto sopra, e' la normalita' nella
vita reale.
Oggi come oggi ci sono forse, ma dico forse, pochissimi artigiani che
hanno una sola banca la maggior parte delle azienda viaggia con tre.
ciao.
	MAX


title: esame su access all'università

author: Massimo Piubelli

text:
Bruno Campanini wrote:
Sticaxxi... ho postato due link e mi ritrovo dentro un flame sulla normalizzazione ;-)
>> E se il cliente avesse piu' di una banca??
>> Non rispetterebbe la 1NF.
>
> Ma che discorsi fai?
> Se prevedi che possano esistere clienti con più di una banca
> dovrai prevedere più quaterne di campi relativi.
Su questo Bruno consentimi di dissentire.
> A quel punto ci si dovrebbe anche ricredere sull'opportunità
> di avere quattro campi per la banca: ABI, CAB, Banca, Agenzia.
> Non fa un po' ridere?
Direi assolutamente no.
> Hai mai visto un campo per CAB, uno per ABI, e allora
> perché no, uno anche per CIN, SWIFT...?
Esatto, questo sarebbe corretto secondo la prima forma normale.
Ricordo che uno dei primi punti è che i valori atomici non devono essere uniti.
>> Forse perche' per progettare un DB funzionale bastano i primi due :)
>> Un po' come la normalizzazione, difficilmente si va oltre la 3NF.
>> Gia' normalizzare in 2NF normalmente e' sufficente.
Mah...
diciamo che non sono pienamente d'accordo con te.
Allora, partiamo dalla mia personale considerazione.
1) Non si può sperare di far funzionare bene un database se non previa una corretta progettazione/normalizzazione della base dati.
2) Per fare quanto previsto al punto 1, si deve conoscere la base della normalizzazione (io ai miei corsi ci dedico sempre diverso tempo) poi si può spiegarla in termini "universitari", oppure in termini "volgari/semplici", i primi sicuramente più corretti e formali, i secondi molto probabilmente più comprensibili ai più
3) Non presumo esista un modello univoco, o una regola valida per tutto. Infatti qui avete giustamente parlato di CF / PIVA ecc... ma molto spesso si usa invece un IDCliente, il perchè IMHO è semplice, se è vero che la P.iva è il campo PK "candidato" in quanto se penso a future evoluzioni extra italia, ciò non è più vero...
4) Riagganciandomi al punto 3, le esigenze / legislazioni / funzionalità richieste, nel tempo possono variare, pertanto si dovrà rimodellare la base dati.
> Se può essere sufficiente normalizzare con criteri convenzionali
> allora diviene accettabile che si possano avere varie Rossi Srl
> nella stessa città, posto che non risiederanno mai alla stessa
> via AND allo stesso numero civico AND allo stesso interno..
> Se poi non ci accontenta di ciò dovranno desumersi PK da
> elementi ASSOLUTAMENTE UNIVOCI quali il CF, la
> partita IVA per le persone fisiche e le aziende ovvero i codici
> di prodotto per le merci, etc.
> Sarebbero queste le scoperte di Codd, Boyce & C.?
no dai però... non offendiamo i teorici ...
alla fine mangiamo anche grazie ai loro studi!!!
>
> Bruno
Ciao,
Max


title: esame su access all'università

text:
"Massimo Piubelli" <massim...@accessgroup.it.invalid> wrote in message
news:etn40l$6u1$1...@tdi.cu.mi.it...
[...]
Allora, partiamo dalla mia personale considerazione.
1) Non si può sperare di far funzionare bene un database se non previa una
corretta progettazione/normalizzazione della base dati.
2) Per fare quanto previsto al punto 1, si deve conoscere la base della
normalizzazione (io ai miei corsi ci dedico sempre diverso tempo) poi si può
spiegarla in termini "universitari", oppure in termini "volgari/semplici", i
primi sicuramente più corretti e formali, i secondi molto probabilmente più
comprensibili ai più
3) Non presumo esista un modello univoco, o una regola valida per tutto.
Infatti qui avete giustamente parlato di CF / PIVA ecc... ma molto spesso si
usa invece un IDCliente, il perchè IMHO è semplice, se è vero che la P.iva è
il campo PK "candidato" in quanto se penso a future evoluzioni extra italia,
ciò non è più vero...
==================================
A ben pensarci, anzi a ben ripensarci senza farsi distrarre da astratte
elucubrazioni, il campo AutoNumber IDCliente è l'unico valido.
Qui non sbagli l'inserimento come puoi fare con l'altrettanto
univoco PIVA.
Bisognerebbe altresì non essere ossessionati dalle considerazioni,
a mio avviso molto più teoriche che pratiche, delle ambiguità
derivanti da possibili duplicazioni di dati.
=====================================
> Se può essere sufficiente normalizzare con criteri convenzionali
> allora diviene accettabile che si possano avere varie Rossi Srl
> nella stessa città, posto che non risiederanno mai alla stessa
> via AND allo stesso numero civico AND allo stesso interno..
> Se poi non ci accontenta di ciò dovranno desumersi PK da
> elementi ASSOLUTAMENTE UNIVOCI quali il CF, la
> partita IVA per le persone fisiche e le aziende ovvero i codici
> di prodotto per le merci, etc.
> Sarebbero queste le scoperte di Codd, Boyce & C.?
no dai però... non offendiamo i teorici ...
alla fine mangiamo anche grazie ai loro studi!!!
==================================
E loro non mangiano anche grazie ai nostri sforzi?
Bruno


title: esame su access all'università

text:
"VT @ home" <
V...@home.it
> wrote in message
news:md6tv2tg700ojp6pf...@4ax.com...
> Scolastiche ?!?!?!?!?
> La banca di appoggio di un cliente è qualcosa di s-c-o-l-a-s-t-i-c-o ?
Scolastico mon amì, scolastico per quanto attiene alla dissertazione
ABI, CAB, atomi, etc.
Sapresti farmi un altro esempio?
> E le anomalie dell'esempio che ho presentato sono qualcosa di accettabile
> ?!?!?!?!?
> E se qualcuno registra nella relazione cliente in DexBanca una volta
> "Banca Toscana" ed un''altra volta "B.T." ? !?!?!?
E se qualcuno sbaglia a inserire ABI, CAB , etc?
Fino a che punto val la pena inserire meccanismi di controllo
dovendo necessariamente prevedere il controllo sui dati
che ti servono a controllare altri dati?
>>dovranno assumersi combinazioni
>>AND di tanti indicatori quanti ne sono necessari per la determinazione
>>di combinazioni sicuramente univoche.
>
> Tu confondi "tabella normalizzata" con tabella dotata di chiave
> sicuramente univoca ...
Può darsi, ancora non ho capito cosa s'intenda per "normalizzazione".
>>Ma dimmi, in tutta sincerità, hai mai progettato una tabella Clienti
>>contenente tutte le precauzioni atte ad evitare la menzionate ambiguità
>>afferenti Banca, Agenzia, CAB etc?
>
> Ovviamente sì.
> E proprio perchè mi voglio bene e voglio evitare lavori erculei di
> riallineamento di dati registrati in maniera
> incongrua a causa della anomalie derivanti da un'errata/trasandata
> progettazione.
>
>>E se sì dimmi ancora, il tutto non era ugualmente fattibile pur senza
>>conoscere le teorie BCNF, xNF, etc?
>
> Probabilmente sì, ma senza garanzia di potere verificare in maniera
> rigorosa ed inequivocabile l'esattezza delle scelte
> fatte.
Bene, lasciami allora pensare di appartenere alla schiera dei
"probabilmente sì".
È stato un piacere conversare con te.
Abbiamo opinioni diverse ma hai aperto una breccia nel muro
delle mie certezze. La qual cosa è sempre un fatto positivo.
Bruno


title: esame su access all'università

text:
Bruno Campanini wrote:
> A ben pensarci, anzi a ben ripensarci senza farsi distrarre da
> astratte elucubrazioni, il campo AutoNumber IDCliente è l'unico
> valido.
Ripeto, ogni realtà ha le sue chiavi primarie candidate...
> Qui non sbagli l'inserimento come puoi fare con l'altrettanto
> univoco PIVA.
No, ma ad esempio il contatore o autonumber che si voglia ha anche contro-indicazioni...
quindi resta valida la teoria di Massimo Piubelli numero 1.
dipende dalla situazione
> Bisognerebbe altresì non essere ossessionati dalle considerazioni,
> a mio avviso molto più teoriche che pratiche, delle ambiguità
> derivanti da possibili duplicazioni di dati.
La considerazione teorica studia il modello, ovvero con quella analizzi il problema "sulla carta".
Denormalizzare un DB è possibile in qualsiasi momento, senza grossa difficoltà.
Prendere un db denormalizzato, e portarlo ad esempio in 3FN... beh... non è cosa da poco molte volte.
> E loro non mangiano anche grazie ai nostri sforzi?
mah... penso che non si facciano venire nuove idee...
siamo noi che usiamo "gratis" le loro
> Bruno
Ciao,
Max


title: esame su access all'università

author: Simone Calligaris

text:
"Massimo Piubelli" <
> A ben pensarci, anzi a ben ripensarci senza farsi distrarre da
> astratte elucubrazioni, il campo AutoNumber IDCliente è l'unico
> valido.
Ripeto, ogni realtà ha le sue chiavi primarie candidate...
No, ma ad esempio il contatore o autonumber che si voglia ha anche
contro-indicazioni...
quindi resta valida la teoria di Massimo Piubelli numero 1.
dipende dalla situazione
----------------------------------------------------------------------------
---
Sia chiaro, non voglio rinfocolare un simile Flame tirando in ballo gli
identity/autonumbers/contatori...
Però ho scoperto, nel corso del tempo, che molti detrattori 'teorici' dei
suddetti, nelle rispettive applicazioni li usano eccome  ;-)
E' pacifico che in una tabella contenente "Anagrafiche pagamenti" la cosa
migliore è usare il classico codice alfanumerico come chiave primaria...
Ma quando si tratta di normalizzare tabelle contenenti movimentazioni
(Classica, ad ex., Testata Bolla/Righe Bolla) è meglio affidarsi ai
"contatori" che aggrapparsi a pesanti chiavi multicampo _che poi dovranno
tirare in ballo la Data/Ora di sistema_
Saluti


title: esame su access all'università

text:
Simone Calligaris wrote:
> Sia chiaro, non voglio rinfocolare un simile Flame tirando in ballo
> gli identity/autonumbers/contatori...
> Però ho scoperto, nel corso del tempo, che molti detrattori 'teorici'
> dei suddetti, nelle rispettive applicazioni li usano eccome  ;-)
Mi sa che mi sono spiegato male...
Il mio era proprio una nota sull'uso del campo "contatore".
Sempre più spesso preferisco gestire un ID magari ma non autoincrementale...
Poi sono pienamente d'accordo in ordini questo mi va bene, in dettaglio, la PK della tabella è un contatore ;-)
> Saluti
Ciao,
Max


title: OT EXCELL CONVERSIONE EURO

author: Dott. MONTI

text:
ho un file in excell formato da diversi fogli, su ogni foglio ho una serie
di importi in lire.
Dovrei convertirli in euro.
Pensavo ad un comando in excell a livello di visualbasic che mi fa questo:
apri foglio A seleziona colonna da b2 a b40 dividi tutto per 1936,27 poi
apri  foglio B seleziona colonna da b2 a b40 dividi tutto per 1936,27
ecc...e magari, giá che ci siamo cambiami il formato e fammelo diventare con
due decimali
la teoria c'é, é la pratica che manca.....
Ringrazio anticipatamente per chi mi fornirá la risposta :-)
Paolo


title: OT EXCELL CONVERSIONE EURO

author: Riccardo

text:
Dott. MONTI <
monti...@dnet.it
> wrote in message
a3mti4$3gp$1...@serv1.iunet.it...

________________-
prova con qualcosa del genere (sotto excel)
Dim cella
For Each cella In Worksheets("Foglio A").Range("b2:b40")
    cella.Value = Format(cella.Value / 1936.27, "#,##0.00")
Next cella
e così anche per gli altri fogli.
ciao Riccardo


title: OT EXCELL CONVERSIONE EURO

author: asukuo

text:
Dott. MONTI <
monti...@dnet.it
> wrote in message
a3mti4$3gp$1...@serv1.iunet.it...

Creare un Pulsante di Comando a cui corrisponde il seguente Codice:
Private Sub CommandButton1_Click()
  Dim x As Integer            ' dichiaro variabile righe interessate
all'operazione
Sheets(Array("a", "b", "c").Select        ' nomi dei fogli di lavoro
  Range("b2:b40").Select                    ' seleziona celle interessate
  Selection.NumberFormat = "#,##0.00"    'eventualmente inserire simbolo
Euro
For x = 2 To 40                 ' cicliamo le righe interessate
  Cells(x, 2).Select              ' seleziona cella; inizialmente b2 quindi
b3,b4:b40
  Selection = Selection / 1936.27           ' conversione ad euro
Next x                                                  ' riga successiva
End Sub
Saluti.
Gianni


title: OT EXCELL CONVERSIONE EURO

author: Droopy

text:
"Dott. MONTI" <
monti...@dnet.it
> ha scritto nel messaggio
> ho un file in excell formato da diversi fogli, su ogni foglio ho una serie
> di importi in lire.
>
> Dovrei convertirli in euro.
Io ho fatto cosi', associ questa macro a un tasto (control E), la macro
funziona sulle celle che hai evidenziato.
Per non convertire due volte, i valori che converte li colora di blu.
Sub EuroConvert()
'
' EuroConvert Macro
' Macro registrata il 29/01/2002 da Duccio
'
risposta = MsgBox("Vuoi convertire i valori evidenziati in Euro?", vbYesNo)
If risposta <> vbYes Then Exit Sub
For Each cell In Selection
     cell.Value = cell.Value / 1936.27
     cell.Font.Color = RGB(0, 0, 255)
Next cell
Application.CutCopyMode = False
End Sub


author: Omar Carrara

text:
E' possibile "trasformare" una stringa in riferimento ad un oggetto?
(all'incirca allo stesso modo in cui converto un integer in un double - se
l'esempio non calza, ignoratelo :) )
Mi spiego meglio.
Un una maschera (che chiameremo MascheraDUE), ho un combo la cui column(1)
contiene una stringa, del tipo:
me.combo.column(1) = "Forms![MascheraUno]![NomeControllo]"
(questo testo lo scrivo a mano nella tabella che origina i dati del combo)
dove NomeControllo č il nome di un controllo della MascheraUNO, la quale č
indipendente dalla MascheraDUE.
Tale controllo, nella MascheraUNO mostra la parola "Rosso".
Ora, se nel codice della MascheraDUE scrivo:
msgbox Forms![MascheraUNO]![NomeControllo]
nel msgbox appare:
Rosso
Ma se scrivo:
msgbox me.combo.column(1)
nel msgbox appare:
Forms![MascheraUno]![NomeControllo]
La cosa non  mi stupisce, perchč il codice si comporta correttamente, in
quanto "ritorna" il valore contenuto nel campo della tabella cosě associata
al combo. Essendo una stringa, ritorna la stringa sotto forma di semplice
testo.
Ma se io avessi bisogno di far apparire "Rosso" nel msgbox, utilizzando
quello che mi passa il combo, come posso fare?
Posso scrivere qualcosa del tipo:
msgbox f(me.combo.column(1)), dove f() č un codice, una funzione di access o
simile, che mi trasforma la stringa che mi passa il combo in un riferimento
al controllo?
Attenzione:
il codice che descrive il riferimento č esatto (l'ho provato), ed esso č
assoluto, nel senso che da qualsiasi parte dell'applicazione io scrivo:
msgbox Forms![MascheraUNO]![NomeControllo]
nel msgbox appare:
Rosso.
Il codice deve lavorare cosě, in quanto con questo metodo devo "pescare" il
valore di vari controlli posti su maschere  e/o sottomaschere che non sempre
hanno gerarchia stretta (maschera/sottomaschera) tra loro, ma spesso sono
indipendenti.
Spero di essermi spiegato correttamente; in caso contrario, fatemelo sapere.
Grazie in anticipo.
Omar.


author: MegaMax

text:
"Omar Carrara" <
om...@spidernet.it
> ha scritto nel messaggio
news:3UUS6.3835$%m1.1...@news.infostrada.it...
> E' possibile "trasformare" una stringa in riferimento ad un oggetto?
> (all'incirca allo stesso modo in cui converto un integer in un double - se
> l'esempio non calza, ignoratelo :) )
>
> Mi spiego meglio.
>
> Un una maschera (che chiameremo MascheraDUE), ho un combo la cui column(1)
> contiene una stringa, del tipo:
> me.combo.column(1) = "Forms![MascheraUno]![NomeControllo]"
> (questo testo lo scrivo a mano nella tabella che origina i dati del combo)
> dove NomeControllo č il nome di un controllo della MascheraUNO, la quale č
> indipendente dalla MascheraDUE.
> Tale controllo, nella MascheraUNO mostra la parola "Rosso".
>
> Ora, se nel codice della MascheraDUE scrivo:
> msgbox Forms![MascheraUNO]![NomeControllo]
> nel msgbox appare:
> Rosso
>
> Ma se scrivo:
> msgbox me.combo.column(1)
> nel msgbox appare:
> Forms![MascheraUno]![NomeControllo]
devi farti ua funzione che scompone la tua stringa nelle 3 pari-> "forms" -
"MascheraUno" - "Nomecontrollo"
e poi puoi scrivere
msgbox Forms(NomeMaschera).Controls(Nomecontrollo)
dovrtebbe funzionare
Max


text:
Omar Carrara <
om...@spidernet.it
> wrote in message
3UUS6.3835$%m1.1...@news.infostrada.it...
> E' possibile "trasformare" una stringa in riferimento ad un oggetto?
> (all'incirca allo stesso modo in cui converto un integer in un double - se
> l'esempio non calza, ignoratelo :) )
>
> Mi spiego meglio.
>
> Un una maschera (che chiameremo MascheraDUE), ho un combo la cui column(1)
> contiene una stringa, del tipo:
> me.combo.column(1) = "Forms![MascheraUno]![NomeControllo]"
> (questo testo lo scrivo a mano nella tabella che origina i dati del combo)
> dove NomeControllo è il nome di un controllo della MascheraUNO, la quale è
> indipendente dalla MascheraDUE.
> Tale controllo, nella MascheraUNO mostra la parola "Rosso".
>
> Ora, se nel codice della MascheraDUE scrivo:
> msgbox Forms![MascheraUNO]![NomeControllo]
> nel msgbox appare:
> Rosso
>
> Ma se scrivo:
> msgbox me.combo.column(1)
> nel msgbox appare:
> Forms![MascheraUno]![NomeControllo]
E come per magilla c'è una funzione che fa al caso tuo ed è la EVAL.
Quindi
msgbox eval(me.combo.column(1))
Antonio


title: E' possibile "trasformare" una stringa in riferimento ad un oggetto?

text:
Antonio Biso <
ch...@etruria.net
> wrote in message
aw3T6.5519$%m1.2...@news.infostrada.it...

Grazie del consiglio, Antonio.
Tutto funziona correttamente.
A dire il vero mi era sembrato di aver provato Eval(), ma probabilmente
sbagliavo a scrivere la stringa nella tabella del combo.
Col tuo consiglio ho riprovato.
Grazie ancora.
Omar
>


title: Info utile: ADO ed Access Data Project (ADP)

text:
Sto facendo la mia prima esperienza con ADO ed ADP, ho scoperto che esiste
il seguente oggetto:
application.CurrentProject.AccessConnection
L'help in linea non ne parla, tuttavia dal seguente articolo
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q281998
si evince che è la connesisone ADO che usa access per collegarsi ad SQL
Server; e la si può usare anche per eseguere le proprie chiamate ADO.
Inoltre usando
application.CurrentProject.AccessConnection.ConnectionString
si accede alla stringa di connessione, con tanto di nome utente e password
(in chiaro).
Spero che questa info possa servire a qualcuno.
Ciao, Max
P.S.: io vedo la mia password in chiaro, ma non so se questo è legato al
fatto che gli ho detto di salvarla (nelle proprietà di connessione dell'ADP)


author: Sergio MAZZA

text:
"MegaMax" <
aggggf...@sssss.com
> ha scritto nel messaggio
news:adfqmk$1j1$1...@newsreader.mailgate.org...

Buono a sapersi;
Ciao.
--
Sergio MAZZA


text:
Aggiungo anche
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q281784
che parla delle differenze tra la proprietą   Connection   ed
AcessConnection
ciao, max


author: Massi

text:
Ciao a tutti,
ho utilizzato "Aggiungere <Tutti> nell'elenco di una casella combinata non
associata." di Roberto, trovata nel sito comune.
L'elenco dei valori ottenuti non sono perņ ordinati in ordine alfabetico
come invece io vorrei, ossia:
<Tutti>
Anna
Carlo
Luca
Mario
Walter
C'č qualcuno che mi puņ aiutare?
grazie


author: Roberto dalla campagna

text:
"Massi" <
msign...@calearotlc.com
> ha scritto nel messaggio
news:cgd628$cv3$1...@fata.cs.interbusiness.it...
> Ciao a tutti,
> ho utilizzato "Aggiungere <Tutti> nell'elenco di una casella combinata non
> associata." di Roberto, trovata nel sito comune.
> L'elenco dei valori ottenuti non sono però ordinati in ordine alfabetico
> come invece io vorrei, ossia:
>
> <Tutti>
> Anna
> Carlo
> Luca
> Mario
> Walter
>
> C'è qualcuno che mi può aiutare?
> grazie
Per darti una risposta risolutiva dovresti postare la query unione che stai
usando come origine riga della casella combinata e dirci anche quante
colonne ha tale colonna combinata.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
> > Ciao a tutti,
> > ho utilizzato "Aggiungere <Tutti> nell'elenco di una casella combinata
non
> > associata." di Roberto, trovata nel sito comune.
> > L'elenco dei valori ottenuti non sono però ordinati in ordine alfabetico
> > come invece io vorrei, ossia:
> > <Tutti>
> > Anna
> > Carlo
> > Luca
> > Mario
> > Walter
> Per darti una risposta risolutiva dovresti postare la query unione che
stai
> usando come origine riga della casella combinata e dirci anche quante
> colonne ha tale colonna combinata.
>
> --
> Roberto
I dati li prelevo dalla query qryClienti della quale, come puoi sotto
vedere, utilizzo i campi IDCliente e Nome.
Tale query avrebbe già un ordinamento crescente per Nome, ma tale
ordinamento non lo ritrovo nella casella combinata...
ORIGINE RIGA della casella combinata:
select 0 as IDCliente, "<Tutti>" as Descrizione  FROM qryClienti    UNION
SELECT qryClienti.IDCliente, qryClienti.Nome  FROM qryClienti;
La casella combinata è a due colonne: la seconda è associata e la prima ha
lunghezza 0 cm.
Grazie per l'interessamento.
Ciao,
Massimo


title: <Tutti> nell'elenco di una casella combinata

author: MA

text:
"Massi" <
msign...@calearotlc.com
> ha scritto nel
messaggio
news:cgf9sj$j86$1...@carabinieri.cs.interbusiness.it...

as descrizione
>  FROM qryClienti;
>
> La casella combinata è a due colonne: la seconda
è associata e la prima ha
> lunghezza 0 cm.
>
> Grazie per l'interessamento.
> Ciao,
> Massimo
>
Ci deve essere identità anche come nome dei campi.
Ti consiglio vivamente di cambiare il nome
descrizione con uno diverso: descrizione è una
parola riservata
MAssimiliano


text:
> > > > Ciao a tutti, ho utilizzato "Aggiungere <Tutti> nell'elenco di una
casella combinata non
> > > > associata." di Roberto, trovata nel sito comune.
> > > > L'elenco dei valori ottenuti non sono però
> ordinati in ordine alfabetico come invece io vorrei, ossia:
> > > > <Tutti>
> > > > Anna
> > > > Carlo
> > > > Luca
> > > > Mario
> > > > Walter
> > ORIGINE RIGA della casella combinata:
> > select 0 as IDCliente, "<Tutti>" as Descrizione
> FROM qryClienti    UNION
> > SELECT qryClienti.IDCliente, qryClienti.Nome
> Ci deve essere identità anche come nome dei campi.
> Ti consiglio vivamente di cambiare il nome
> descrizione con uno diverso: descrizione è una
> parola riservata
> MAssimiliano
Non riesco a capire da chi sia riservata la parola "descrizione"
Comunque, ce l'ho fatta!!!:La tua osservazione mi ha dato lo stimolo di
capire bene cosa faccia realmente la query messa in ORIGINE RIGA e la parola
Descrizione non è altro che il nome della descrizione (ops, forse ora
capisco quello che intendevi, ma non credo ci siano problemi) del campo
della seconda colonna.
Aggiungendo alla fine della query un banale "ORDER BY Descrizione" ho
ottenuto ciò che volevo.
Grazie.
Massimo


text:
"Massi" <
msign...@calearotlc.com
> ha scritto nel
messaggio
news:cgfgue$5c0$1...@fata.cs.interbusiness.it...
> > > > > Ciao a tutti, ho utilizzato "Aggiungere
<Tutti> nell'elenco di una
> casella combinata non
> > > > > associata." di Roberto, trovata nel sito
comune.
> > > > > L'elenco dei valori ottenuti non sono
perņ
> > ordinati in ordine alfabetico come invece io
vorrei, ossia:
> > > > > <Tutti>
> > > > > Anna
> > > > > Carlo
> > > > > Luca
> > > > > Mario
> > > > > Walter
>
> > > ORIGINE RIGA della casella combinata:
> > > select 0 as IDCliente, "<Tutti>" as
Descrizione
> > FROM qryClienti    UNION
> > > SELECT qryClienti.IDCliente, qryClienti.Nome
>
> > Ci deve essere identitą anche come nome dei
campi.
> > Ti consiglio vivamente di cambiare il nome
> > descrizione con uno diverso: descrizione č una
> > parola riservata
> > MAssimiliano
>
> Non riesco a capire da chi sia riservata la
parola "descrizione"
> Comunque, ce l'ho fatta!!!:La tua osservazione
mi ha dato lo stimolo di
> capire bene cosa faccia realmente la query messa
in ORIGINE RIGA e la parola
> Descrizione non č altro che il nome della
descrizione (ops, forse ora
> capisco quello che intendevi, ma non credo ci
siano problemi) del campo
> della seconda colonna.
> Aggiungendo alla fine della query un banale
"ORDER BY Descrizione" ho
> ottenuto ciņ che volevo.
>
> Grazie.
> Massimo
Non stralunare se ti comparirą una imputbox che ti
chiede description???
MAssimiliano


text:
> > > Ci deve essere identità anche come nome dei
> campi.
> > > Ti consiglio vivamente di cambiare il nome
> > > descrizione con uno diverso: descrizione è una
> > > parola riservata
> > > MAssimiliano
> >
> > Non riesco a capire da chi sia riservata la
> parola "descrizione"
> > Comunque, ce l'ho fatta!!!:La tua osservazione
> mi ha dato lo stimolo di
> > capire bene cosa faccia realmente la query messa
> in ORIGINE RIGA e la parola
> > Descrizione non è altro che il nome della
> descrizione (ops, forse ora
> > capisco quello che intendevi, ma non credo ci
> siano problemi) del campo
> > della seconda colonna.
> > Aggiungendo alla fine della query un banale
> "ORDER BY Descrizione" ho
> > ottenuto ciò che volevo.
> Non stralunare se ti comparirà una imputbox che ti
> chiede description???
> MAssimiliano
Credimi, voglio solo cercare di capire in quanto non sono per nulla esperto
di Access.
Domanda: secondo te ci sono problemi se in una tabella chiamo un campo
"Descrizione"?
Massimo


text:
"Massi" <
msign...@calearotlc.com
> ha scritto nel
messaggio
news:cgfk7h$ouq$1...@balena.cs.interbusiness.it...

Ti ripeto sì.
E ci sono una lista di nomi riservati da evitare
come
data
form
from
valore
etc..
MAssimiliano


author: Alberto S.

text:
On Tue, 24 Aug 2004 16:57:24 +0200, "MA" <
m...@accessgroup.it
> wrote:
[cut]
>Ti ripeto sì.
>E ci sono una lista di nomi riservati da evitare
>come
>data
>form
>from
>valore
>etc..
>MAssimiliano
l'ultima non la sapevo ...
--
Alberto
No alle guerre


text:
> > Credimi, voglio solo cercare di capire in quanto
> non sono per nulla esperto
> > di Access.
> > Domanda: secondo te ci sono problemi se in una
> tabella chiamo un campo
> > "Descrizione"?
> > Massimo
> Ti ripeto sì.
> E ci sono una lista di nomi riservati da evitare
> come
> data
> form
> from
> valore
> etc..
> MAssimiliano
ok, mi hai convinto.
Grazie,
ciao


text:
"Alberto S." <
sartori.SPA...@tin.it
> ha
scritto nel messaggio
news:j45ni0t65jsca3rmg...@4ax.com...
> On Tue, 24 Aug 2004 16:57:24 +0200, "MA"
<
m...@accessgroup.it
> wrote:
>
> [cut]
>
> >Ti ripeto sì.
> >E ci sono una lista di nomi riservati da
evitare
> >come
> >data
> >form
> >from
> >valore
> >etc..
> >MAssimiliano
>
> l'ultima non la sapevo ...
A questo servono i NG
MAssimialiano


text:
"Massi" <
msign...@calearotlc.com
> ha scritto nel messaggio
news:cgf9sj$j86$1...@carabinieri.cs.interbusiness.it...

Se non ho capito male sei in buone mani e non dovrebbe più servirti la mia
risposta. :)



text:


> Se non ho capito male sei in buone mani e non dovrebbe più servirti la mia
> risposta. :)
> --
> Roberto
Con un bel NG di questo tipo è difficile non avere la risposta e l'aiuto
richiesto.
Il mio rammarico è quello si poterlo seguire solo saltuariamente in quanto
al lavoro ho incarichi che spesso non hanno nulla a che fare con Access.
Quella volta però che devo fare qualcosa con i database, so che il supporto
del NG non manca mai e ciò che vi si può trovare è una fonte unica e
inesauribile.
Grazie quindi a chi pone i quesiti, ma sopratutto a chi da (o prova a dare)
le soluzioni.
Ciao ciao
Massimo


title: conoscere indirizzo email

author: io

text:
Devo inviare una email "per conoscenza" all'utente che sta utilizzando
il programma.
E' possibile sapere l'ndirizzo email dell'utente, in modo ta copiarlo
nella casella CC ?
Grazie


title: conoscere indirizzo email

text:
"io" <
7934i...@mynewsgate.net
> ha scritto nel messaggio news:200511041...@mynewsgate.net...

(se fosse possibile) Bisognerebbe spere dove č memorizzato l'indirizzo; non fai prima a chiederglielo tu (leggi: maschera popup di
avvio) memorizzandolo in una tabella (magari chiamata AnagraficaCliente)?
Ciao.
--
Sergio MAZZA


title: conoscere indirizzo email

author: Ivan

text:
> > Devo inviare una email "per conoscenza" all'utente che sta utilizzando
> > il programma.
> > E' possibile sapere l'ndirizzo email dell'utente, in modo ta copiarlo
> > nella casella CC ?
> > Grazie
>
>
> (se fosse possibile) Bisognerebbe spere dove è memorizzato l'indirizzo;
non fai prima a chiederglielo tu (leggi: maschera popup di
> avvio) memorizzandolo in una tabella (magari chiamata AnagraficaCliente)?
>
> Ciao.
>
> --
> Sergio MAZZA
Scusa mi sono spiegato male....
Ho creato un programma che in automatico invia una email al cliente
contenete il file con la copia del DDT  cartaceo creato. Ora per essere
sicuro che l'email venga inviata volevo inserire in  "copia per conoscenza"
l'indirizzo della persona che ha creato (ed inviato) il DDT.
Tieni presente che il programma lo stanno utilizzando una ventina di persone
in postazioni differenti.
Spero di essermi spiegato.
Grazie


title: conoscere indirizzo email

author: Alessandro Baraldi

text:
"Ivan" <
rib...@hotmail.com
> wrote in message
news:436baee7$
1...@x-privat.org
[CUT]
> Ho creato un programma che in automatico invia una email al cliente
> contenete il file con la copia del DDT  cartaceo creato. Ora per essere
> sicuro che l'email venga inviata volevo inserire in  "copia per conoscenza"
> l'indirizzo della persona che ha creato (ed inviato) il DDT.
> Tieni presente che il programma lo stanno utilizzando una ventina di persone
> in postazioni differenti.
>
> Spero di essermi spiegato.
>
> Grazie
Stai sbagliando modo di gestione.
Per essere sicuro che venga ricevuto, quello non č il metodo
migliore, con quello hai solo la certezza di averla inviata.
Servirebbe inserire il messaggio di conferma lettura(ed anche li
se non lo vuole inviare non arriva), cosa che perņ non
puoi gestire con SendMail.
Io per questo ho usato Winsock, ma immagino si possa impostare
anche con MAPI(anche se non ne sono certo), come impostabile
č la prioritą.
Saluti.
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: conoscere indirizzo email

text:
 [CUT]
>
> Stai sbagliando modo di gestione.
> Per essere sicuro che venga ricevuto, quello non è il metodo
> migliore, con quello hai solo la certezza di averla inviata.
>
> Servirebbe inserire il messaggio di conferma lettura(ed anche li
> se non lo vuole inviare non arriva), cosa che però non
> puoi gestire con SendMail.
>
> Io per questo ho usato Winsock, ma immagino si possa impostare
> anche con MAPI(anche se non ne sono certo), come impostabile
> è la priorità.
>
> Saluti.
> @Alex
>
Ma se volessi controllare almeno se è stata inviata è possibile conoscere
l'indirizzo email dell'impegato?
 Visto che ci sono mi  allargo .... Alcuni impiegati gestiscono + account
nell'outlook . Sarebbe possibile forzare l'invio dell'email con un account
specifico (anche se non è quello predefinito)?
Ho notato che i programmi di email non gestiscono il From (da).  Sbaglio ?


title: conoscere indirizzo email

text:
"Ivan" <
rib...@hotmail.com
> wrote in message
news:436be871$
1...@x-privat.org
>
>  [CUT]
> Ma se volessi controllare almeno se è stata inviata è possibile conoscere
> l'indirizzo email dell'impegato?
Se usi MAPI puoi verificare nella cartella SentItems, ma non credo si
possa
risalire al Sender.
>  Visto che ci sono mi  allargo .... Alcuni impiegati gestiscono + account
> nell'outlook . Sarebbe possibile forzare l'invio dell'email con un account
> specifico (anche se non è quello predefinito)?
> Ho notato che i programmi di email non gestiscono il From (da).  Sbaglio ?
A questo punto se gestisci tutto con MS_Outlook direi che il metodo
miglire per gestire l'invio è Automazione, li effettuando la gestione
dell'Account puoi fare quello che vuoi.
Questo richiede una buona dedizione al modello ad oggetti di
Outlook.
Ciao



title: Errore curioso

author: Luciano (DOC)

text:
Almeno per me:-)
Devo eliminare una directory, ovviamente per farlo devo prima controllare
che ci siano file dentro ed eventualmente cancellarli. Dopo di che, crearla
nuovamente e scriverci un file dentro (un mdb creato da codice).
Quindi ho fatto così:
pathappo = "c:\pippo"
If Dir(pathappo, vbDirectory) <> "" Then
    If Dir(pathappo & "\*.*") <> "" Then
        Kill (pathappo & "\*.*")
    End If
    RmDir (pathappo)
End If
MkDir (pathappo)
ecc. ecc.
Putroppo però mi da errore di accesso al file alla riga che cancella la
directory, ma se stoppo il codice e lo faccio ripartire, allora va tutto
bene.
Quindi sono stato costretto a modificare la routine in questo modo:
If Dir(pathappo & "\*.*") <> "" Then
        Kill (pathappo & "\*.*")
End If
If Dir(pathappo, vbDirectory) <> "" Then
    RmDir (pathappo)
End If
E l'errore non si presenta.
Non che mi cambi la vita, ma non capisco bene il perchè dell'errore, ho
anche provato a risalire di livello con chdir pensando che rimanesse
posizionato dentro la directory e non potesse eliminarla dal suo interno, ma
non è così.
Saluti.
Luciano


title: Errore curioso

author: antonio

text:
"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio
news:492adf8e$0$18156$4faf...@reader3.news.tin.it...
> Almeno per me:-)
> Devo eliminare una directory, ovviamente per farlo devo prima controllare
> che ci siano file dentro ed eventualmente cancellarli. Dopo di che,
> crearla
> nuovamente e scriverci un file dentro (un mdb creato da codice).
> Quindi ho fatto cosě:
>
> pathappo = "c:\pippo"
> If Dir(pathappo, vbDirectory) <> "" Then
>    If Dir(pathappo & "\*.*") <> "" Then
>        Kill (pathappo & "\*.*")
>    End If
>    RmDir (pathappo)
> End If
> MkDir (pathappo)
> ecc. ecc.
>
> Putroppo perň mi da errore di accesso al file alla riga che cancella la
> directory, ma se stoppo il codice e lo faccio ripartire, allora va tutto
> bene.
> Quindi sono stato costretto a modificare la routine in questo modo:
>
> If Dir(pathappo & "\*.*") <> "" Then
>        Kill (pathappo & "\*.*")
> End If
> If Dir(pathappo, vbDirectory) <> "" Then
>    RmDir (pathappo)
> End If
>
> E l'errore non si presenta.
> Non che mi cambi la vita, ma non capisco bene il perchč dell'errore, ho
> anche provato a risalire di livello con chdir pensando che rimanesse
> posizionato dentro la directory e non potesse eliminarla dal suo interno,
> ma
> non č cosě.
> Saluti.
>
> Luciano
>
Ma non č un po' tortuoso questo procedimento ?
Io sono abituato ad usare il seguente metodo:
on error goto giu1
mkdir "MiaCartella"
giu1:
on error goto giu2
kill "MiaCartella\*.*"
giu2:
on error goto 0
L'mkdir crea la cartella se non esiste, mentre il kill cancella gli
eventuali files presenti: alla fine, mi ritrovo con la cartella vuota, come
desideravo.
Ciao
Antonio


title: Errore curioso

author: Sam --

text:
On Mon, 24 Nov 2008 19:00:48 +0100, "antonio" <
anto...@tiscali.it
>
wrote:
>
>"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio
>news:492adf8e$0$18156$4faf...@reader3.news.tin.it...
>> Almeno per me:-)
>> Devo eliminare una directory, ovviamente per farlo devo prima controllare
>> che ci siano file dentro ed eventualmente cancellarli. Dopo di che,
>> crearla
>> nuovamente e scriverci un file dentro (un mdb creato da codice).
>> Quindi ho fatto così:
>>
>> pathappo = "c:\pippo"
>> If Dir(pathappo, vbDirectory) <> "" Then
>>    If Dir(pathappo & "\*.*") <> "" Then
>>        Kill (pathappo & "\*.*")
>>    End If
>>    RmDir (pathappo)
>> End If
>> MkDir (pathappo)
>> ecc. ecc.
>>
>> Putroppo però mi da errore di accesso al file alla riga che cancella la
>> directory, ma se stoppo il codice e lo faccio ripartire, allora va tutto
>> bene.
>> Quindi sono stato costretto a modificare la routine in questo modo:
>>
>> If Dir(pathappo & "\*.*") <> "" Then
>>        Kill (pathappo & "\*.*")
>> End If
>> If Dir(pathappo, vbDirectory) <> "" Then
>>    RmDir (pathappo)
>> End If
>>
>> E l'errore non si presenta.
>> Non che mi cambi la vita, ma non capisco bene il perchè dell'errore, ho
>> anche provato a risalire di livello con chdir pensando che rimanesse
>> posizionato dentro la directory e non potesse eliminarla dal suo interno,
>> ma
>> non è così.
>> Saluti.
>>
>> Luciano
>>
>Ma non è un po' tortuoso questo procedimento ?
>Io sono abituato ad usare il seguente metodo:
>on error goto giu1
>mkdir "MiaCartella"
>giu1:
>on error goto giu2
>kill "MiaCartella\*.*"
>giu2:
>on error goto 0
>L'mkdir crea la cartella se non esiste, mentre il kill cancella gli
>eventuali files presenti: alla fine, mi ritrovo con la cartella vuota, come
>desideravo.
>
>Ciao
>Antonio
>
scusa Antonio, ma usare le label degli errori è deprecato dal qbasic
in poi ......
ciao sam--


title: Errore curioso

text:
"Sam --" <
noe...@hotmail.com
> ha scritto nel messaggio
news:136ni4l7c2pfb0vd8...@4ax.com...

Ora non ho la possibilità di provare, ma forse è possibile usare "on error
goto next" così elimini la label che ti dà tanto fastidio. A proposito di
label, credo che il principio di evitare di usarle possa anche essere giusto
per rendere un programma più leggibile, ma se l'omissione della label fa
diventare la routine meno efficiente (in tutti i termini: leggibilità,
velocità, dimensione, etc.), beh, allora io continuerò a fare uso di goto e
label.
Ciao
Antonio
PS.: Una volta se cercavi di capire cosa doveva fare un programma scritto
non da te ma da un altro programmatore era un lavoro improbo proprio per
colpa dell'uso eccessivo e spesso inutile dei salti avanti e indietro che
faceva il programma. A volte succedeva che anche se lo avevi scritto tu
stesso, dopo un po' di tempo facevi fatica a capire l'algoritmo sottostante
a quel groviglio di istruzioni e routines messe quasi alla rinfusa... così i
nostri saggi predecessori hanno consigliato di utilizzare if... then... else
e togliere le label incasinatrici. Ma non credo che sia una regola da
prendere proprio alla lettera.


title: Errore curioso

text:
"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio
news:492adf8e$0$18156$4faf...@reader3.news.tin.it...

Ciao Luciano.
In effetti nelle specifiche della RmDir viene indicato che presenta un
errore se nella cartella da eliminare non è vuota.
Secondo me è un problema di "tempi di comunicazione" del S.O. dell'avvenuta
cancellazione del file dalla Kill, e quindi la disponibilità per RmDir di
cancellare la cartella...
Ciao.
--
Sergio MAZZA


title: Errore curioso

author: Marco Pizzamiglio

text:
Luciano (DOC) ha scritto:
> Almeno per me:-)
> Devo eliminare una directory, ovviamente per farlo devo prima controllare
> che ci siano file dentro ed eventualmente cancellarli. Dopo di che, crearla
> nuovamente e scriverci un file dentro (un mdb creato da codice).
[CUT]
Scusa la curiosità, ma perchè eliminare la directory per poi ricrearla con
lo stesso nome? Non ti basta svuotarla?
Ciao.
-Marco-
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Errore curioso

text:
"antonio" <
anto...@tiscali.it
> ha scritto nel messaggio
news:492aebd3$0$14496$5fc...@news.tiscali.it...
>
> Ma non č un po' tortuoso questo procedimento ?
> Io sono abituato ad usare il seguente metodo:
Punti di vista, a me pare tortuoso il tuo di metodo:-)
Innanzitutto evito le label ed i goto a meno di avere una pistola alla
tempia, inoltre non amo molto lavorare sugli errori, preferisco
intercettarli preventivamente se possibile. Ed in questo caso mi sembrava la
cosa piů logica.
Saluti.
Luciano


title: Errore curioso

text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:492baf19$0$11386$5fc...@news.tiscali.it...
>
> Secondo me č un problema di "tempi di comunicazione" del S.O.
> dell'avvenuta cancellazione del file dalla Kill, e quindi la disponibilitą
> per RmDir di cancellare la cartella...
Ho pensato anche quello, ma eseguendo il codice passo passo ed aspettando
qualche secondo prima di passare alla riga che cancella la directory il
problema persiste.
Saluti.
Luciano


title: Errore curioso

text:
"Marco Pizzamiglio" <
marco.pi...@gmail.com
> ha scritto nel messaggio
news:gggmoi$6p1$1...@news.newsland.it...
> Scusa la curiosità, ma perchè eliminare la directory per poi ricrearla con
> lo stesso nome? Non ti basta svuotarla?
E pure te ci'hai ragione...:-)
Resta il perchè dell'errore che ricevo.
Saluti.
Luciano


title: Errore curioso

text:
On Tue, 25 Nov 2008 08:19:50 +0100, "antonio" <
anto...@tiscali.it
>
wrote:

era solo un appunto scherzoso.
ciao sam--
PS:
il tuo suggerimento "On error Resume Next" per me è come cadere dalla
padella alla brace....


title: Errore curioso

author: 'Roccia' Max

text:
On 25 Nov, 12:44, "Luciano \(DOC\)" <luciano...@luciano.doc> wrote:
> Ho pensato anche quello, ma eseguendo il codice passo passo ed aspettando
> qualche secondo prima di passare alla riga che cancella la directory il
> problema persiste.
> Saluti.
Sospetto che c'entri qualcosa il fatto che chiamando la funzione dir,
questa restituisce i nomi file nella directory, uno per ogni
chiamata.
Da qualche parte deve esserci un oggetto non troppo dissimile da
filesystemobject.folder che viene creato alla prima chiamata di dir()
e cancellato solo alla chiamata successiva, quindi finche' l'oggetto
esiste, la directory e' bloccata...
Comunque io per smanettare coi file preferisco utilizzare
filesystemobject.
Ci sono dei metodi tipo FIleExists, FOlderExists e DeleteFOlder che
sembrano fare al caso tuo :D
cia'
Max


title: Errore curioso

author: geppo

text:
Ciao "Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio
news:6p26r0F...@mid.individual.net...
--cut---
> Resta il perchč dell'errore che ricevo.
> Saluti.
Veniamo al perchč.
La funzione "dir" in particolare  la chiamata effettuata per controllare
l'esistenza dei "files" ed eventualmente cancellarli funziona cosi:
if dir(pathappo&"\*.*"= <> "" then
   kill ...........
end if
Adesso dir() restituisce tutti i nomi dei file esistenti nella cartella
anche se cancellati con "Kill", dunque ne conviene che la cartella pippo č
occupata e da li eccezione.
Detto questo la soluzione č:
memorizzi dir(pathappo&"\*.*") in una variabile prima di controllare se
esiste la cartella, cosi la funzione "dir" viene resettata appunto nella
seconda chiamata:
pathappo = "c:\pippo"
str = Dir(pathappo & "\*.*")
If Dir(pathappo, vbDirectory) <> "" Then
    If str <> "" Then
        Kill (pathappo & "\*.*")
    End If
    RmDir (pathappo)
End If
MkDir (pathappo)
;-)
> Luciano
--
Ciao
Geppo


title: problema RecordSource

text:
Nel db che uso mi succede una cosa strana quando apro una maschera mi
visualizza  errore di run-time '2001' operazione prcedente annullata e il
codice si blocca su: Me.RecordSource = sql
Ho aperto lo stesso db salvato la settimana scorsa e funziona perfettamente,
ho copiato il codice la maschera il modulo che contiene delle funzioni
richiamate dalla maschera dal db funzionante a quello che da errore, ma
niente non vuole funzionare.
Prima di utilizzare il db salvato e aggiornarlo con i movimenti fatti vorrei
capire il perchè di questo errore
Grazie


title: problema RecordSource

author: ciroteo

text:

il perchè è difficile capirlo da queste sommarie indicazioni che ci
dai.
sicuramente non è rara l'ipotesi di corruzione del database.
prova magari a reimportare tutti gli oggetti in un nuovo db , compatta
ripristina e vedi se ancora non funziona.
Altra utile operazione da farsi è il suddividere i dati
dall'applicazione ... ma suppongo che questo sia già stato fatto ...


title: problema RecordSource

author: Karl Donaubauer

text:

Posta il codice che crea la stringa della tua variabile "sql" e scrivi
di quale tipo di dati sono i campi nella stringa.
Puo darsi che il problema è solo una piccolezza nel codice.
L'errore p.e. spesso accade se un tipo di dati non è trattato giusto
nella stringa SQL o nella stringa usi " ' " per riempire un campo testo
e recentemente per la prima volta si trovano apostrofi nei dati ecc.
--
HTH
Karl
*********
Access FAQ:
www.donkarl.com/it


title: problema RecordSource

text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:5lppkeF...@mid.individual.net...

Bravo Karl ci sei arrivato vicino il problema l'ho risolto e come molte
volte capita bisogna stare molto attenti alla struttura del db, infatti dopo
vari controlli in una tabella c'era una stringa vuota per cui l'sql andava
in tilt.Ho cancellato il record vuoto, e tutto ha ripreso a funzionare
perfettamente inoltre per ovviare a questo ho impostato il campo della
tabella in Richiesto=si in modo che l'utente non possa salvare un record con
il campo di riferimento vuoto
Un Saluto e grazie
Debora


title: 3.29 Come creare un controllo di ricerca

text:
Ciao!
Avrei bisogno di usare il controllo di ricerca descritto in sito comune al
3.29.
Però ho un problema: ho seguito le istruzioni, ma il sistema mi da un
errore di compilazione impossibile trovare il membro....
e mi evidenzia in giallo: Private Sub ricerca_KeyDown(KeyCode As Integer,
Shift As Integer)
e mi seleziona poco sotto:
            rst.FindNext
Scusate ma non sono molto esperto!
Cosa significa che chiavericerca è una variabile globale del modulo di
classe?
Grazie mille per l'aiuto
Filippo
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
"Filippo45" <
fili...@tiscali.it
> ha scritto nel messaggio
news:ddiase$ml3$1...@news.newsland.it...
> Ciao!
> Avrei bisogno di usare il controllo di ricerca descritto in sito comune al
> 3.29.
> Però ho un problema: ho seguito le istruzioni, ma il sistema mi da un
> errore di compilazione impossibile trovare il membro....
> e mi evidenzia in giallo: Private Sub ricerca_KeyDown(KeyCode As Integer,
> Shift As Integer)
>
> e mi seleziona poco sotto:
>             rst.FindNext
>
> Scusate ma non sono molto esperto!
> Cosa significa che chiavericerca è una variabile globale del modulo di
> classe?
> Grazie mille per l'aiuto
Il codice VBA pubblicato nella FAQ 3.29 fa riferimento alla libreria
Microsoft DAO quindi se usi una versione di Access successiva ad Access 97,
aggiungi ai riferimenti del database Microsoft DAO 3.6 Object Libreary.
Modifica anche il codice come segue:
Dim ChiaveRicerca As String
Private Sub Ricerca_Change()
   Dim rst As DAO.Recordset
   Dim strR As String
   strR = Me.Ricerca.Text
   If Not IsNull(Me!Ricerca.Text) Then
      Set rst = Me.RecordsetClone
      rst.FindFirst "DITTA like """ & ChiaveRicerca & Me!Ricerca.Text &
"*"""
      Me.Bookmark = rst.Bookmark
      rst.Close
      Set rst = Nothing
   End If
   Me!Ricerca = strR
   Me!Ricerca.SelStart = 255 'Len(Me!Ricerca.Text)
End Sub
Private Sub Ricerca_DblClick(Cancel As Integer)
   Select Case Me!Ricerca.SpecialEffect
   Case 1
      Me!Ricerca.SpecialEffect = 2
      ChiaveRicerca = "*"
      Me!Ricerca.ControlTipText = "Ricerca rapida per parte del campo"
   Case 2
      Me!Ricerca.SpecialEffect = 1
      ChiaveRicerca = ""
      Me!Ricerca.ControlTipText = "Ricerca rapida da inizio campo"
   Case Else
      MsgBox "Viene reimpostato l'aspetto della casella", vbExclamation,
"Errore"
      Me!Ricerca.SpecialEffect = 1
      ChiaveRicerca = ""
      Me!Ricerca.ControlTipText = "Ricerca rapida da inizio campo"
   End Select
End Sub
Private Sub Ricerca_KeyPress(KeyAscii As Integer)
   Dim rst As DAO.Recordset
   Dim str As String
   If KeyAscii = 13 Then
      If Not IsNull(Me!Ricerca.Text) Then
         Set rst = Me.RecordsetClone
         rst.FindNext "DITTA like """ & ChiaveRicerca & Me!Ricerca.Text &
"*"""
         If rst.NoMatch Then rst.FindFirst "DITTA like """ & ChiaveRicerca &
Me!Ricerca.Text & "*"""
         Me.Bookmark = rst.Bookmark
         rst.Close
         Set rst = Nothing
      End If
      Me!Ricerca.SetFocus
      Me!Ricerca.SelStart = 255
      KeyAscii = 0
   End If
End Sub
> Filippo
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


text:
Filippo45 ha scritto:
> Ciao!
> Avrei bisogno di usare il controllo di ricerca descritto in sito comune al
> 3.29.
> Però ho un problema: ho seguito le istruzioni, ma il sistema mi da un
> errore di compilazione impossibile trovare il membro....
> e mi evidenzia in giallo: Private Sub ricerca_KeyDown(KeyCode As Integer,
> Shift As Integer)
> e mi seleziona poco sotto:
>             rst.FindNext
> Scusate ma non sono molto esperto!
> Cosa significa che chiavericerca è una variabile globale del modulo di
> classe?
> Grazie mille per l'aiuto
> Filippo
Grazie mille, funziona!



title: Di nuovo su report stampa query

author: G&W

text:
Ringrazio Roberto da casa, per la dritta sulla stampa delle query, perň alla
fine non ho il risultato voluto. Quello che vorrei č poter stampare le due
query (Q_Versamenti e Q_Spedizioni) in modo tale che siano ordinate per data
crescente, e cioč se oggi ho un versamento e domani una spedizione sul
report dovrebbero essere stampati in sequenza e comunque solo per quei
clienti che hanno dei movimenti. Ci sto lavorando da un po', ma non riesco a
risolvere questo
problema. Se qualcuno fosse cosě gentile e mi potesse aiutare.Grazie


title: Di nuovo su report stampa query

author: Sergio MAZZA

text:
"G&W" <
walt...@tin.it
> ha scritto nel messaggio
news:hd6O8.41306$5i1.1...@news2.tin.it...
> Ringrazio Roberto da casa, per la dritta sulla stampa delle query, però
alla
> fine non ho il risultato voluto. Quello che vorrei è poter stampare le due
> query (Q_Versamenti e Q_Spedizioni) in modo tale che siano ordinate per
data
> crescente, e cioè se oggi ho un versamento e domani una spedizione sul
> report dovrebbero essere stampati in sequenza e comunque solo per quei
> clienti che hanno dei movimenti. Ci sto lavorando da un po', ma non riesco
a
> risolvere questo
> problema. Se qualcuno fosse così gentile e mi potesse aiutare.Grazie
>
La soluzione che ti ha suggerito Roberto è quella che ti avrei ri-proposto
io leggendo il tuo primo messaggio; se non hai ottenuto il risultato voluto
(senza spiegare il perché o il percome) dovrai dettagliare meglio il
problema...
Ciao.
--
Sergio MAZZA


title: Copia/Incolla con Runtime

author: Sandrobi

text:
Con la versione Runtime di Access come si pu� abilitare il Copia/Incolla con
il pulsante destro, o comunque con il mouse, invece di usare Ctrl+C e
Ctrl+V?
--
Ciao, Sandrobi


title: Copia/Incolla con Runtime

text:
Sandrobi wrote:
> Con la versione Runtime di Access come si pu� abilitare il
> Copia/Incolla con il pulsante destro, o comunque con il mouse,
> invece di usare Ctrl+C e Ctrl+V?
Puoi crearti un proprio menu di scelta rapida. Leggi:
http://groups.google.com/group/microsoft.public.it.office.access/msg/19f05bf2b50874f0
--
HTH
Karl
*********
Access FAQ:
www.donkarl.com/it


title: Aiuto vi prego super urgente

text:
Scusate probabilmente questa domanda sarà stata già fatta mille volte e mi
rendo conto che può essere anche delicata. Premetto di non essere un super
esperto di Vb anche se nel mio piccolo ho costruito delle applicazioni
funzionanti.
Come faccio a disattivare e riattivare il tasto shift all'apertura di un
database ?
Ho già guardato nel sito comune trovando sia un'applicazione che delle righe
di codice ma o sbaglio a fare qualcosa (inserirle nel db) o non so cosa ma a
me non funziona  o per lo meno non sono stato capace di farlo funzionare.
Mi potreste per favore aiutare ? Grazie mille. E' chiaro che devo anche poi
sapere come riattivarla per entrare a modificare io i dati o le strutture
del db.
Rispondetemi in privato per favore è molto urgente devo consegnare al mio
capo questo db domani !!!
Grazie mille
Poppy


title: Aiuto vi prego super urgente

author: Alessandro Cara

text:
Poppy1965 wrote:
se vuoi un aiuto superurgente mi sa che "devi" mettere un
oggetto piu' esplicativo e probabiolmente scordarti
la risposta privata
--
a.cara


title: Aiuto vi prego super urgente

author: Antonio Biso

text:
"Alessandro Cara" <
al...@blunet.it
> ha scritto nel messaggio
news:3D9B1029...@blunet.it...

Ho come la sensazione che ti eleggerò a mio delfino...
Antonio


title: Aiuto vi prego super urgente

author: Claudio

text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:m5Gm9.40119$Eu.9...@twister1.libero.it...
> Ho come la sensazione che ti eleggerò a mio delfino...
Ecco! Lo sapevo che prima o poi sarebbe successo! Un altro thread con i
pesci...
Claudio.


title: Aiuto vi prego super urgente

text:
Cioè siete tutti molto simpatici
se l'utilità dei newsgroup deve essere questa non capisco perchè questi
esistano sinceramente.
Non riesco neanche a capire cosa avete scritto in risposta tantomeno a cosa
vi riferite...
Comunque se questo vi fa divertire o Voi che possedete la Conoscenza, e Vi
permette di contiuare a trattare la gente in questo modo, continuate pure.
Certo è che la mia modestissima richiesta rimarrà così senza risposta.
Non so cosa ho sbagliato ma so che è la prima volta che chiedo aiuto in
questo newsgroup e sicuramente in futuro cercherò di rivolgere i miei
quesiti a gente più seria e disponibile di voi.
In ogni caso ringrazio tutti per l'interesse dimostratomi.
Se qualcuno vorrà darmi una mano può trovare sa come contattarmi.
Signoti si nasce non si diventa....
"Poppy1965" <
port...@tiscalinet.it
> ha scritto nel messaggio
news:anf1hr$h0r$1...@lacerta.tiscalinet.it...



title: Aiuto vi prego super urgente

text:
"Poppy1965" <
port...@tiscalinet.it
> ha scritto nel messaggio
news:anfece$pkp$1...@lacerta.tiscalinet.it...
> Cioč siete tutti molto simpatici
Forse se ti fossi degnato/a di verificare quali sono le norme di
comportamento del NG, non avresti scritto queste righe...
Antonio


title: Aiuto vi prego super urgente

text:
Sicuramente ma se voi spiritosoni vi foste degnati di almeno rispondere
senza prendermi per il c..o solo per divertirvi non ci sarebbe stato bisogno
di scrivere un bel niente.
Senza rancore
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:94Hm9.41024$e31.8...@twister2.libero.it...



title: Aiuto vi prego super urgente

author: Setec Astronomy

text:
"Poppy1965" <
port...@tiscalinet.it
> wrote in message
news:anf1hr$h0r$1...@lacerta.tiscalinet.it...
> Scusate probabilmente questa domanda sarà stata già fatta mille volte e mi
> rendo conto che può essere anche delicata. Premetto di non essere un super
> esperto di Vb anche se nel mio piccolo ho costruito delle applicazioni
> funzionanti.
>
> Come faccio a disattivare e riattivare il tasto shift all'apertura di un
> database ?
Cerca di sforzarti un po'
http://www.google.it/search?sourceid=navclient&hl=it&q=access+disable+shift+
key
Cerca AllowBypassKey nell'help di access.


title: Aiuto vi prego super urgente

text:
"Poppy1965" <
port...@tiscalinet.it
> ha scritto nel messaggio
news:anffrk$qi9$1...@lacerta.tiscalinet.it...
> Sicuramente ma se voi spiritosoni vi foste degnati di almeno rispondere
> senza prendermi per il c..o solo per divertirvi non ci sarebbe stato
bisogno
> di scrivere un bel niente.
>
> Senza rancore
Ecco!
E continuiamo pure a fare come cavolo ci pare e a non scrivere correttamente
DOPO il quoting!!!
Ho la sensazione che tu ancora non abbia capito nulla di quello che si sta
cercando di farti capire...
Ma forse ti sopravvalutiamo!
Antonio


title: Aiuto vi prego super urgente

author: MA

text:

Tutti noi sappiamo che ciò non sarà mai possibile....
i delfini soo animali molto intelligenti....
;-P
ciao MAssimiliano
--------------------------------
Inviato via
http://usenet.libero.it


title: Aiuto vi prego super urgente

text:
Poppy1965 wrote:
>
Carissimo papaverino
Se dai un occhiata sul NG vedrai che i partecipanti (me compreso)
fra una celia e l'altra rispondono e risolvono problemi anche celermente
Chiarisco quanto sulla mia precedente
1) E' norma che l'oggetto sia esplicativo
   "Aiuto vi prego super urgente" non lo e'
   "Disattivazione/attivazione del tasto shift" lo sarebbe
2) Cosa preferisci "Nessuna risposta" o
   "Guarda se metti un oggetto esplicativo otterrai una risposta"?
3) Scrivere dopo il quoting, cioe' dopo il messaggio a cui si
   risponde, oltre a essere piu' funzionale e' "anche" atto di
   cortesia
4) Quando si risponde e' buona norma tagliare (cut) le parti del
   messaggio che non sono di interesse questo ed altro
   e' presente sul sito comune del NG (
www.sitocomune.com
) in
   cui potresti trovare anche risposta alla tua domanda
5) con simpatia
--
a.cara


title: Errore: Formato di database 'G:\...\Ele_be.mdb' non riconosciuto

author: Lo

text:
Ciao a tutti,
mi capita una cosa molto strana.
Premetto che il programma ha funzionato senza problemi fino a pochi giorni fa, ora, senza fare alcune modifiche, ogni tanto non viene più riconosciuta la base dati.
Sul server G c'è la cartella che contiene la base dati Ele_be.mdb, su ogni singolo pc il programma Ele.mde i cui dati puntano sul server.
Ogni tanto lavorando viene fuori una maschera con l'errore in oggetto.
Quindi faccio un compatta e ripristina della base dati dopo averla copiata perchè l'originale non si apre a meno che non faccia un riavvio del server (rimane sempre aperto anche l'ldb), e poi tutto torna di nuovo a funzionare fino a ribloccarsi magari qualche ora dopo...
Si blocca creando un ordine ma non sempre nella stessa posizione, una volta si è bloccato in una maschera in sola visualizzazione, un po' funziona e qualche volta si blocca, risimuliamo le operazioni fatte prima dell'ultimo blocco e non si blocca più... poi di nuovo...
Non so più cosa pensare e dove possa essere il problema.
Ho pure creato un nuovo be importando le tabelle da quello che si blocca ma nulla non riesco a venirne a capo.

Potrebbe essere dovuto alla rete? Alla base dati? All'mde? All'office danneggiato sul pc (si blocca sempre dallo stesso pc, solo una volta su uno diverso)... o cos'altro?
Quali altri tentativi posso fare per risolvere il problema?
Durante il ripristino mi dice di verificare eventuali errori di incollamento ma non ce ne sono mai...

Qualcuno ha una vaga idea di cosa può essere successo?
Un ringraziamento infinito a chi possa darmi qualche indicazione!


text:
Le tabelle le scolleghi e ricolleghi ad ogni apertura del client...? ( se la risposta è no... magari fallo...)
Hai apportato qualche modifica anche minimale a qualche tabella senza rifare il link...?

@Alex


text:
Il giorno lunedì 15 ottobre 2018 20:33:40 UTC+2, @Alex ha scritto:
> Le tabelle le scolleghi e ricolleghi ad ogni apertura del client...? ( se la risposta è no... magari fallo...)

Cosa intendi dire? Le tabelle sono collegate alla base dati da sempre, come faccio a ricollegarle ad ogni apertura? usano un mde...

> Hai apportato qualche modifica anche minimale a qualche tabella senza rifare il link...?

L'unica modifica che è stata fatta (ma non ricordo se prima del problema o subito dopo) è stato aggiungere in una tabella un campo RigOrd Si/No...
Dovrei riprovare a ricollegare questa tabella? Lo faccio ma mi sembra assurdo... Mi è già capitato altre volte di aggiungere campi ad un tabella già esistente e non le ho mai ricollegate...
Comunque faccio anche sta prova... Grazie delle info ;-)

>
> @Alex


text:
Puoi fare come meglio ritieni chiaramente ma le tabelle Collegate si cancellano alla chiusura e si ricreano all'apertura da codice...
Questo fa sì che le eventuali modifiche del server vengano sempre aggiornare ma non solo...
Il Be(server) immagino abbia una PWD ...
Ecco allora prova a collegare un MDB NUOVO non al server ma alle tabelle del tuo client... e vedi se serve la per per fare un editing di.qualsiasi dato non controllato e non tracciabile...

Insomma serve avere un occhio più ampio.

@Alex


text:

Sarà che sono le 21, sarà che sono imbra, non ho capito molto... Non sapevo che le tabelle collegate si dovessero sempre eliminare alla chiusura e ricollegare all'apertura... non saprei nemmeno come fare...
Domani comunque provo ricreando un nuovo mdb, se non ho capito male, e importo le maschere del "vecchio", rifaccio i collegamenti alle tabelle e ... scusa l'ignoranza... ma come faccio a fare un editing?
PWD intendi password? Non ci sono password nella base dati...


author: GiorgioDaPrato

text:
> Non so più cosa pensare e dove possa essere il problema.
> Ho pure creato un nuovo be importando le tabelle da quello che si blocca ma nulla non riesco a venirne a capo.
>
> Potrebbe essere dovuto alla rete? Alla base dati? All'mde? All'office danneggiato sul pc (si blocca sempre dallo stesso pc, solo una volta su uno diverso)... o cos'altro?
> Quali altri tentativi posso fare per risolvere il problema?
> Durante il ripristino mi dice di verificare eventuali errori di incollamento ma non ce ne sono mai...
>
> Qualcuno ha una vaga idea di cosa può essere successo?
> Un ringraziamento infinito a chi possa darmi qualche indicazione!

aggiungo qualche mio rilievo personale

Premetto che questo è un argomento di mio (grande) interesse,
poiché eseguo procedure (modeste) SOLO con Access
(NON ho la preparazione necessaria per utilizzare un server sql)
e quindi cerco di seguire (e ricercare anche a ritroso nel tempo)
tutto quello che emerge riguardo alla corruzione del db.

Allora:
utilizzo Access 2000 e 2003 con Runtime 2007 (mde come FE),
Access 2000 e 2003 e 2013 con Runtime 2013 (qui accde come FE)
I PC hanno SO vari: Windows 7, 8, 10
Ci sono PC collegati via wifi
il BE è spesso posto su un "PC NORMALE" (NON su una macchina server)

Come detto le procedure sono modeste, ma essendo piuttosto significative,
vengono utilizzate anche su MOLTE postazioni
(POCHE postazioni in scrittura,
e un numero maggiore in lettura: stampe e consultazioni di sintesi su form),
e quindi riporto l'esperienza in cui ho avuto malfunzionamenti
(un paio di situazioni).

Aggiungo che NON sono in grado di valutare la stabilità
(la "risposta verso Access") della rete aziendale,
comunque ho riscontrato che i collegamenti via WiFi rispondono bene,
ma E' OVVIO che il montaggio della rete ha il suo peso.

Aggiungo che utilizzo UNA SOLA VERSIONE di Runtime
(talvolta ne ho trovate di differenti già installate)

Aggiungo che queste versioni di Access sono, di fatto,
già uscite fuori dalla "accettazione temporale" di Microsoft,
PERO'
-poiché utilizzo solo "componenti base" tutto continua a funzionare
-questa appare essere anche la tua situazione
-questa E' la situazione che molti riferiscono, ANCHE attualmente, in vari forum

Problemi riscontrati:

-->in una postazione NON PARTIVA PIU' il Runtime
("Access ha smesso di funzionare ..."),
circa 10 postazioni attive, tutte in scrittura
(FE mde: Access 2000, Runtime 2007)

E' andato a posto installando Runtime 2013 e mantenendo lo stesso FE
(in quel PC NON riuscivo a reinstallare Runtime 2007)

-->periodo (prolungato) con frequente danneggiamento del BE
circa 20 postazioni attive, 6-7 in scrittura e le altre in sola lettura
(FE mde: Access 2000, Runtime 2007)

riscontri:
la rete era evidentemente malcostruita, sono intervenuti su questo aspetto

UN PAIO di PC avevano installazioni di Office "mal rispondenti" (arraffate ?)

DOPO
aver escluso questi PC,
riposizionato il BE su una postazione "più rispondente",
"sistemato meglio" la rete
il sistema NON ripresenta corruzioni (da più di un anno)

Aggiungo che ho esaminato i db con errore (formato non riconosciuto ...)
E CHE ACCESS RISCIVA A RIPRISTINARE

BENE (anzi male): RIMANEVANO ERRORI NEGLI INDICI
(posso dettagliare meglio la cosa, se necessario)
per cui sarei arrivato alla conclusione che
IL RIPRISTINO ("la ripartenza") NON E' SINONIMO DI CORREZIONE

Se sei arrivata fino a qui:
--proverei proprio ad escludere la postazione "zoppicante"
(almeno a non tenerla direttamente collegata al be, se NON scrive ...)

--se ci sono sistemi Windows 10
segnalo che ci sono tread (anche qui)
che evidenziano come qualche aggiornamento recente
abbia avuto l'effetto di un "fuoco amico" per i db Access (forse accdb ?)
anche su questo posso aggiungere il link


text:
> --se ci sono sistemi Windows 10
> segnalo che ci sono tread (anche qui)
> che evidenziano come qualche aggiornamento recente
> abbia avuto l'effetto di un "fuoco amico" per i db Access (forse accdb ?)
> anche su questo posso aggiungere il link

Buongiorno, anche io ho varie applicazioni organizzate in FE/BE realizzate in Access2007.
Dopo anni di utilizzo senza alcun problema, in alcune postazioni dove è installato Windows 2010 il FE si corrompe ogni qualche giorno (uso runtime 2007 o 2010 sulle postazioni FE).

Qualcuno è a conoscenza di bug con windows 10?


author: BFS

text:
Il 15/10/2018 20:26, Lo ha scritto:
> si blocca sempre dallo stesso pc, solo una volta su uno diverso

direi che è un bel indiziato...
se non usi il programma per un paio di giorni da questo pc funziona tutto?

Io cmq farei cosi:

una rimozione totale di office (con apposito tool)
una pulitura con cclenaer
reinstallazione del solo runtime che ti serve e test per un paio di giorni
reinstallazione di office

se i problemi solo con quel PC si ripresentano

proverei anche a cambiare la scheda di rete

ciao
BFS

---
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com


text:
Il giorno martedì 16 ottobre 2018 14:15:08 UTC+2, BFS ha scritto:
> Il 15/10/2018 20:26, Lo ha scritto:
> > si blocca sempre dallo stesso pc, solo una volta su uno diverso
>
> direi che è un bel indiziato...
> se non usi il programma per un paio di giorni da questo pc funziona tutto?
>
> Io cmq farei cosi:
>
> una rimozione totale di office (con apposito tool)
> una pulitura con cclenaer
> reinstallazione del solo runtime che ti serve e test per un paio di giorni
> reinstallazione di office
>
> se i problemi solo con quel PC si ripresentano
>
> proverei anche a cambiare la scheda di rete
>
>
> ciao
> BFS
>

la cosa strana è che è una nuova workstation pulita a livello software. ho provveduto personalmente ad installare office 2016 standard ed il runtime 2007. Ci sono altre postazioni dove c'è windows 7, office 2016 e runtime 2007 e non ci sono problemi.

Altra cosa strana è che ho notato per esempio, sulla mia workstation con windows 10 - office 2016 e access completo 2007, durante la modifica dei files accdb Front End, questi a volte si corrompono e non sono più recuperabili completamente (devo lavorare facendo copie su copie di sicurezza). Tutto ciò comincia ad essere desolante dopo 20 anni di utilizzo...


text:

ad oggi non ho nessun cliente che con windows 10 abbia avuto problemi
simili. anche con il vecchissimo AccessXp che usano tuttora. Quindi non
credo il problema sia windows 10

c'è però da dire che io lavoro solo con sql-server come BE proprio
perchè appena iniziato a lavorare con gli mdb come be mi sono reso conto
di quanto penalizzanti fossero a livello di prestazioni e "robustezza"



text:
Condivido... spesso gli applicativi Client sono poco robusti in quanto chi li sviluppa non ne ha piena padronanza tecnica...
L'utilizzo di un Rdbms ad esempio è una delle prime cose da prendere in considerazione se gli applicativi devono girare in LAN proprio per evitare problemi legati al File-sharing... che non è tecnicamente idoneo allo sviluppo in rete.
Ci sarebbe quindi prima di tutto da fare una ottima analisi del prodotto prima di ipotizzare bachi su un S.O., che pur essendoci credo possano essere meno reali di sviluppi di Access non ottimi...

Mi riferisco all'uso di riferimenti di librerie fissi con il problema del versioning invece di usare Latebinding, oppure l'uso poco consapecole di API, e magari il mancato uso della formattazione condizionale o il ptrsafe nelle Declare..., il mancato uso dell'Option Explicit, le errate dichiarazioni delle variabili... che per molti sono un optional appunto...

C'è poco da stupirsi, so che sono osservazioni banali, ma quello che ho citato è presente nella maggior parte di applicativi che mi è capitato di analizzare perché prima andavano e tutto ad un tratto... Non vanno più...

@Alex


text:
>
> Qualcuno è a conoscenza di bug con windows 10?

questi i link che ho riscontrato:

https://groups.google.com/forum/#!topic/it.comp.appl.access/Mag8tBF1h8Q

https://groups.google.com/forum/#!topic/comp.databases.ms-access/9_9QyXFFqK8


title: Problemi di duplicazione Nominativi

text:
Salve a tutti, vorrei una soluzione ed un aiuto a questo problema,
dunque ho una tabella anagrafica con Cognome Nome indirizzo ecc...,
vorrei che quando inserisco una persona già presente il programma me
lo segnalasse, esempio. inserisco Rossi Paolo, il programma mi deve
dire che rossi paolo c'è già anche se si tratta di omonimia, poi
visualizzando gli altri dati verifico l'eventuale duplicato. Mi è
sufficiente.
Preciso che i campi Cognome e Nome sono separati, ho provato con
dlookup, ma con un campo solo riesco con 2 no.
Ringrazio fin da subito chi mi aiuta. Grazie
Fabio


title: Problemi di duplicazione Nominativi

text:

Dimenticavo ma mi sembra una cosa scontata il tutto è visualizzato in
una maschera.


title: Problemi di duplicazione Nominativi

text:
uom...@hotmail.it
 wrote:
> dunque ho una tabella anagrafica con Cognome Nome indirizzo ecc...,
> vorrei che quando inserisco una persona già presente il programma me
> lo segnalasse, esempio. inserisco Rossi Paolo, il programma mi deve
> dire che rossi paolo c'è già anche se si tratta di omonimia, poi
> visualizzando gli altri dati verifico l'eventuale duplicato. Mi è
> sufficiente.
> Preciso che i campi Cognome e Nome sono separati, ho provato con
> dlookup, ma con un campo solo riesco con 2 no.
Perché non mostri cosa hai provato?
Come criterio puoi usare qc come:
"Nome = " & Chr$(34) & Me!Nome & Chr$(34)  _
" And Cognome = " & Chr$(34) & Me!Cognome & Chr$(34)
--
HTH
Karl
*********
Access FAQ:
www.donkarl.com/it


title: Problemi di duplicazione Nominativi

author: NSantini

text:
<
uom...@hotmail.it
> ha scritto nel messaggio
news:b511f9ae-5b07-4578...@l64g2000hse.googlegroups.com...

Personalmente il problema dei duplicati l'ho risolto così.
In una form anagrafica il primo controllo è un combobox che ha le seguenti
caratteristiche:
es. i dati sono in tbAnagrafica
proprietà Origine riga:
SELECT tbAnagrafica.[id dipendente], UCase([cognome] & " " & [nome])  AS
operatore
FROM tbAnagrafica
ORDER BY UCase([cognome] & " " & [nome]);
devi impostare a 2 colonne e mettere a 0 cm la prima delle due;
questo dà la possibilità di comporre il cognome man mano che lo digiti se
questo è presente in tabella,
se per esempio in tabella è presente un Sig. Ferrari appena digiti la F ti
viene già proposto Ferrari, se è quello che vuoi: premi invio o tab e ti
presenta il record del sig. Ferrari.
Questo viene gestito dall'evento Dopo aggiornamento così:
Private Sub CasellaCombinata18_AfterUpdate()
    ' Trova il record corrispondente al controllo
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[id dipendente] = " & Str(Nz(Me![CasellaCombinata18], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Se Ferrari non è presente si genera l'evento Non in elenco che gestico così:
Private Sub CasellaCombinata18_NotInList(NewData As String, Response As
Integer)
DoCmd.CancelEvent
Me.CasellaCombinata18 = ""
DoCmd.GoToRecord acActiveDataObject, , acNewRec
DoCmd.GoToControl "cognome"
Me.cognome = StrConv(NewData, vbUpperCase)
Response = acDataErrContinue
End Sub
e mi ritrovo un nuovo record aperto con già inserito il cognome.
E non ho più duplicati in tabella. potrà sembrare macchinoso, ma funziona
Ciao
NSantini


title: Problemi di duplicazione Nominativi

text:
On 23 Ago, 19:19,
uomo...@hotmail.it
 wrote:

Ciao fabio, puoi fare in questo modo.
Su "Prima di aggiornare" della maschera o dopo aggiornamento della
seconda casella di testo ( considerando la prima "Cognome" e la
seconda "Nome") inserisci la seguente routine:
Dim ss As DAO.Recordset
Set ss = CurrentDb.OpenRecordset("select count(Cognome & Nome) from
Tua_Tabella where Cognome & Nome= '" & Replace(Me.Cognome & Me.Nome,
"'", "''") & "'")
If ss.Fields(0) > 0 Then
If MsgBox("Attenzione, il nominativo è già presente in archivio!
Continuare?", vbInformation + vbYesNo) = vbNo Then
Cancel = True
Me.Cognome = ""
Me.Nome = ""
End If
End If
ss.Close
Set ss = Nothing
Ciao vladimiro.