title: Operazioni con condizioni

author: Salvador Pierangelo

text:
"Santilli Marco" <
ma...@santillimarco.it
> ha scritto nel messaggio
news:cm5h8s$4to$1...@fata.cs.interbusiness.it...
> Se invece di farlo tramite pulsante lo voglio che venga calcolato
> automaticamente quando apro la pagina????
metti  tutto sull'evento load della form...
Ti do un consiglio sennza presunzione... Comprati un libro su access oppure
leggi dei tutorial online... Devi farti un minimo di basi!
Ciao,
PS


title: Report dinamici

author: andrea

text:
E' possibile impostare via codice e quindi dinamicamente gli ordinamenti e i
raggruppamenti di un report?


title: Report dinamici

author: Riccardo

text:
andrea <
andrea...@supereva.it
> wrote in message
9oqvuf$4ut$1...@nreadb.inwind.it...
> E' possibile impostare via codice e quindi dinamicamente gli ordinamenti e
i
> raggruppamenti di un report?
>
__________
per gli ordinamenti guarda
OrderBy
per i raggruppamenti non so.
ciao Riccardo


title: Report dinamici

author: koo

text:
> E' possibile impostare via codice e quindi dinamicamente gli ordinamenti e
i
> raggruppamenti di un report?
Devi agire sulla struttura del report. Quindi, da codice, dovresti aprire
prima in struttura il report, istanziarlo come classe e smanettare sulle
varie proprietą, metodi, collezioni, ecc...


title: Report dinamici

author: Karl Donaubauer

text:
andrea <
andrea...@supereva.it
> ha scritto:
> E' possibile impostare via codice e quindi dinamicamente gli ordinamenti e i
> raggruppamenti di un report?
Sì, tutti e due si puo impostare con la proprietà GroupLevel.
Vedi <F1> "GroupLevel" per più informazione e esempi.
BTW Il dato nel tuo PC e falso.
--
HTH
Karl
*********
Access-FAQ (tedesco):
http://www.donkarl.com


title: Report dinamici

text:
> Sì, tutti e due si puo impostare con la proprietà GroupLevel.
> Vedi <F1> "GroupLevel" per più informazione e esempi.
Forse mi sbaglio, ma questa è una proprietà modificabile solo in
struttura...


title: Report dinamici

author: Federico Luciani

text:
Karl Donaubauer wrote:
> andrea <
andrea...@supereva.it
> ha scritto:
> > E' possibile impostare via codice e quindi dinamicamente gli ordinamenti e i
> > raggruppamenti di un report?
>
> Sì, tutti e due si puo impostare con la proprietà GroupLevel.
> Vedi <F1> "GroupLevel" per più informazione e esempi.
>
> BTW Il dato nel tuo PC e falso.
Scusa se mi permetto, ma in italiano e':
'La data del tuo pc e' falsa.'
;-))
--
Federico
----------------------------------
Rimuovi paperino. per e-mail
----------------------------------
Tutte le richieste che arrivano
in privato, vengono cestinate.
----------------------------------
Sito Comune di it.comp.appl.access
http://www.sitocomune.com
mailto:
webm...@sitocomune.com
----------------------------------


title: Report dinamici

text:
Federico Luciani ha scritto:...
> Karl Donaubauer wrote:
> > BTW Il dato nel tuo PC e falso.
>
> Scusa se mi permetto, ma in italiano e':
> 'La data del tuo pc e' falsa.'
> ;-))
Ehh, piccolezze.
Forse anche molti dati nel interno del suo PC
non sono in regola.
--
;-))
Karl
*********
Non meravigliarti del mio strano italiano. M'esercito qui.
Access-FAQ (tedesco):
http://www.donkarl.com


title: Report dinamici

text:
Karl Donaubauer wrote:
> Federico Luciani ha scritto:...
> > Karl Donaubauer wrote:
> > > BTW Il dato nel tuo PC e falso.
> >
> > Scusa se mi permetto, ma in italiano e':
> > 'La data del tuo pc e' falsa.'
> > ;-))
>
> Ehh, piccolezze.
> Forse anche molti dati nel interno del suo PC
> non sono in regola.
> ;-))
> Karl
ROTFL!



title: Report dinamici

text:
koo <koo@k.k> ha scritto:
> > Sė, tutti e due si puo impostare con la proprietā GroupLevel.
> > Vedi <F1> "GroupLevel" per pių informazione e esempi.
>
> Forse mi sbaglio, ma questa č una proprietā modificabile solo in
> struttura...
Non complettamente.
In struttura prima si debbe definire uno livello (o pių) di raggruppamento
e ordinamento "dummy" - non importa quale campi e proprietā.
Tutto a mano o con la funzione CreateGroupLevel.
Poi nel evento Open del report si puo cambiare il nome del campo
(proprietā RecordSource), SortOrder ecc.
Ci sono esempi nella guida in linea.



title: why.... errore : impossibile trovare il progetto o la lib..

text:
Hi a tutti,
ehmm..panico panico...
ho finito di fare il mio bel db, (realizzato con office XP dev ma in
versione 2000) faccio il debug del codice e mi dice tutto ok, lo testo su un
altro office xp e va ma su office 2000 mi da l'errore che segue :
impossibile trovare il progetto o la libreria
e mi evidenzia la funzione left$ presente in questo pezzo di codice preso
pari pari dal sito comune alla sezione report: "Come si può filtrare un
report in base alla selezione multipla effettuata su una casella di
riepilogo?"
...........................
 Next varItem
    'Elimina la virgola eccedente
    strlista = Left$(strlista, Len(strlista) - 1)
    Me!Lista = Left$(Me!Lista, Len(Me!Lista) - 2)
 ..........................
Perchè compare questo errore?
Presumo che manchi qualcosa su access 2000 ma....
Aiuto!
Grazie,
Alessio
--------------------------------
Inviato via
http://usenet.libero.it


text:
"axel_4" <
axe...@libero.it
> ha scritto nel messaggio
news:140Z105Z54Z101Y...@usenet.libero.it...

Ehmmm 2 volte...
Ok ho capito il problema, macava il riferimento a microsoft word 10 obj
library (ovviamente perche access 2000 ha la versione 9)
A questo punto sorge la seguente domanda....
si può inserire il riferimento alle librerie word sia 9 che 10 sullo stesso
mdb?
Oppure:
come faccio a far si che funzioni sia su XP che su 2000 ?
Grazie ancora,
Ale


author: gabriele

text:
Axel_4" <
axe...@libero.it
> ha scritto nel messaggio
news:at7meu$vdd$1...@newsfeed.cineca.it...
> "axel_4" <
axe...@libero.it
> ha scritto nel messaggio
> news:140Z105Z54Z101Y...@usenet.libero.it...
> > ho finito di fare il mio bel db, (realizzato con office XP dev ma in
> > versione 2000) faccio il debug del codice e mi dice tutto ok, lo testo
su
> un
> > altro office xp e va ma su office 2000 mi da l'errore che segue :
> >
> > impossibile trovare il progetto o la libreria
> >
> > e mi evidenzia la funzione left$ presente in questo pezzo di codice
preso
> > pari pari dal sito comune alla sezione report: "Come si può filtrare un
> > report in base alla selezione multipla effettuata su una casella di
> > riepilogo?"
> >
> > ...........................
> >  Next varItem
> >     'Elimina la virgola eccedente
> >     strlista = Left$(strlista, Len(strlista) - 1)
> >     Me!Lista = Left$(Me!Lista, Len(Me!Lista) - 2)
> >  ..........................
> >
> > Perchè compare questo errore?
> > Presumo che manchi qualcosa su access 2000 ma....
> >
Io ho copiato le librerie di word 10 su tutti gli altri pc in rete e va che
è una meraviglia.....
Cmq con 'sto access xp tutti i giorni ne viene fuori una nuova.... :-)
ciao
gabriele


text:
Grazie per la risposta.
Purtroppo si... ogni tanto ne esce una... :-(
Bye
Ale


title: REPORT, numerazione crescente riche

author: ^luigi^

text:
SOS!
in un report, devo inserire un contatore crescente di righe , come fare?
specifico che questo contatore non deve essere memorizzato in nessuna
tabella, ma solo visualizzato o stampato sul report.
grazie.
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: REPORT, numerazione crescente riche

text:
^luigi^ ha scritto:
> SOS!
> in un report, devo inserire un contatore crescente di righe , come fare?
> specifico che questo contatore non deve essere memorizzato in nessuna
> tabella, ma solo visualizzato o stampato sul report.
> grazie.
ho risolto!  soluzione trovata sul sito di donkarl! che dio lo benedica!
l.



title: REPORT, numerazione crescente riche

author: BFS

text:
Il 12/10/2010 11:53, ^luigi^ ha scritto:
> SOS!
> in un report, devo inserire un contatore crescente di righe , come fare?
> specifico che questo contatore non deve essere memorizzato in nessuna
> tabella, ma solo visualizzato o stampato sul report.
> grazie.
>
metti una textbox con dentro =1..e imposta "somma su tutto"
ciao
BFS


title: REPORT, numerazione crescente riche

author: Carlo Costarella

text:
"^luigi^" <
onofrio...@tin.it
> ha scritto nel messaggio
news:i91b6n$ogh$1...@news.newsland.it...
> ^luigi^ ha scritto:
>
>> SOS!
cut
> ho risolto!  soluzione trovata sul sito di donkarl! che dio lo benedica!
Permettimi un'osservazione:
scrivi "SOS!" tutto erroneamente in maiuscolo ma poi scrivi "dio" tutto
erroneamente minuscolo.
Un minimo di rispetto e non solo per l'ortografia.
Ciao, Carlo


title: REPORT, numerazione crescente riche

text:
Carlo Costarella ha scritto:



> Ciao, Carlo
son quisquigle! quando scrivo, e vado di fretta, non guardo nel monitor e
non ho tempo di correggere gli errori, se fai caso un altro errore è nel
titolo (riche al posto di righe). Non è voluto l'errore delle
maiuscole/minuscole.



title: Re: non avviare due volte client accde

text:
Il 13/04/2022 01:36, mario rossi ha scritto:
> buongiorno a tutti,
>
> usavo un vecchio codice che controllava se due processi avevano lo stesso nome e in caso affermativo avvisavo l'utente e impedivo l'apertura del secondo
>
> a quanto pare però in windows 10 non funzione perchè ho notato che se Microsoft Access (32 bit) è avviato il secondo avvio lo chiama
> Microsoft Access (32 bit) (2)
>
> c'è un modo aggiornato per impedire la doppia apertura del file accde?
>
>
> Grazie a tutti.

non è chiaro se vuoi impedire la doppia apertura di msaccess.exe o la
doppia apertura del tuo file

cmq potresti vedere i mutex

https://visualbasic.happycodings.com/windows-and-controls/code5.html

BFS

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


title: Re: non avviare due volte client accde

author: RobertoA

text:
Il 13/04/2022 01:36, mario rossi ha scritto:
> buongiorno a tutti,
>
> usavo un vecchio codice che controllava se due processi avevano lo stesso nome e in caso affermativo avvisavo l'utente e impedivo l'apertura del secondo
>
> a quanto pare però in windows 10 non funzione perchè ho notato che se Microsoft Access (32 bit) è avviato il secondo avvio lo chiama
> Microsoft Access (32 bit) (2)
>
> c'è un modo aggiornato per impedire la doppia apertura del file accde?
>
>
> Grazie a tutti.

Routine realizzata da Giorgio Rancati

NomeLdb =
Application.CurrentDb.name

Mid(NomeLdb, Len(NomeLdb) - 2, 3) = "Ldb"
'---------------------------------------------------------------
'Apro l'LDB e controllo che non sia maggiore di 64 byte
'Ogni 64 byte è un accesso al Db
'---------------------------------------------------------------
Open NomeLdb For Binary Access Read Write As #1
If LOF(1) > 64 Then IsMultisession = True
Close #1


title: Re: non avviare due volte client accde

author: shado gps

text:
prova questo:

   If SysCmd(acSysCmdRuntime) Then AppAlreadyUp False, True    ' permetti istanze muliple, avverti

inserire in un modulo:

Option Compare Database
Option Explicit

Private Declare Function BringWindowToTop Lib "user32" (ByVal lngHWnd As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal lnghObject As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetProp Lib "user32" Alias "GetPropA" (ByVal lngHWnd As Long, ByVal lpString As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal nRelationship As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hdata As Long) As Long
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lngMutexAttributes As Long, lngInitialOwner As Long, ByVal lpName As String) As Long

' For GetWindow
Const GW_HWNDNEXT = 2
Const GW_HWNDChild = 5

' For ShowWindow
Const SW_MAXIMIZE = 3
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2

conts gProgramma = "xxxx"' sostituire con il nome dell'applicazione

Const ERROR_ALREADY_EXISTS = 183&

Public Function AppAlreadyUp(bAllowMultipleInstances As Boolean, bDisplayMsg As Boolean) As Long

' Function checks for multiple instances of an application
' by creating a mutex object.  If no error, then this is only
' instance running.

    Const RoutineName = "AppAlreadyUp"
    Const Version = "1.0"

    Dim lngMutexHandle As Long
    Dim lngHWnd As Long
    Dim lngReturn As Long
    Dim strMsg As String

    On Error GoTo AppAlreadyUp_Error

    ' Create a muxtex object
    lngMutexHandle = CreateMutex(0, 1, gProgramma) '

    ' Did we get a new instance or a handle to an existing one?
    If err.LastDllError = ERROR_ALREADY_EXISTS Then
        ' App is already running
        If bDisplayMsg = True Then
            ' Close the handle just created as
            ' it only points to the existing muxtex
            lngReturn = CloseHandle(lngMutexHandle)

            If bAllowMultipleInstances = False Then
                strMsg = "Questa applicazione e' gia' in esecuzione su questo computer.  Non si puo' eseguire un'altra istanza."
                strMsg = strMsg & vbCrLf & "Si riattiva l'istanza  gia' in eseguzione."
            Else
                strMsg = "Attenzione: Questa applicazione e' gia' in esecuzione su questo computer."
            End If
            MsgBox strMsg, vbOKOnly + vbCritical, gProgramma
        End If

        If bAllowMultipleInstances = False Then
            ' Find the existing instance, switch to it, then close this instance
            lngHWnd = GetWindow(GetDesktopWindow(), GW_HWNDChild)

            Do While lngHWnd > 0
                If GetProp(lngHWnd, gProgramma) = 1 Then
                    BringWindowToTop (lngHWnd)
                    lngReturn = ShowWindow(lngHWnd, SW_MAXIMIZE)
                    Exit Do
                End If
                lngHWnd = GetWindow(lngHWnd, GW_HWNDNEXT)
            Loop

            Application.Quit

            ' Call application exit routine here or just quit your app.
        End If

    Else
        lngReturn = SetProp(Application.hWndAccessApp, gProgramma, 1)  ' "mgLite"
    End If

AppAlreadyUp_Exit:
    On Error Resume Next

    ' Always return false just to pass something back
    AppAlreadyUp = False

    Exit Function

AppAlreadyUp_Error:

    MsgBox "Routine Name: " & RoutineName & vbCrLf & "Version: " & Version & vbCrLf & "Error Number: " & err.Number & vbCrLf & "Error Description: " & err.Description & vbCrLf & "Error Source: " & vbCrLf & "Error Source: " & err.Source, vbCritical, "Errore"

    '    UnexpectedError ModuleName, RoutineName, Version, Err.Number, Err.Description, Err.Source, VBA.Erl
    Resume AppAlreadyUp_Exit

End Function


title: i controlli calcolati e i criteri di filter

text:
In una maschera ho usato il comando filter con criteri di tipo "controllo"
semplice (si tratta di valori si/no), ma quando ho provato a usare un
controllo calcolato allora non funziona piu' e access mi viene fuori con la
mascherina che mi chiede che valore dare al controllo. Questo succede solo
quando schiaccio il pulsante che avvia il filtro.
Se uso
forms![nome form]![subform].form.filter = "[controllo] = 0 Or [controllo_2]"
tutto bene, (non so se e' importante, ma questi controlli sono si/no sono
legati ai campi delle tabelle che vanno a "nutrire"), ma se uso controllo_3
che e' calcolato (con dsum) allora questo criterio di filtro non funziona.
Ho anche provato a usare controllo_3 come ponte per un altro controllo e
usare questo, ma niente.
Vorrei solo che filtrare anche i records per cui la dsum = 0...
Come posso districarmi?
Grazie
Beppe


author: Roberto dalla campagna

text:
"beppe005" <
beppe005...@virgilio.it
> ha scritto nel messaggio
news:FVt9d.6975$b5.2...@news3.tin.it...

Come giustamente tu dici impostando la proprietą Filter di una maschera si
filtrano di fatto i RECORD e non le e pertanto nella stringa SQL che imposti
come filtro puoi fare riferimento SOLO al nome di campi contenuti
nell'oggetto che č origine record della maschera per cui imposti il filtro e
NON puoi fare riferimento al nome dei controlli della maschera.
Probabilmente controllo e controllo_2 sono sia il nome del controllo che del
campo ad esso associato: tu probabilmente eri convinto che fossero il nome
del controllo ed invece sono il nome del campo ad esso associato.
Come conseguenza di quanto scritto sopra nella stringa SQL di un filtro NON
puoi fare riferimento ad un controllo non associato (alias controllo
calcolato).
Insomma il valore calcolato dalla DSum non č contenuto in un campo
dell'oggetto origine record della maschera, quindi...
Una cosa che petresti fare sarebbe quella di crearti una query basata sulla
tabella o query che č attualmente origine record della maschera ed in questa
nuova query crearti un campo calcolato il cui valore lo determini con una
DSum (cosģ come fai ora nella maschera); usa questa nuova query come nuova
origine record della maschera al posto dell'attuale tabella o query: a
questo punto il filtro puoi anche impostarlo su campo calcolato della query
il cui valore lo hai determinato con la DSum.
>
> Grazie
> Beppe
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
> Come giustamente tu dici impostando la proprietą Filter di una maschera si
> filtrano di fatto i RECORD e non le e pertanto nella stringa SQL che
imposti
> come filtro puoi fare riferimento SOLO al nome di campi contenuti
> nell'oggetto che č origine record della maschera per cui imposti il filtro
e
> NON puoi fare riferimento al nome dei controlli della maschera.
> Probabilmente controllo e controllo_2 sono sia il nome del controllo che
del
> campo ad esso associato: tu probabilmente eri convinto che fossero il nome
> del controllo ed invece sono il nome del campo ad esso associato.
> Come conseguenza di quanto scritto sopra nella stringa SQL di un filtro
NON
> puoi fare riferimento ad un controllo non associato (alias controllo
> calcolato).
Ero convinto che access fosse piu' facile...
Comunque vedo che torno a fare confuzione con  campi e i controlli...
Grazie ancora.


title: access si può ritenere programmazione ad oggetti?

text:
secondo voi?
che differenza c'è se non lo fosse fra questa e quella a oggetti?
grazie a tutti.


author: Alessio

text:
"Simba883"
> secondo voi?
Come sarebbe a dire "secondo voi"?
I fatti sono fatti e basta!
Sicuramente lo sviluppo con Access è BASATO su oggetti (forms, Reports,
controlli, etc.), ma la metodologia di programmazione è (al massimo) mista.
> che differenza c'è se non lo fosse fra questa e quella a oggetti?
Per capire come venga definito un ambiente di sviluppo totalmente a oggetti
dovresti affrontare i fondamenti di Java (oppure .NET).
Tutto, ma proprio tutto quello che si fa, "prende vita" da classi.
Non esistono Sub e function slegate dal contesto, ma solo proprietà e metodi
di classi.
Non esistono on erro GOTO Err_Handler ma una classe specifica per la
gestione delle eccezioni.
All'atto pratico, specie nel settore gestionale, i vantaggi di un ambiente
puramente a oggetti rispetto ad uno misto o tradizionale sono filosofici.
Ciao.


text:
>
> All'atto pratico, specie nel settore gestionale, i vantaggi di un ambiente
> puramente a oggetti rispetto ad uno misto o tradizionale sono filosofici.
>
> Ciao.
>
ovvero?


author: SunRex

text:
"Alessio" <
alessio...@tiscalinet.it
> ha scritto nel messaggio
news:OkXqd.58687$Es2.1...@twister2.libero.it...

Per mista intendi programmazione ad eventi ed ad oggetti chiaramente.
Rammento a Simba883 che è VBA che è un linguaggio di programmazione
ad essere un linguaggio ad evento mentre access inteso come modello di data
base
è un modello relazionale.
SunRex
>
>
>
>
>


text:
"Simba883" <
> > All'atto pratico, specie nel settore gestionale, i vantaggi di un
ambiente
> > puramente a oggetti rispetto ad uno misto o tradizionale sono
filosofici.
> ovvero?
Concezione diversa, risultati uguali (sulla maggior parte delle
problematiche).
Che poi a livello promozionale faccia comodo sostenere che la programmazione
Java style sia l'unica possibile per avere codice riusabile, è un altra
questione ... per gonzi.
Ciao.


text:
"SunRex"
> Per mista intendi programmazione ad eventi ed ad oggetti chiaramente.
Programmazione ad eventi e basata sugli oggetti precostruiti che espongono
Visual Basic e l'ambiente Host di Microsoft Access
Mista anche perchè, non dimentichiamolo, esiste la possibilità di creare
proprie classi personalizzate.
Resta il fatto che l'approccio è molto diverso rispetto al "fondamentalismo"
(non lo dico negativamente) a oggetti di Java o .NET.
> Rammento a Simba883 che è VBA che è un linguaggio di programmazione
> ad essere un linguaggio ad evento mentre access inteso come modello di
data
> base
> è un modello relazionale.
Beh, questo diamolo per scontato su icaa ;-))
Ciao.


text:
"Simba883" <
simb...@libero.it
> ha scritto nel messaggio
news:cohdjv$g5u$1...@lacerta.tiscalinet.it...
> secondo voi?
> che differenza c'è se non lo fosse fra questa e quella a oggetti?
>
> grazie a tutti.
No, VBA non è un linguaggio di programmazione orientato agli oggetti. Sono
troppe le caratteristiche che gli mancano per potersi considerare tale.
L'unica cosa che si può dire è che VBA consente l'incapsulamento
(caratteristica comune a tutti i linguaggi di programmazione orientata agli
oggetti) perchè ti puoi definire particolari moduli, detti, "moduli di
classe". Attenzione al verbo che ho usato: definire e non dichiarare. A VBA
manca, infatti, la parte dichiarativa dei moduli di classe (per questo io
non li considero vere e proprie classi) necessaria alla descrizione formale
di classi di isomorfismo, caratteristica principale della programmazione
orientata agli oggetti.
In altre parole è  l'isomorfismo il concetto chiave della programmazione
orientata agli oggetti, non l'incapsulamento.
Con i moduli di classe in VBA si 'simula'  il concetto di classe, ma è
rischioso confondere le due cose!
C++ e Java, ad esempio, sono veri e propri linguaggi dotati del formalismo
necessario alla programmazione orientata agli oggetti.
Addddisposizzzione!
--
Simplex2
www.mdenittis.it


text:
"simplex2" <
simp...@inestistente.it
> ha scritto nel messaggio
news:cok3qb$ad3$1...@canarie.caspur.it...

Potresti spiegare meglio il concetto di isomorfismo?
SunRex
> --
> Simplex2
>
www.mdenittis.it
>
>
>
>
>


author: Mauro Falzari

text:
Il giorno 30 novembre 2004, Simba883 ha scritto:
> che differenza c'è se non lo fosse fra questa e quella a oggetti?
per quel poco che conosco di VBA, non lo si può ritenere un linguaggio Object
Oriented, infatti non implementa nessuna di queste tre caratteritiche:
incapsulazione, ereditarietà e polimorfismo.
Forse un po' l'incapsulazione, ma molto debolmente.
Che poi in VBA si usi un modello di riferimento ad oggetti, è fuori
discussione.
--
Mauro Falzari
   [
http://digilander.libero.it/mauro.falzari
 ]

 "Se guardi nell'abisso, anche l'abisso guarda in te."
   (Friedrich Nietzsche)


text:
"simplex2" <
simp...@inestistente.it
> ha scritto nel messaggio
news:con5ga$4s9$1...@canarie.caspur.it...
> > Potresti spiegare meglio il concetto di isomorfismo?
> > SunRex
>
> Mi sono accorto dell'errore solo ora che me lo hai fatto ossservare.
> ERRATA CORRIGE:
> sotituire a Isomorfismo, POLIMORFISMO.
Ah ecco ;)
Sunrex
>
> Questo è un buon articolo molto sintetico:
>
http://www.vlsilab.polito.it/thesis/alfonso/node85.html
>
> Grazie della segnalazione.
>
> --
> Simplex2
>
www.mdenittis.it
>
>
>


text:
Il giorno 2 dicembre 2004, Mauro Falzari ha scritto:
> scusate io sono un programmatore Delphi e ho letto per caso la
> discussione...oltre a C#, C++, C e Java, vi siete dimenticati di citare
> Delphi (Object Pascal) tra i linguaggi OOP!!!
ho detto una stupidaggine: il C non c'entra un C..



text:
Il giorno 2 dicembre 2004, SunRex ha scritto:
> Che fra l'altro avevo letto che era ottimo per i database.
forse era riferito allo stretta connessione con la tecnologia BDE (un motore
di database ormai obsoleto).

Il vantaggio dei linguaggi OO è che permettono di costruire delle gerarchie
di "oggetti" (il termine tecnico è "classi") di qualsivoglia grandezza e
complessità.
In Delphi per esempio, si può accedere a un database Access mediante lo
strato ADO (Active Data Objects), o volendo anche attraverso lo strato
inferiore DAO.
Per esempio, esiste un "componente" (altro termine tecnico che indica un
oggetto che incapsula del codice, manipolabile nell'ambiente di sviluppo a
design time) che si chiama TADOTable (il cui nome è intuitivo...) che
"deriva" (cioè eredita tutte le caratteristiche e ne estende le funzionalità)
da TCustomADODataSet, il quale deriva da TDataSet, e così via fino ad
arrivare alla classe madre di tutte le classi che è TObject.
Naturalmente tutta questa implementazione è visibile: si può vedere nei
sorgenti come è stato implementato ogni singolo metodo o proprietà; in
pratica (se sai leggere i sorgenti, e ci vuole una certa dimestichezza col
linguaggio) puoi vedere come funziona qualsiasi cosa!!!
Oltre ai sorgenti in formato testo, ci sono anche i sorgenti in formato
compilato, quindi non leggibili (di solito, perchè l'autore vuole proteggere
il suo prodotto), però la stragrande maggioranza del codice in circolazione
non solo di privati ma anche di prodotti commerciali (come le griglie di
DevExpress o gli IBObjects, tanto per dire due che mi vengono in mente) è
aperta.
Anche la VCL, cioè la libreria base dell'IDE, cioè dell'ambiente di sviluppo
integrato di Delphi, è tutta open source! Stessa cosa per quasi tutte le
librerie fornite a corredo di Delphi (mi pare la Jpeg no, ma per motivi di
copyright).
Capisci che solo questo fatto, di per sè, è già molto istruttivo.
Mi sono fatto prendere la mano da Delphi e dall'open source, ma credo che ne
valga la pena!



text:
Il giorno 2 dicembre 2004, Simone Calligaris ha scritto:
> Attenzione: le cose non stanno così (e oltretutto si sta facendo
> confusione).
avevo premesso che conosco poco di quello che chiamo VBA, cioè il linguaggio
di programmazione di Access, forse avrei dovuto dire "per quel poco che
conosco di"...
> Che poi queste caratteristiche vengano sfruttate di rado, è un altro
> discorso...
sarebbe interessante capire perchè queste caratteristiche vengano sfruttate
così poco



author: MA

text:
> Il giorno 2 dicembre 2004, Simone Calligaris ha scritto:
>
> > Attenzione: le cose non stanno così (e oltretutto si sta facendo
> > confusione).
>
> avevo premesso che conosco poco di quello che chiamo VBA, cioè il
linguaggio
> di programmazione di Access, forse avrei dovuto dire "per quel poco che
> conosco di"...
>
> > Che poi queste caratteristiche vengano sfruttate di rado, è un altro
> > discorso...
>
> sarebbe interessante capire perchè queste caratteristiche vengano
sfruttate
> così poco
Se ti riferisci a Sergio, credimi è meglio!
Del resto anche la compagna ha convenuto che è possibile "sfruttarlo" poco:
per quello che ne tira fuori...
MAssimiliano
p.s. oh ragà, Antonio non c'è più e io devo sfottere qualcuno!!!


text:
"Mauro Falzari" <
mauro_...@despammed.com
> ha scritto nel messaggio
news:Xns95B3942B0E02C45...@130.133.1.4...
> Il giorno 1 dicembre 2004, simplex2 ha scritto:
>
> > C++ e Java, ad esempio, sono veri e propri linguaggi dotati del
formalismo
> > necessario alla programmazione orientata agli oggetti.
>
> scusate io sono un programmatore Delphi e ho letto per caso la
> discussione...oltre a C#, C++, C e Java, vi siete dimenticati di citare
> Delphi (Object Pascal) tra i linguaggi OOP!!!
Che fra l'altro avevo letto che era ottimo per i database.
SunRex



text:
> Potresti spiegare meglio il concetto di isomorfismo?
> SunRex
Mi sono accorto dell'errore solo ora che me lo hai fatto ossservare.
ERRATA CORRIGE:
sotituire a Isomorfismo, POLIMORFISMO.
Questo è un buon articolo molto sintetico:



text:
Il giorno 2 dicembre 2004, Simone Calligaris ha scritto:
> 1) Chi non ha cominciato (già dalla scuola) in C++ si trova a disagio con
> l'approccio a oggetti
che però permette di produrre codice estremamente più robusto e flessibile,
questo lo riconosci?
> 3) Sviluppare gestionali con ambienti estremamente RAD come Access, non
> richiede (se non eccezionalmente) approcci veramente a oggetti.
troppa facilità nel creare rapidamente applicazioni (mi riferisco appunto al
significato del termine RAD), può creare false illusioni: una cosa che mi ha
sconvolto di Visual Basic in generale (visto che stavamo parlando del
linguaggio di programmazione di Access) è l'uso sterminato dei Variant.
Quando manipolate una variabile, spesso non sapete esattamente di che tipo è.
Quando eseguite del codice quasi sempre non saprete mai veramente se quella
data routine funzionerà o no finchè non verrà eseguita (mi riferisco al
linguaggio semicompilato).
Non c'è un controllo robusto sugli errori. Mi pare che esista qualcosa come
un On Error Resume Next ...
Per gestire bene gli errori dovreste mettere degli On Error Goto in ogni
routine.
Cambiando qualcosa da qualche parte (riporto esperienze di programmatori VB
di mia conoscenza) in un programma complesso, succede che non funziona più
nulla o appaiono errori inspiegabili e si perde molto tempo a cercare di
capire da cosa è causato l'errore.
Il codice è poco riutilizzabile. Non ho ancora capito dove stia
l'ereditarietà in VB ma ripeto che lo conosco poco. Non mi pare che sia molto
incoraggiata la modularità del codice (se non sbaglio si possono esportare
moduli come file di testo BAS, ma tutto finisce lì).
Non potete vedere come sono implementate neppure le più semplici funzioni di
sistema come Date.



author: Simone Calligaris

text:
"Mauro Falzari"
> per quel poco che conosco di VBA, non lo si può ritenere un linguaggio
Object
> Oriented, infatti non implementa nessuna di queste tre caratteritiche:
>
> incapsulazione, ereditarietà e polimorfismo.
>
> Forse un po' l'incapsulazione, ma molto debolmente.
Attenzione: le cose non stanno così (e oltretutto si sta facendo
confusione).
Anzitutto non esiste "VBA": la versione 6.XX del linguaggio Office Visual
Basic è in tutto e per tutto corrispondente al linguaggio Visual Basic 6.0.
Cambia naturalmente il modello a oggetti dell'ambiente Host ma non il
linguaggio in sè.
Detto questo, è corretto definire Visual Basic 6.XX un linguaggio "misto".
L'architettura è lontana dalla concezione basata su Classi di .NET, però
supporta incapsulamento, ereditarietà e polimorfismo.
Anche solo sfogliando la documentazione acclusa alle versioni DEV di Access
2000 o XP si trovano esempi concreti di:
. creazione d'eventi personalizzati con withevents
. Implementazioni di classi e interfacce astratte
. polimorfismo attraverso interfacce astratte
. pianificazione e progettazione di modelli a oggetti
Che poi queste caratteristiche vengano sfruttate di rado, è un altro
discorso...
Comunque finito questo periodaccio preparerò qualche esempio per il Sito
Comune.
Saluti.


text:
"Simone Calligaris" <
simo...@libero.it
> ha scritto nel messaggio
news:GpIrd.521$Zk....@twister2.libero.it...
>
> "SunRex"
>
> > Potresti spiegare meglio il concetto di polimorfismo?
>
> Semplice esempio di polimorfismo:
>
> Oggetto TextBox della classe TextBoxes
> Oggetto CommandButton della classe CommandButtons
>
> Una variabile oggetto di tipo TextBox non può ovviamente essere riferita a
> un oggetto Commandbutton e viceversa: se si tentano associazioni di questo
> tipo, verrà restituito un errore.
>
> Entrambi questi tipo d'oggetto prevedono però il tipo più generico
Control.
>
> Se si crea una variabile Control è possibile assegnare a tale variabile un
> riferimento sia a un pulsante di comando che ad una casella di testo.
>
> Questo si apprezza (per esempio) nei casi in cui sia necessario ciclare
> tutti i controlli di una Form e impostare le relative proprietà Visible a
> True.
>
> Fine esempio polimorfismo.
>
> Saluti.
Altro esempio di Polimorfismo di Access:
Sergio MAZZA.
Appare un bravo sviluppatore Access, in realtà è Virus potentissimo che
fracassa tutti gli Hd
di chiunque parli di lui!!!
Millenium bug gli fa un baffo!
Ora sei convinto che Access accetta i polimorfi???
MAssimiliano


text:
"Mauro Falzari"
> > Che poi queste caratteristiche vengano sfruttate di rado, è un altro
> > discorso...
> sarebbe interessante capire perchè queste caratteristiche vengano
sfruttate
> così poco
La stessa domanda potresti farla su iclvb.
Comunque:
1) Chi non ha cominciato (già dalla scuola) in C++ si trova a disagio con
l'approccio a oggetti
2) La documentazione standard di Access e/o Visual Basic approfondiscono
poco questi argomenti (e tanti altri non meno interessanti per la verità).
3) Sviluppare gestionali con ambienti estremamente RAD come Access, non
richiede (se non eccezionalmente) approcci veramente a oggetti.
Un tempo era diverso: pensa a chi ha sviluppato l'interfaccia
"quasi-visuale" del famoso PassPartout in C++: non credi che abbiano tratto
grandi vantaggi dall'approccio a oggetti?
Ma con un ambiente che ti svincolo totalmente dalle problematiche di
creazione dell'interfaccia, delle barre dei menù, della reportistica
avanzata...
Saluti.


text:
Il giorno 1 dicembre 2004, simplex2 ha scritto:
> C++ e Java, ad esempio, sono veri e propri linguaggi dotati del formalismo
> necessario alla programmazione orientata agli oggetti.
scusate io sono un programmatore Delphi e ho letto per caso la
discussione...oltre a C#, C++, C e Java, vi siete dimenticati di citare
Delphi (Object Pascal) tra i linguaggi OOP!!!
--



text:
"Mauro Falzari"
> e va bene, non avrò le statistiche alla mano ma un linguaggio che ti
permette
> (finestra Debug) di fare una cosa del genere
> a=12
> ? a + "12"
>  24
> non dirmi che ti invoglia a dichiarare il tipo delle variabili (e poi, è
> possibile/facile dichiarare nuovi tipi?)
> Insomma possiamo definire VB un linguaggio debolmente tipizzato. E ciò non
> aiuta affatto sia lo stile di buona programmazione, sia la robustezza del
> codice; quindi anche la ricerca degli errori in fase di debug, perchè se
Left
Vero e indiscutibile.
Ma ripeto, stai facendo un processo alle intenzioni: penso che nemmeno uno
studente
lavorerebbe in quel modo.
Oltretutto, l'impostazione predefinita di VB "Option Explicit" obbliga la
dichiarazione dei tipi.
Sul discorso del creare variabili strutturate personalizzate ... beh, qui si
sta parlando di fondamenti.
> > Chiaramente nel contesto di questa discussione: software gestionale.
> nè è mia intenzione scatenare una guerra di religione, volevo solo sentire
> come la pensavate.
Saluti: Simone


text:
"Mauro Falzari"
> > 1) Chi non ha cominciato (già dalla scuola) in C++ si trova a disagio
con
> > l'approccio a oggetti
> che però permette di produrre codice estremamente più robusto e
flessibile,
> questo lo riconosci?
Mah, questo è un altro discorso, quantomeno OT.
Io come professionista ho iniziato in ambiente C++, ora lavoro diversamente
(i tempi di sviluppo ragazzi...!) ma problemi d'affidabilità, solidità o
altro continuo a
non averne.
Per lavoro non sviluppo sistemi operativi, drivers per schede di rete, o
videogiochi ma software gestionale ... ed è in questo contesto che giudico
il termine "flessibilità"; e a maggior ragione considerando che sto postando
su it.comp.appl.access
> > 3) Sviluppare gestionali con ambienti estremamente RAD come Access, non
> > richiede (se non eccezionalmente) approcci veramente a oggetti.
> troppa facilità nel creare rapidamente applicazioni (mi riferisco appunto
al
> significato del termine RAD), può creare false illusioni: una cosa che mi
ha
> sconvolto di Visual Basic in generale (visto che stavamo parlando del
> linguaggio di programmazione di Access) è l'uso sterminato dei Variant.
> Quando manipolate una variabile, spesso non sapete esattamente di che tipo
è.
> Quando eseguite del codice quasi sempre non saprete mai veramente se
quella
> data routine funzionerà o no finchè non verrà eseguita (mi riferisco al
> linguaggio semicompilato).
... quanto scrivi è sacrosanto.
Tuttavia m'incuriosisce il fatto che tu scriva "uso sterminato dei Variant":
io non ho mai utilizzato quella robaccia.
E nemmeno penso che siano molti a farne uso, "VBisti o Accessisti" che
siano.
Quindi non usare il plurale "VOI" ... ma voi chi?
> Non c'è un controllo robusto sugli errori. Mi pare che esista qualcosa
come
> un On Error Resume Next ...
> Cambiando qualcosa da qualche parte (riporto esperienze di programmatori
VB
> di mia conoscenza) in un programma complesso, succede che non funziona più
> nulla o appaiono errori inspiegabili e si perde molto tempo a cercare di
> capire da cosa è causato l'errore.
Usando On Error Resume Next a go go, questi sarebbero i risultati...
> Per gestire bene gli errori dovreste mettere degli On Error Goto in ogni
> routine.
Certo: con Visual Basic, fino alla versione 6.X, le cose stanno così.
> Il codice è poco riutilizzabile. Non ho ancora capito dove stia
> l'ereditarietà in VB ma ripeto che lo conosco poco. Non mi pare che sia
molto
> incoraggiata la modularità del codice (se non sbaglio si possono esportare
> moduli come file di testo BAS, ma tutto finisce lì).
No: perfino i Cobolari scrivono codice decentemente riusabile, figurati chi
utilizzi linguaggi Basic Like (anche vecchi, quelli sul serio privi di
caratteristiche a oggetti).
> Non potete vedere come sono implementate neppure le più semplici funzioni
di
> sistema come Date.
Vero, ma questa è una caratteristica strutturale di (quasi) tutti gli
ambienti "RAD",
Delphi è stata la prima sorprendente eccezione.
Il successo di prodotti come PowerBuilder, Access, Omnis studio e simili
è decretato da un set di strumenti per gestire DB estremamente potenti,
flessibili, agili e orientati
all'obiettivo.
Per contro si deve rinunciare ad avere il "controllo totale" della
situazione ... la qual cosa all'atto pratico non comporta problemi o
limitazioni (specie se è possibile sfruttare l'API del sistema operativo).
Chiaramente nel contesto di questa discussione: software gestionale.
Saluti.


text:
Il giorno 2 dicembre 2004, Simone Calligaris ha scritto:
> Il successo di prodotti come PowerBuilder, Access, Omnis studio e simili
> è decretato da un set di strumenti per gestire DB estremamente potenti,
> flessibili, agili e orientati
> all'obiettivo.
ehm...questa mi era sfuggita a una prima lettura ma sono costretto a
dissentire (pur cosciente che sono "in casa d'altri" e potrei scatenare una
polemica), per la parte che riguarda quel poco che conosco di Access (gli
altri prodotti che hai citato non li conosco).
Concordo col fatto che Access sia un prodotto estremamente flessibile, RAD e
piuttosto ergonomico, però non lo definirei un vero RDBMS.
Da quel che ho potuto superficialmente vedere di Access, ti/vi pongo queste
domande:
1) come si crea un trigger in Access?
2) e una stored procedure?
3) per modificare il valore di partenza o resettare il valore di un campo
autoincrementante (per qualsivoglia motivo ciò possa servire, per esempio
farlo ripartire da 0 o da 10.000.000) come fate?
4) in una relazione master-detail, come avviene il controllo sulla
consistenza tra foreign key e primary key: automaticamente a livello di
database o dovete scriverlo da codice?
5) se qualcuno (qualche applicazione) accede al vostro database MDB non
attraverso Access, ma poniamo via ADO e modifica direttamente i dati,
bypassando così tutti gli eventi che avete scritto sui vari Recordset, che
succede?
6) che controllo avete sulle transazioni?
7) come si crea un dominio?
8) quando usate un campo di tipo stringa, potete dichiararlo di lunghezza,
poniamo, 10.000 o siete costretti a usare un altro tipo di campo?
9) potete eseguire script sul database?
10) potete accedere al database via TCP/IP?
11) quando più utenti stanno lavorando sulla stessa tabella e un'utente
modifica una riga, gli altri vedono le modifiche in tempo reale?
Queste tanto per dire le prime che mi venivano in mente.
E non vi sorprende sapere che Firebird

http://firebird.sourceforge.net

http://www.ibphoenix.com
-un database completamente freeware, open source, derivato dallo storico
Interbase- tutto questo (e molto di più) ce l'ha?
E che con un tool totalmente freeware come IBExpert Personal Edition
(
www.ibexpert.com
) si riesce ad amministrare in modo completo e visuale il
database?
Tutto questo a costi zero.
(una piccola chicca: la versione embedded di Firebird, cioè la DLL che è il
motore del database e permette di far girare applicazioni in locale senza
installare il database server sulla macchina, occupa lo spazio di un floppy!)
Non voglio togliere nulla alla facilità d'uso di Access, però ho come
l'impressione che per applicazioni abbastanza "serie" scricchioli un po', o
perlomeno vi costringa a parecchie acrobazie.



text:
> Anche solo sfogliando la documentazione acclusa alle versioni DEV di
Access
> 2000 o XP si trovano esempi concreti di:
>
> . creazione d'eventi personalizzati con withevents
> . Implementazioni di classi e interfacce astratte
> . polimorfismo attraverso interfacce astratte
> . pianificazione e progettazione di modelli a oggetti
>
> Che poi queste caratteristiche vengano sfruttate di rado, è un altro
> discorso...
> Comunque finito questo periodaccio preparerò qualche esempio per il Sito
> Comune.
Premessa,
sviluppo in VBA da tre anni per l'Ufficio in cui lavoro ma  l' UFFICIO non
mi ha fornito la versione DEV di Office!
L'UFFICIO, però, mi ha procurato due bei CD ROM intitolati Visual Studio 6 -
MSDN Library.
Illuminato e stupito dalle tue affermazioni sulle 'potenzialità' OOP offerte
da VBA, ovvero VB, mi sono prodigato nella ricerca
di articoli sul polimorfismo su 'Visual Studio 6 MSDN Lib.' ed ho trovato
alcuni articoli interessanti e, credo, i citati esempi concreti.
Visto che l'oggetto del thread è interessante, propongo a tutti la lettura
degli articoli che ho trovato: Un buon punto di partenza è il seguente URL
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/htm
l/vbconinheritancepolymorphismallthat.asp
Anche 'solo sfogliando' le suddette pagine che, per una successiva più
attenta lettura mi sono stampato, ho avuto l'impressione che il polimorfismo
di VB
sia un po 'tirato per le orecchie'. Mi riservo di studiare meglio gli esempi
proposti dagli articoli, tuttavia, alla luce dello 'sfoglio' della suddetta
documentazione, mi pare di capire che il polimorfismo di VB è perneato sul
concetto di interfaccia.
L'ereditarietà non è vista come estensione di una classe base ma solo come
implementazione di una interfaccia, che in VB corrisponde forzatamente al
concetto di classe atratta. Attenzione: nei linguaggi strongly typed OOP le
classi astratte non sono istanziabili mentre in VB lo sono! Cito
testualmente: <<Note   Properly speaking, an abstract class is one from
which you can't create objects. You can always create objects from Visual
Basic classes, even if they contain no code; thus they are not truly
abstract.>>.
Dunque, c'è nell'argomento 'polimorfismo in VB' un po di confusione e si
comprende (e si vede) benissimo che VB non è stato originariamente pensato
per supportare la programazione OOP e che successivemente, per tendenze di
mercato, la MS gli ha aggiunto, direi forzatamente, costrutti per
l'ereditarietà.
Per ora rimango della mia opinione (già espressa in questo Thread): VB non è
propriamente un  linguaggio OOP.
Saluti.
--
Simplex2
www.mdenittis.it


text:
"Mauro Falzari" <
mauro_...@despammed.com
> ha scritto nel messaggio
news:Xns95B476EDF26EE45...@130.133.1.4...
> Il giorno 2 dicembre 2004, Simone Calligaris ha scritto:
>
> > Il successo di prodotti come PowerBuilder, Access, Omnis studio e simili
> > è decretato da un set di strumenti per gestire DB estremamente potenti,
> > flessibili, agili e orientati
> > all'obiettivo.
>
> ehm...questa mi era sfuggita a una prima lettura ma sono costretto a
> dissentire (pur cosciente che sono "in casa d'altri" e potrei scatenare
una
> polemica), per la parte che riguarda quel poco che conosco di Access (gli
> altri prodotti che hai citato non li conosco).
>
> Concordo col fatto che Access sia un prodotto estremamente flessibile, RAD
e
> piuttosto ergonomico, però non lo definirei un vero RDBMS.
>
> Da quel che ho potuto superficialmente vedere di Access, ti/vi pongo
queste
> domande:
>
> 1) come si crea un trigger in Access?
> 2) e una stored procedure?
Con gli ADP.
> 3) per modificare il valore di partenza o resettare il valore di un campo
> autoincrementante (per qualsivoglia motivo ciò possa servire, per esempio
> farlo ripartire da 0 o da 10.000.000) come fate?
update values
> 4) in una relazione master-detail, come avviene il controllo sulla
> consistenza tra foreign key e primary key: automaticamente a livello di
> database o dovete scriverlo da codice?
Both.
> 5) se qualcuno (qualche applicazione) accede al vostro database MDB non
> attraverso Access, ma poniamo via ADO e modifica direttamente i dati,
> bypassando così tutti gli eventi che avete scritto sui vari Recordset, che
> succede?
Chi accede lo fa sulle tabelle non sul codice.
> 6) che controllo avete sulle transazioni?
Qui pochino ma c'è cmq Rollback beginTrans etc. (ma andrebbe migliorato)
> 7) come si crea un dominio?
Puoi farlo: in particolare cosa ti servirebbe?
> 8) quando usate un campo di tipo stringa, potete dichiararlo di lunghezza,
> poniamo, 10.000 o siete costretti a usare un altro tipo di campo?
Se dichiaro una variabile di 10000 forse è il caso che riveda cosa voglio
fare.
> 9) potete eseguire script sul database?
Certo.
> 10) potete accedere al database via TCP/IP?
Non ma posso mappare le directory
> 11) quando più utenti stanno lavorando sulla stessa tabella e un'utente
> modifica una riga, gli altri vedono le modifiche in tempo reale?
c'è il blocco ottimistico una gran cosa
>
> Queste tanto per dire le prime che mi venivano in mente.
>
> E non vi sorprende sapere che Firebird
>
>
http://firebird.sourceforge.net
>
http://www.ibphoenix.com
>
> -un database completamente freeware, open source, derivato dallo storico
> Interbase- tutto questo (e molto di più) ce l'ha?
> E che con un tool totalmente freeware come IBExpert Personal Edition
> (
www.ibexpert.com
) si riesce ad amministrare in modo completo e visuale il
> database?
> Tutto questo a costi zero.
Tu sei uno sviluppatore?
> (una piccola chicca: la versione embedded di Firebird, cioè la DLL che è
il
> motore del database e permette di far girare applicazioni in locale senza
> installare il database server sulla macchina, occupa lo spazio di un
floppy!)
>
> Non voglio togliere nulla alla facilità d'uso di Access, però ho come
> l'impressione che per applicazioni abbastanza "serie" scricchioli un po',
o
> perlomeno vi costringa a parecchie acrobazie.
>
Su una cosa hai ragione: conosci poco Access e ti dico che confondi
la gestione del Front End con quella del BackEnd.
MAssimiliano



text:
P.S. non vi sorprendete se non vi rispondo fino a metà della prossima
settimana, ma sono in partenza.



text:
"Mauro Falzari" <
mauro_...@despammed.com
> ha scritto nel messaggio
news:Xns95B47BB64E82645...@130.133.1.4...
> Il giorno 3 dicembre 2004, MA ha scritto:
>
> >> 5) se qualcuno (qualche applicazione) accede al vostro database MDB non
> >> attraverso Access, ma poniamo via ADO e modifica direttamente i dati,
> >> bypassando così tutti gli eventi che avete scritto sui vari Recordset,
che
> >> succede?
> >
> > Chi accede lo fa sulle tabelle non sul codice.
>
> sì ma se se accedi via ADO, tutti gli eventi che hai scritto sulle tabelle
> (ammettendo che tu abbia scritto delle operazioni sui dati per esempio
subito
> dopo che è stato inserito un nuovo record, ecc) vengono bypassati
Cerco di essere più chiaro
Gli eventi li scrivi in maschere e moduli e report non sulle tabelle.
E' lo stesso se il db fossa mysql
>
> >> 7) come si crea un dominio?
> >
> > Puoi farlo: in particolare cosa ti servirebbe?
>
> per dare più significato ai dati (esempio un dominio che rappresenta il
> Codice di Avviamento Postale, o un Codice Fiscale, o una Partita IVA)
Scusami ma non mi è chiaro cosa intendi.
>
> >> 8) quando usate un campo di tipo stringa, potete dichiararlo di
lunghezza,
> >> poniamo, 10.000 o siete costretti a usare un altro tipo di campo?
> >
> > Se dichiaro una variabile di 10000 forse è il caso che riveda cosa
voglio
> > fare.
>
> allora diciamo una stringa di lunghezza variabile da 0 a 300 caratteri, è
più
> plausibile così?
> >> 10) potete accedere al database via TCP/IP?
> > Non ma posso mappare le directory
>
> non ho capito, quindi solo tramite le shared folders di Windows?
O percorsi assoluti o relativi
M:\Tuodb.mdb
\\Server\c:\tuodb.mdb
>
> >> 11) quando più utenti stanno lavorando sulla stessa tabella e un'utente
> >> modifica una riga, gli altri vedono le modifiche in tempo reale?
> > c'è il blocco ottimistico una gran cosa
>
> però un utente non vede le modifiche fatte dall'altro finchè non chiude e
> riapre la tabella, o sbaglio?
No, finche ci scrive non passa al record succesivo
> >> Tutto questo a costi zero.
> >
> > Tu sei uno sviluppatore?
>
> anche se non a tempo pieno, sì
Oltre a pc valuta se è il caso che compri il Dev. A quel punto i tuoi
clienti
non hanno bisogno di Access e tu distribuisci il runtime.
> > Su una cosa hai ragione: conosci poco Access e ti dico che confondi
> > la gestione del Front End con quella del BackEnd.
>
> sicuro che invece questa non sia una confusione a cui porta Access?
> Intendo mischiare la gestione dei dati vera e propria (il database
insomma)
> con la gestione dell'interfaccia utente. Mi pare (ma confesso che è
> un'impressione molto superficiale, la mia) che non ci sia un confine ben
> definito di dove finisca il database e dove inizi l'interfaccia utente.
Questo è vero, ma io lo interpreto come ricchezza.
Access è base dati, è sviluppo Interfacce, è sviluppo Report
e può essere supportato o da Jet o Sql-MSDE in maniera diretta o ODBC.
Ma chi ti dà tutte queste opportunità?
Last but not least, questo Ng e quello Microsoft, i vari siti con codice
aperto, molto efficaci
MAssimiliano


author: Alessandro Baraldi

text:
"Simone Calligaris" <
simo...@libero.it
> wrote in message
news:jlVrd.1261$
Zk.3...@twister2.libero.it

He...He...!!
Io ritengo che Mauro abbia ragione da vendere, ma non nello specifico
tuo Simone, in generale....!
Spesso vengono postati spezzoni di codice nel quale si ha dichiarazioni
di variabili ma non esplicita, di conseguenza variant.
Questa è una deformazione tipica di chi non ha cultura informatica
e che ha iniziato a smanettare con Access in quanto comodo strumento
per generare applicativi in modo più agevole che con altri linguaggi.
Chi ha iniziato con linguaggi più a basso livello è stato costretto
ad imparare la dichiarazione e soprattutto la liberazione di memoria.
Non parliamo di chi usava l'Assembler che se non liberava Stack e
registri aveva ben poco da fare, anche perchè una volta l'assembler
ti imponeva di dichiarare l'area di Memoria da dedicare alle variabili
per non parlare poi di quando i dinosauri programmavano Z80 e 6502
nei quali occorreva tener conto della mappatura di memoria del
processore per gestire Grafica Tastiera, Interrupt(ora deviato
dal SubClassing) ecc......!!!
Sono prodotti diversi con limiti diversi e destinatari diversi,
tuttoquesto
per soddisfare esigenze disparate ecc....!!!
Con questo non che access sia uno strumento per smanettoni, ma è uno
strumento che offre anche a chi ha poca esperienza la possibilità
di ottenere qualche risultato, ovvio che la mancanza di una scolarità
porta ai difetti di programmazione di cui parlate.
Il fatto che chi usa Access spesso non è portato ad approfondire
tematiche di programmazione a basso livello potrebbe derivare
dal fatto che non sempre serve, oltre che spesso è complesso e richiede
preparazioni decisamente più specializzate.(questo non significa che non
si faccia)
Saluti
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


text:
Il giorno 2 dicembre 2004, Simone Calligaris ha scritto:
> Tuttavia m'incuriosisce il fatto che tu scriva "uso sterminato dei
> Variant": io non ho mai utilizzato quella robaccia.
> E nemmeno penso che siano molti a farne uso, "VBisti o Accessisti" che
> siano.
> Quindi non usare il plurale "VOI" ... ma voi chi?
e va bene, non avrò le statistiche alla mano ma un linguaggio che ti permette
(finestra Debug) di fare una cosa del genere
a=12
? a + "12"
 24
oppure
? Left(12345, 3)
123
non dirmi che ti invoglia a dichiarare il tipo delle variabili (e poi, è
possibile/facile dichiarare nuovi tipi?)
Insomma possiamo definire VB un linguaggio debolmente tipizzato. E ciò non
aiuta affatto sia lo stile di buona programmazione, sia la robustezza del
codice; quindi anche la ricerca degli errori in fase di debug, perchè se Left
fosse stata scritta come -la butto lì-
  Function Left(text As String, index As Long) As String
il compilatore si sarebbe accorto subito dell'errore, no?
> Il successo di prodotti come PowerBuilder, Access, Omnis studio e simili
> è decretato da un set di strumenti per gestire DB estremamente potenti,
> flessibili, agili e orientati
> all'obiettivo.
> Per contro si deve rinunciare ad avere il "controllo totale" della
> situazione ... la qual cosa all'atto pratico non comporta problemi o
> limitazioni (specie se è possibile sfruttare l'API del sistema
> operativo).
>
> Chiaramente nel contesto di questa discussione: software gestionale.
nè è mia intenzione scatenare una guerra di religione, volevo solo sentire
come la pensavate.
--



text:
Il giorno 3 dicembre 2004, MA ha scritto:
>> 5) se qualcuno (qualche applicazione) accede al vostro database MDB non
>> attraverso Access, ma poniamo via ADO e modifica direttamente i dati,
>> bypassando così tutti gli eventi che avete scritto sui vari Recordset, che
>> succede?
>
> Chi accede lo fa sulle tabelle non sul codice.
sì ma se se accedi via ADO, tutti gli eventi che hai scritto sulle tabelle
(ammettendo che tu abbia scritto delle operazioni sui dati per esempio subito
dopo che è stato inserito un nuovo record, ecc) vengono bypassati
>> 7) come si crea un dominio?
>
> Puoi farlo: in particolare cosa ti servirebbe?
per dare più significato ai dati (esempio un dominio che rappresenta il
Codice di Avviamento Postale, o un Codice Fiscale, o una Partita IVA)
>> 8) quando usate un campo di tipo stringa, potete dichiararlo di lunghezza,
>> poniamo, 10.000 o siete costretti a usare un altro tipo di campo?
>
> Se dichiaro una variabile di 10000 forse è il caso che riveda cosa voglio
> fare.
allora diciamo una stringa di lunghezza variabile da 0 a 300 caratteri, è più
plausibile così?
>> 10) potete accedere al database via TCP/IP?
> Non ma posso mappare le directory
non ho capito, quindi solo tramite le shared folders di Windows?
>> 11) quando più utenti stanno lavorando sulla stessa tabella e un'utente
>> modifica una riga, gli altri vedono le modifiche in tempo reale?
> c'è il blocco ottimistico una gran cosa
però un utente non vede le modifiche fatte dall'altro finchè non chiude e
riapre la tabella, o sbaglio?
>> Tutto questo a costi zero.
>
> Tu sei uno sviluppatore?
anche se non a tempo pieno, sì
> Su una cosa hai ragione: conosci poco Access e ti dico che confondi
> la gestione del Front End con quella del BackEnd.
sicuro che invece questa non sia una confusione a cui porta Access?
Intendo mischiare la gestione dei dati vera e propria (il database insomma)
con la gestione dell'interfaccia utente. Mi pare (ma confesso che è
un'impressione molto superficiale, la mia) che non ci sia un confine ben
definito di dove finisca il database e dove inizi l'interfaccia utente.
--



text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:7a6c60edef1e5b1c31...@mygate.mailgate.org...
> "Simone Calligaris" <
simo...@libero.it
> wrote in message
> news:jlVrd.1261$
Zk.3...@twister2.libero.it
>
> >
[CUT]
> Chi ha iniziato con linguaggi più a basso livello è stato costretto
> ad imparare la dichiarazione e soprattutto la liberazione di memoria.
> Non parliamo di chi usava l'Assembler che se non liberava Stack e
> registri aveva ben poco da fare, anche perchè una volta l'assembler
> ti imponeva di dichiarare l'area di Memoria da dedicare alle variabili
> per non parlare poi di quando i dinosauri programmavano Z80 e 6502
> nei quali occorreva tener conto della mappatura di memoria del
> processore per gestire Grafica Tastiera, Interrupt(ora deviato
> dal SubClassing) ecc......!!!
Alessandro ma da quanti anni è che programmi?
Sunrex
[CUT]



author: ALESSANDRO Baraldi

text:
[CUT]
> Alessandro ma da quanti anni è che programmi?
> Sunrex
>
Con linguaggi ad alto livello lo faccio dal 97 solo per Hobby.
Ho programmato per 6 anni Assembler
un pò per passione un pò per un progetto scolastico, ed un paio d'anni
per un'azienda su processori di automazione industriale quando gli Z80 erano
il
gioiello della tecnica...! per l'appunto l'era dei dinosauri...!
Per capirci mi divertivo a smanettare con C64 e VIC20, ai tempi c'era
una Rivista che si chiamava CommodoreComputer era l'equivalente
del NG ora, allora i miei giochini li inviavo alla rivista, ora c'è il WEB.
Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


text:
"Mauro Falzari" <
mauro_...@despammed.com
> ha scritto nel messaggio
news:Xns95B47BB64E82645...@130.133.1.4...

Riguardo a questa ultima osservazione c'è da fare un distinguo.
Infatti la confusione a cui ti riferisci può accadere solo a chi usa Access
senza usare VBA.Il confine c'è ma dipende dalle qualità dello sviluppatore
Tutte le tue osservazioni vengono bene o male  svolte da Access nel senso
che non è access ma VBA dietro che glielo permette.Ha ragione Ma una cosa è
il Beck End
ed una il Front End.
L'unico limite di Access non è nel linguaggio usato per programmarlo
,secondo me,
ma nella quantità di dati che puoi gestire (2 giga con A00) e nel numero di
utenti
collegati contemporaneamente.
SunRex



text:
> Alessandro ma da quanti anni è che programmi?
> Sunrex
>
> [CUT]
Si narra che Dio un tempo chiamò Noè e Alessandro e disse loro:
a te ti faccio capitano di una nave,
a te mi serve un programma che faccia acqua da tutte le parti!!!!
;-P
MAssimiliano


text:
"Simone Calligaris" <
simo...@libero.it
> ha scritto nel messaggio
news:n32sd.2186$Zk.4...@twister2.libero.it...
>
> > He...He...!!
> > Io ritengo che Mauro abbia ragione da vendere, ma non nello specifico
> > tuo Simone, in generale....!
> > Spesso vengono postati spezzoni di codice nel quale si ha dichiarazioni
> > di variabili ma non esplicita, di conseguenza variant.
> > Questa è una deformazione tipica di chi non ha cultura informatica
> > e che ha iniziato a smanettare con Access in quanto comodo strumento
> > per generare applicativi in modo più agevole che con altri linguaggi.
>
> Scusa Alessandro: sul sito comune sono pubblicati decine di lavori (di
vari
> autori).
> Quante volte hai visto usare tipi variant?
>
> L'1% dei lavori, forse!
>
> Saluti.
Purtroppo ci sono...!! ;-)
Quì andiamo su un campo delicato e la cui valutazione
è spesso più personale che obiettiva.
Quello che c'è pubblicato sul SC è di VARIO livello e non ritengo
possa essere preso come esempio ci sono ottimi lavori e ci sono
lavori discutibili sotto il profilo tecnico di sviluppo, ma non è questo
il punto.
Intendo dire che Access è un bellissimo strumento fruibile anche da chi
non ha basi di programmazione, cosa meno facile che con C++ o Delphi
pertanto gli errori più diffusi della gete poco esperta che usa Access sono
tipici di
chi non ha avuto educazione informatica.
Non troverai facilemnte gente che programma in C++ che non dichiara
variabili... non può, ma sicuramente chi si è avvicinato a C++ no lo ha
fatto
per farsi il Database d'ufficio, per quello la gente si avvicina ad Access
si dice
USER_FRIENDLY (credo)
Ripeto però che non intendo denigrare Access, anzi, lo ritengo talmente un
bello strumento che chiunque lo può usare a livelli +/- approfonditi con i
propri
limiti.



text:
> He...He...!!
> Io ritengo che Mauro abbia ragione da vendere, ma non nello specifico
> tuo Simone, in generale....!
> Spesso vengono postati spezzoni di codice nel quale si ha dichiarazioni
> di variabili ma non esplicita, di conseguenza variant.
> Questa è una deformazione tipica di chi non ha cultura informatica
> e che ha iniziato a smanettare con Access in quanto comodo strumento
> per generare applicativi in modo più agevole che con altri linguaggi.
Scusa Alessandro: sul sito comune sono pubblicati decine di lavori (di vari



text:
"Mauro Falzari" <
(cut)
> Da quel che ho potuto superficialmente vedere di Access, ti/vi pongo
queste
> domande:
(cut)
Cercherò di rispondere analiticamente alle domande, legate però
a una scarsa conoscenza del prodotto.
E non lo dico polemicamente: è un dato di fatto, da quanto scrivi.
Importante: non è questione di giocare in "casa o fuori casa" ma
semplicemente prendere atto della realtà per quella che è   :-)
Premessa:
ACCESS ----  è un ambiente Front- End interfacciabile a QUALUNQUE  motore di
Database (e lo sottolineo)
JET ------        motore default installato con Access, file-Sharing
MSDE -------- motore per applicazioni Client-Server (versione lite di SQL
Server)
MySQL   ----   (altri motori spesso utilizzati con Access)
FireBird------
IBM DB2/AS400
... etc.
Access è anzitutto un ambiente di sviluppo Front-End, con caratteristiche
tipicamente RAD, ma dotato di un linguaggio di programmazione molto più
flessibile rispetto ai sistemi di scripting che generalmente includono
prodotti di analoga natura (alcuni esempi li ho già fatti nel Th).
Parlando di flessibilità mi riferisco in particolare agli interfacciamenti
possibili con l'API del sistema operativo.
Visitando
www.sitocomune.com
  o
http://www.mantuanet.it/alessandro.baraldi/
puoi trovare molti esempi pratici di funzionalità che in altri prodotti RAD
possono essere ottenute solo con Plug-Ins (diciamo ActiveX, .DLL e simili).
Purtroppo l'ambiente in oggetto non è un editor di codice C++ o Pascal,
quindi la distribuzione delle applicazioni è basata su un Runtime royaltee
Free incluso nei pacchetti DEV del prodotto.
Anche in questo caso niente di nuovo o diverso rispetto a tanti classici
prodotti RAD.
Per la cronaca, i files (meta) Compilati delle applicazioni Access hanno
estensione .MDE oppure .ADE.
Il motore di database predefinito di Access è Microsoft JET: una engine
File-Sharing con caratteristiche interessanti per la sua fascia, ma con
tutte le limitazioni del caso.
Le tue osservazioni, peraltro interessanti, sono riferite proprio al motore
JET e in buona parte corrette.
All'atto pratico:      JET sta ad Access come Paradox sta a Delphi
Da parecchi anni, Microsoft raccomanda d'utilizzare MSDE invece che JET per
applicazioni multiutenti.
Le versioni "Developer" di Access contengono le licenze di distribuzione
Royaltee Free del suddetto MSDE.
A tal proposito ACCESS ha due anime:
1)  L'editor di applicazioni per MS JET  (e ODBC)
2)  L'editor di applicazioni .ADP:  ovvero puri files di progetto agganciati
attraverso ADO/OLE-DB a MS SQLServer.
I cosiddetti files di progetto .ADP lavorano nativamente ed esclusivamente
con SQL Server/MSDE pur mantenendo gli strumenti "classici" di Design per
Forms e Reports (con alcune inevitabili differenze operative).
Usando l'editor .ADP, il vecchio motore JET non viene caricato in memoria:
non esiste più.
Con questa configurazione, di conseguenza, non esiste alcuna delle
limitazioni che suggerivi con le tue (interessanti) domande.
All'atto pratico:    MSDE sta ad ACCESS/ADP come FireBird sta a Delphi.
(Per avere informazioni sulle caratteristiche di MS SQL Server, e un
confronto con FireBird, utilizza la KB MS o il sito dedicato al prodotto).
Vale la pena a questo punto approfondire il punto 1) in rapporto ad ODBC.
Oltre alle configurazioni ACCESS + JET  e  ACCESS .ADP + MSDE/SQL Server è
molto diffuso anche l'interfacciamento  ACCESS +  JET + ODBC +  (ODBCDirect)
+ <Altro Server di database>.
Per <Altro Server di database> s'intende in particolar modo MySQL Server
(frequente) ma anche InterBase, AS/400, Oracle e altri.
Personalmente utilizzo da anni, per tutti i nuovi progetti, la
configurazione: ACCESS + JET + ODBC/ODBCDirect + MSDE.
In questi casi la connettività col Server è meno "nativa" rispetto a quella
dei succitati .ADP: il mapping dei tipi di dati sul Client viene effettuato
dalla JET Engine.
E' una soluzione che produce buone applicazioni Client-Server, trovando la
giusta misura tra SQL lato "client" e codice SQL eseguito direttamente sul
Server attraverso ODBCDirect o Query Pass Th.
Anche in questi casi, ovviamente, l'archiviazione è delegata a solidi motori
di DataBase Server transazionali.
Chiaramente ogni motore di database ha caratteristiche e limitazioni
specifiche: SQL Server praticamente nessuna, MySQL parecchie (no triggers,
SP).
Da notare che con ODBCDirect è piuttosto semplice eseguire Stored Procedures
sul Server con parametri D'input/Output ... qualora il motore Server le
supporti.
Ecco, questo è un quadro realistico della situazione: spero d'esser stato
chiaro oltre che prolisso...
Saluti.


text:
> Illuminato e stupito dalle tue affermazioni sulle 'potenzialità' OOP
offerte
> da VBA, ovvero VB, mi sono prodigato nella ricerca
> di articoli sul polimorfismo su 'Visual Studio 6 MSDN Lib.' ed ho trovato
> alcuni articoli interessanti e, credo, i citati esempi concreti.
Assolutamente no!
> Visto che l'oggetto del thread è interessante, propongo a tutti la lettura
> degli articoli che ho trovato: Un buon punto di partenza è il seguente URL
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/htm
> l/vbconinheritancepolymorphismallthat.asp
> Dunque, c'è nell'argomento 'polimorfismo in VB' un po di confusione e si
> comprende (e si vede) benissimo che VB non è stato originariamente pensato
> per supportare la programazione OOP e che successivemente, per tendenze di
> mercato, la MS gli ha aggiunto, direi forzatamente, costrutti per
> l'ereditarietà.
Questa è una tua conclusione (sulla quale peraltro concordo, VB non è certo
nato come OOP): all'atto pratico tuttavia quelle che definisci "aggiunte
forzate" funzionano, e piuttosto bene.
> Per ora rimango della mia opinione (già espressa in questo Thread): VB non
è
> propriamente un  linguaggio OOP.
Altri hanno espresso opinioni più realistiche: parlando di linguaggio con
caratteristiche "miste".
In questo caso sei troppo rigidamente legato alle definizioni studentesche
di OOP, e non lo dico con intenzioni polemiche.
Comunque, dopo le vacanze, vedrò di realizzare una versione "Lite" per il
S.C. di un lavoro sviluppato negli ultimi anni (un wizard dei trattamenti
per maschere e Reports) in cui ho fatto ricorso alle tecniche oggetto del
Th.
Ne riparleremo...
Saluti.


text:
> secondo voi?
> che differenza c'è se non lo fosse fra questa e quella a oggetti?
>
> grazie a tutti.
weee ragazzi che mega news che ho aperto un dibattito all'ultimo sangue....
ma chi sono?


author: Ascorbic

text:


Mi permetto di entrare in questa discussione perchè conosco Access e
conosco database più complessi come SQL Server o Oracle.
Il fatto fondamentale è questo:
Access ingloba in un unico ambiente un database e una serie di tools
per lo sviluppo dell'interfaccia. Quindi posso strutturare tabelle e
query per organizzare i dati ed interrogarli, posso creare al volo una
query di qualsiasi tipo e lanciarla quando mi pare e quando mi serve.
Tutto questo in un unico ambiente (come già detto). Posso programmare
delle maschere di input che, ad esempio, per un certo campo non mi
consentono di inserire dei numeri (nell'esempio sarebbe una maschera
che contiene un campo di inserimento associato ad un campo testo di
una tabella). Dalla mia maschera non potrò mai inserire dei numeri in
un campo di testo dato che dietro del codice VBA sovraintende a questa
operazione... ma Mauro Falzari ha formulato una domanda provocatoria,
concreta e sinceramente reale, perchè se un'altra applicazione esterna
al database stesso, tipo un eseguibile sviluppato in Visual Basic o
qualsivoglia linguaggio capace di utilizzare ADO potrebbe collegarsi
al DB, cambiare i dati e bypassare quella "sicurezza" fornita dalla
maschera con codice VBA. Questo con un db access non si può evitare!
Tranne di protezioni artificiose.
Un db tipo sql server, oracle o a quanto pare anche Firebird non
consentirebbe nulla di tutto ciò semplicemente perchè il motore del db
è l'unico componente in grado di interagine direttamente con i
database e tutte le operazioni provenienti da qualsiasi applicazione
devono transitare dal motore che gestisce il db.
Una volta fissata una regola per una tabella, vale per tutti i
processi che accedono al db, nessuno escluso.
Per tutte le altre domande provocatorie di Mauro, devo dar ragione a
lui... di fatto Access non è un database nel senso ampio del termine,
è solo una parvenza di database (non per offendere access, per carità
io personalmente lo uso in lungo e in largo...).
Non vi è nulla che assomigli ai trigger o alle stored procedure, fermo
restando che per realizzare tali meccanismi devi ricorrere alla
fantasia creando accrocchi ed improvvisazioni (magari anche
funzionanti bene).
Se poi si vuole accedere al db via TCP/IP allora ti dico che non è
possibile, o meglio in giro e sul panorama access per questo
problemino è comparso un certo RDO (Remote Data Object) che è un
equivalente di ADO e DAO capace di gestire database remoti via rete,
ma non propriamente access...
Per i campi a notevole lunghezza (10.000 caratteri) esiste il campo
MEMO capace di contenere fino ad un massimo di 64Kb di dati.
Se devi assegnare dinamicamente la lunghezza di un campo, questo non è
possibile.
Il limite di access non si vede solo sulla capacità totale di dati
gestibili (2 GB), ma anche sui singoli dettagli tipo non è possibile
definire una tabella con più di 256 campi (sarebbero tanti per
qualcuno ma pochi per qualcun'altro). I singoli record non possono
superare una specifica quantità di dati (ora non ricordo quanto...)
I limiti di access sarebbero ancora molti rispetto ai db seri, ma il
fatto è che chi usa access lo fa perchè è un sistema rapido per lo
sviluppo di database ed applicazioni in un unico momento, senza
grossissime pretese.
Chi si orienta ai database seri lo fà perchè deve sviluppare una
applicazioni con una solidità ed affidabilità intrinseca,
l'interfaccia e l'interattività viene dopo...
La verità stà nel mezzo... ben vangano tutte le critiche ma di fatto è
che i due prodotti sono diversi e non direttamente paragonabili.
Paragonabili sarebbero SQL Server ed Oracle, Access e forse il vecchio
DBIII.
Che ne dite?
ciao!


text:

Mauro ha detto delle verità come le hai esposte anche te.
Posso però dire che quando si parla di Access non si deve
SEMPRE e PERFORZA parlare di JET(motore o parvenza di Database).
ACCESS è un'interfaccia utente per quanto mi riguarda decisamente
più solida e stabile di VB per il quale occorre CristalReport
per gestire Stampe, occorrono OCX di ogni marca e modello per gestire
dati ecc...!
Access(Client) offre controlli NATIVI molto solidi e performanti, senza
contare
che passando a Progetti di tipo ADP non si passa nemmeno per JET, ma si usa
direttamente OLEDB e ADO.
Questo solo per precisare che spesso sono persone che sviluppano in
linguaggi
paralleli a vedere lo STEREOTIPO di ACCESS.
Lo sanno anche le pietre che JET è un motore limitatissimo usiamo ACCESS
come
CLIENT verso SQL_SERVER via ADP che prevede in modo NATIVO e VISUALE la
strutturazione di Oggetti SP/VISTE TRIGGER(visuali che sono Relazioni)
ecc...!
Ciao



text:
"Simone Calligaris" <
simo...@libero.it
> ha scritto nel messaggio
news:k22sd.2183$Zk.4...@twister2.libero.it...
>
>
> > Illuminato e stupito dalle tue affermazioni sulle 'potenzialità' OOP
> offerte
> > da VBA, ovvero VB, mi sono prodigato nella ricerca
> > di articoli sul polimorfismo su 'Visual Studio 6 MSDN Lib.' ed ho
trovato
> > alcuni articoli interessanti e, credo, i citati esempi concreti.
>
> Assolutamente no!
Assolutamente no cosa? Gli esempi che ho trovato negli articoli citati non
sono quelli che intendevi?
Io ho seguito le tue indicazioni ed ho trovato degli esempi! Posso essermi
sbagliato, ma gli esempi ci sono.
> Questa è una tua conclusione (sulla quale peraltro concordo, VB non è
certo
> nato come OOP): all'atto pratico tuttavia quelle che definisci "aggiunte
> forzate" funzionano, e piuttosto bene.
Diamine che è la mia conclusione! Tu hai mai scritto o detto conclusioni
pensate col cervello di altri?
Io NON ho MAI detto (pardon, scritto) che non funzionano, ho solo scritto
che sono "aggiunte", nel senso che è lapalissiano che le caratteristiche
per il polimorfismo del VBA (ovvero VB) sembrano 'innestate' nel linguaggio
piuttosto che esserne la radice o la base, come per altri linguaggi OOP.
> > Per ora rimango della mia opinione (già espressa in questo Thread): VB
non
>> è propriamente un  linguaggio OOP.
> Altri hanno espresso opinioni più realistiche: parlando di linguaggio con
> caratteristiche "miste".
Simone, scusa, ma la tua è polemica costruttiva o un residuo adolescenziale
della voglia di contraddire? Se scrivi 'caratterisctiche miste', chi legge
(tra cui io) si fa un idea piuttosto confusa. Che vuol dire "miste"? Mezza
OOP e mezza no con un pizzico di modularità? OOP si ma no troppo? Se leggi
bene ciò che hai scritto vedrai che il mio giudizio 'non propriamente
linguaggio OOP' può ricadere nella tua definizione di linguaggio con
caratteristiche "miste". Non credi?
> In questo caso sei troppo rigidamente legato alle definizioni studentesche
> di OOP, e non lo dico con intenzioni polemiche.
Be, io avrei usato "Accademiche" invece di studentesche se non avessi avuto
intenzioni polemiche (la polemica si accetta di buon grado, se aiuta).
Ci sono montagne di libri che parlano e definiscono cosa si intende per OOP.
Tutte le definizioni che ho studiato sono simili.
Dunque non si tratta di nozionismo, di rigidità o di elasticità delle
difinizioni.
Quando si parla di OOP si fa riferimento un preciso paradigma (o modello) di
programmazione (anzi, più precisamente, di concettualizzazione) e non ad
altro.
Dunque non esiste una OOP non coerente alle definizioni "studentesche",
altrimenti non è OOP.
Esempio, se parliamo di polinomi facciamo riferimento alle definizioni
"studentesche" di polinomio, altrimenti stiamo parlando di altro (ad esempio
di cucina).
> Ne riparleremo...
Non ne dubito.
Saluti a tutti e buone feste.
--
Simplex2
www.mdenittis.it


text:
> Che ne dite?
(cut)
Leggi la risposta che ho dato nel Th un pò più sotto.
ACCESS e JET sono cose differenti: in questo TH non si stava assolutamente
parlando delle limitazioni del vecchio motore JET.
Saluti.


text:
"simplex2" <
> Assolutamente no cosa? Gli esempi che ho trovato negli articoli citati non
> sono quelli che intendevi?
> Io ho seguito le tue indicazioni ed ho trovato degli esempi! Posso essermi
> sbagliato, ma gli esempi ci sono.
Li ho visti, ma non sono quelli: niente di male credo.
> Diamine che è la mia conclusione! Tu hai mai scritto o detto conclusioni
> pensate col cervello di altri?
> Io NON ho MAI detto (pardon, scritto) che non funzionano, ho solo scritto
> che sono "aggiunte", nel senso che è lapalissiano che le caratteristiche
> per il polimorfismo del VBA (ovvero VB) sembrano 'innestate' nel
linguaggio
> piuttosto che esserne la radice o la base, come per altri linguaggi OOP.
> Simone, scusa, ma la tua è polemica costruttiva o un residuo
adolescenziale
Magari : darei una mano per essere XXX anni più giovane  :-)
> della voglia di contraddire? Se scrivi 'caratterisctiche miste', chi legge
> (tra cui io) si fa un idea piuttosto confusa. Che vuol dire "miste"? Mezza
> OOP e mezza no con un pizzico di modularità? OOP si ma no troppo?
Se ti pare...
>Se leggi
> bene ciò che hai scritto vedrai che il mio giudizio 'non propriamente
> linguaggio OOP' può ricadere nella tua definizione di linguaggio con
> caratteristiche "miste". Non credi?
O viceversa la mia definizione "miste" può ricadere nel tuo giudizio: la
sostanza è quella.
> > In questo caso sei troppo rigidamente legato alle definizioni
studentesche
> > di OOP, e non lo dico con intenzioni polemiche.
> Be, io avrei usato "Accademiche" invece di studentesche se non avessi
avuto
> intenzioni polemiche (la polemica si accetta di buon grado, se aiuta).
> Ci sono montagne di libri che parlano e definiscono cosa si intende per
OOP.
> Tutte le definizioni che ho studiato sono simili.
> Dunque non si tratta di nozionismo, di rigidità o di elasticità delle
> difinizioni.
> Quando si parla di OOP si fa riferimento un preciso paradigma (o modello)
di
> programmazione (anzi, più precisamente, di concettualizzazione) e non ad
> altro.
> Dunque non esiste una OOP non coerente alle definizioni "studentesche",
> altrimenti non è OOP.
E invece pare proprio che esista.
> Esempio, se parliamo di polinomi facciamo riferimento alle definizioni
> "studentesche" di polinomio, altrimenti stiamo parlando di altro (ad
esempio
> di cucina).
La concettualizzazione informatica non è matematica.
Esistono DB relazionali, altri che non lo sono, altri ancora che hanno
caratteristiche "miste" (ti piaccia o no la definizione).
Un discorso analogo si può fare in rapporto al presente Th.
Chiudo: saluti


text:


E chi ha parlato mai di JET?
qui si è parlato di ACCESS in generale e non di JET in assoluto.
Il mio contributo al discorso di Mauro era solo una puntualizzazione
visto che alle sue domande (per altro forse poco capite) si è dato
risposte non attinenti... tutto qua.
Tutti sanno che JET è nato in partenza limitato, ma lo scopo di JET
come quello di ACCESS non è fornire gli strumenti per un database nel
vero senso della parola. Serve solo per soddisfare esigenze immediate
come la realizzazione di un archivio personale o cose del genere ma
non venitemi a dire che affidereste ad ACCESS la gestione di una
quantità impressionante di dati e magari anche "sensibili".
tutto qua.
ciao.
x Simone, non ho trovato il tuo th... se lo avessi allegato alla
risposta probabilmente ti avrei potuto anche dare ragione...
ciao!


text:
> Si ma non è OOP, così come un mulo non è un cavallo (così accontentiamo
> anche gli zoologi).
Ribadisco un concetto di per sè elementare: nel nostro settore le cose
affrontate concretamente hanno una valenza diversa rispetto alle relative
definizioni studentesche o accademiche.
E' inutile trincerarsi dietro un: "se <Pinco> non rispetta tutte le seguenti
caratteristiche significa che NON è <pallino>".
In ambito informatico le implementazioni di determinate tecnologie o modelli
(dal Database relazionale alle tecniche OOP) scritti sulla carta da qualche
entusiasta pioniere ... sono sempre state tutt'altro che immutabili e
rigorose.
Ai tempi dell'università dopo aver sviluppato la tesi in ambiente SmallTalk,
ero tentato di sostenere che i linguaggi C++, in confronto, implementassero
rozzamente i paradigmi dell'OOP.
Ma se avessi ceduto alla tentazione di dire o scrivere cose del genere
(sebbene non prive di fondamento) mi sarei comportato da ... studente con le
dita nel naso.
Saluti.


text:
> E invece pare proprio che esista.
Si ma non è OOP, così come un mulo non è un cavallo (così accontentiamo
anche gli zoologi).
> > Esempio, se parliamo di polinomi facciamo riferimento alle definizioni
> > "studentesche" di polinomio, altrimenti stiamo parlando di altro (ad
> esempio
> > di cucina).
>
> La concettualizzazione informatica non è matematica.
ALT.
Quest'affermazione merita una riflessione quasi da mossa scacchistica. Io
non ho citato i numeri ma i polinomi (pensa che all'inizio del Th. mi sono
confuso tra polimorfismo ed isomorfismo). Dunque, la materia con cui io ho
ritengo possibile
un confronto con la concettualizzazione informatica è l'algebra.
L'algebra è un formalismo,  cioè un linguaggio. Si parla spesso, infatti, di
linguaggio algebrico.
All'epoca in cui studiavo algebra mi ci è voluto del tempo tempo per
dissociare
l'algebra dai numeri e considerarla per quello che è: un formalismo
descrittivo che lavora a livello astratto.
La concettualizzazione è quel processo con cui descrivi la realtà adottando
dei modelli formali. Ovvio che nessun informatico adotterebbe i polinomi e
l'algebra per la concettualizzazione, però hai altri strumenti
formali con un potere ugualmente espressivo.
Nella fase di concettualizzazione devi necessariamente applicare il processo
di astrazione e quindi ti occorre un linguaggio per descrivere le tue
astrazioni. Il modello di concettualizzazione per "Tipo Astratto", usato per
la programmazione OOP, ed il modello Entità
Relazione, largamente usato nelle basi di dati, ne sono degli esempi.
Nei linguaggi di programmazione OOP, come C++ ed il Java, il costrutto
corrispondente al concetto di "Tipo Astratto" è la classe, tant'è che uno
dei più diffusi modelli  formali usati per la concettualizzazione di un
programma OOP è il diagramma delle classi (Class Diagram); Con il diagramma
delle classi descrivi formalmente la realtà dove l'applicazione dovrà agire,
ovvero descrivi con COSA l'applicazione dovrà lavorare (la cosiddetta realtà
di interesse) e con il linguaggio di programmazione OOP trasformi quel
diagramma in qualcosa che possa essere facilmente (si fa per dire) tradotto
in codice.
Da questo punto di vista "studentesco", se un linguaggio ha la necessaria
espressività formale per consentirmi di tradurre le mie astrazioni con del
codice in modo biunivoco, allora lo ritengo OOP, altrimenti è NON OOP (nella
quale categoria, complementare della precedente, ricomprendo gli ibridi, o
misti, come VBA).
Ovviamente è il mio punto di vista.
Passo:
Ciao.
--
Simplex2
www.mdenittis.it


text:
"Ascorbic" <
> E chi ha parlato mai di JET?
> qui si è parlato di ACCESS in generale e non di JET in assoluto.
> Il mio contributo al discorso di Mauro era solo una puntualizzazione
> visto che alle sue domande (per altro forse poco capite)
>si è dato
> risposte non attinenti... tutto qua.
E' una puntualizzazione sbagliata: le domande di Mauro (chiarissime)
riguardano esclusivamente  le caratteristiche d'archiviazione di JET.
Che poi voi confondiate ACCESS con JET è un altro discorso: sarebbe come
metter in piazza le limitazioni di PARADOX e confonderle con .... DELPHI!
Non capisco per quale ragione si continui a insistere in questo TH senza
avere nemmeno le conoscenze più elementari del prodotto in oggetto...
andiamo male ragazzi.
> Tutti sanno che JET è nato in partenza limitato, ma lo scopo di JET
> come quello di ACCESS non è fornire gli strumenti per un database nel
> vero senso della parola.
>Serve solo per soddisfare esigenze immediate
> come la realizzazione di un archivio personale o cose del genere ma
> non venitemi a dire che affidereste ad ACCESS la gestione di una
> quantità impressionante di dati e magari anche "sensibili".
> tutto qua.
E ridaiee:  ACCESS non c'entra nulla!!
Semmai non affideremmo al motore JET la gestione di una quantità di dati
etc. etc.
Per il resto con ACCESS, l'ambiente Front-End, puoi sviluppare qualunque
tipo d'applicazione, di qualunque grado di sofisticatezza: e ci mancherebbe
cristo!
> x Simone, non ho trovato il tuo th... se lo avessi allegato alla
> risposta probabilmente ti avrei potuto anche dare ragione...
Aver ragione?  Mah!
Saluti.


text:
"Ascorbic" <
portaz_...@hotmail.com
> ha scritto nel messaggio
news:5at6r0h05qs0kv82r...@4ax.com...
> On Fri, 03 Dec 2004 14:09:30 GMT, "SunRex"
> <
sunrexs...@hotmail.com
> wrote:
>
> >
> >"Mauro Falzari" <
mauro_...@despammed.com
> ha scritto nel messaggio
> >news:Xns95B47BB64E82645...@130.133.1.4...
> >> Il giorno 3 dicembre 2004, MA ha scritto:
> >>
[MEGACUT]
> Per i campi a notevole lunghezza (10.000 caratteri) esiste il campo
> MEMO capace di contenere fino ad un massimo di 64Kb di dati.
> Se devi assegnare dinamicamente la lunghezza di un campo, questo non è
> possibile.
> Il limite di access non si vede solo sulla capacità totale di dati
> gestibili (2 GB), ma anche sui singoli dettagli tipo non è possibile
> definire una tabella con più di 256 campi (sarebbero tanti per
> qualcuno ma pochi per qualcun'altro)
Dall'alto della mia ignoranza se ti ritrovi ad avere una tabella con 256
campi mi sa che hai sbagliato qualcosa nell'analisi.
. I singoli record non possono
> superare una specifica quantità di dati (ora non ricordo quanto...)
> I limiti di access sarebbero ancora molti rispetto ai db seri, ma il
> fatto è che chi usa access lo fa perchè è un sistema rapido per lo
> sviluppo di database ed applicazioni in un unico momento, senza
> grossissime pretese.
> Chi si orienta ai database seri lo fà perchè deve sviluppare una
> applicazioni con una solidità ed affidabilità intrinseca,
> l'interfaccia e l'interattività viene dopo...
> La verità stà nel mezzo... ben vangano tutte le critiche ma di fatto è
> che i due prodotti sono diversi e non direttamente paragonabili.
> Paragonabili sarebbero SQL Server ed Oracle, Access e forse il vecchio
> DBIII.
> Che ne dite?
> ciao!
>
Giustissime tutte le tue osservazioni ma rimane il fatto che nella sua
fascia
Access è un piccolo gioiellino.Nessuno si sognerebbe di gestire un DB con
dati "sensibili" con Access.....o no?....:(
RDO è nato dopo DAO ma non ha avuto una gran vita soppiantato dopo
da ADO che puoi usare con Access.
SunRex


text:
"Simone Calligaris"
> Per il resto con ACCESS, l'ambiente Front-End, puoi sviluppare qualunque
> tipo d'applicazione, di qualunque grado di sofisticatezza: e ci
mancherebbe
> cristo!
... e qualunque motore d'archiviazione.
Il link che non trovi (la risposta a Falzari) è il seguente:
http://www.newsland.it/nr/browse/it.comp.appl.access/115403.html
Ti prego di verificare razionalmente quanto scritto,  prima di proseguire
nel Th con affermazioni fuori dalla realtà.
Saluti.


text:
"
> > superare una specifica quantità di dati (ora non ricordo quanto...)
> > I limiti di access sarebbero ancora molti rispetto ai db seri, ma il
> > fatto è che chi usa access lo fa perchè è un sistema rapido per lo
> > sviluppo di database ed applicazioni in un unico momento, senza
> > grossissime pretese.
> > Chi si orienta ai database seri lo fà perchè deve sviluppare una
> > applicazioni con una solidità ed affidabilità intrinseca,
> > l'interfaccia e l'interattività viene dopo...
> > La verità stà nel mezzo... ben vangano tutte le critiche ma di fatto è
> > che i due prodotti sono diversi e non direttamente paragonabili.
> > Paragonabili sarebbero SQL Server ed Oracle, Access e forse il vecchio
> > DBIII.
> Giustissime tutte le tue osservazioni
Scusa la pedanteria: sono affermazioni giustissime, solo nel caso si lavori
col vecchio motore JET di Access.
Chi (e sono molti) sviluppa soluzioni usando MSDE o SQL Server sul lato BE,
non ha nessuno di quei limiti o problemi.
L'epoca di Access 1.1 credo sia finita da un bel pezzo: o no?
Saluti.


text:
"Simone Calligaris" <
simo...@libero.it
> ha scritto nel messaggio
news:Rb%sd.7032$Zk.1...@twister2.libero.it...

Si mi trovi daccordo.
SunRex



text:
> Ribadisco un concetto di per sè elementare: nel nostro settore le cose
> affrontate concretamente hanno una valenza diversa rispetto alle relative
> definizioni studentesche o accademiche.
Il concetto elementare che tu hai espresso l'ho capito da tempo, ma non è
questo il punto.
> E' inutile trincerarsi dietro un: "se <Pinco> non rispetta tutte le
seguenti
> caratteristiche significa che NON è <pallino>".
Stai mentendo a te stesso. Una cosa è o appartiene ad un dato insieme se e
solo se rispetta certi requisiti, altrimenti non è o non appartiene a
quell'insieme.
Questo lo sai benissimo. Il fatto che un linguaggio rispetti o meno un dato
modello fa si che esso sia o non sia coerente con quel modello.
Il fatto che esistano soluzioni ibride nei linguaggi, per convenienza
applicativa, non implica un improprio allargamento del criterio di
classificazione ovvero una defiscalizzazione delle regole (meglio dire
specifiche) con le quale giudichi un linguaggio aderente ad un certo modello
o meno.
Questo principio, sacrosanto sia in teoria, lo è anche in pratica, per lo
meno nelle cose che io affronto concretamente quotidianamente.
Co ciò non voglio sostenere che una cosa se non è bianca è nera. Io esprimo
il concetto che se una cosa non è bianca è NON BIANCA (quindi rossa,
marrone, gialla, verde, nera,.......).
Siccome ritengo di aver annoiato la maggior parte dei lettori (questo th lo
stiamo praticamente conducendo io e te a botta e risposta), ritengo sia
doveroso e riguardoso concluderlo qui.
Comunque mi dispiace liquidare l'argomento perchè è interessante. Se vuoi
continuare lo scambio di vedute (di cose da dire ce ne sarebbero) possiamo
farlo via mail. Il mio indirizzo lo trovi sul sito il cui URL è apposto alla
mia firma.
Saluti.


text:


hai ragione... non volevo urtale la sensibilità di nessuno le mie
erano solo constatazioni...
ciao.


text:
Il giorno 3 dicembre 2004, Simone Calligaris ha scritto:
> ACCESS ----  è un ambiente Front- End interfacciabile a QUALUNQUE
> motore di Database (e lo sottolineo)
ti ringrazio per le tue precisazioni; interessante la possibilità di
connettersi via ODBC ad altri database engine (da verificare le prestazioni,
però)
> Le tue osservazioni, peraltro interessanti, sono riferite proprio al
> motore JET e in buona parte corrette.
> All'atto pratico:      JET sta ad Access come Paradox sta a Delphi
ammetto il mio errore, cioè quello di essere partito dall'assunto che dire
Access equivalesse a dire JET
> Da notare che con ODBCDirect è piuttosto semplice eseguire Stored
> Procedures sul Server con parametri D'input/Output ... qualora il motore
> Server le supporti.
dovrò fare delle prove con FB (Firebird)
> Ecco, questo è un quadro realistico della situazione: spero d'esser
> stato chiaro oltre che prolisso...
no, anzi, ti ringrazio per la dovizia di particolari nelle spiegazioni e
ringrazio anche gli altri partecipanti a questo thread per il contributo
apportato.



text:
"Mauro Falzari" <
> ti ringrazio per le tue precisazioni; interessante la possibilità di
> connettersi via ODBC ad altri database engine (da verificare le
prestazioni,
> però)
Da verificare, dipendentemente dalle caratteristiche del driver ODBC per uno
specifico Server.
Posso dire che gli ODBC per SQL Server, che sfrutto da anni, hanno
ottime prestazioni anche senza ricorrere al SQL specifico del Server.
> > Ecco, questo è un quadro realistico della situazione: spero d'esser
> > stato chiaro oltre che prolisso...
> no, anzi, ti ringrazio per la dovizia di particolari nelle spiegazioni e
> ringrazio anche gli altri partecipanti a questo thread per il contributo
> apportato.
Saluti.


title: Dove trovo dei doc per fare le quary?

author: Apsella

text:
Siccome in ufficio mi hanno detto di fare delle quary e io non so
neanche da dove iniziare (non è il mio lavoro :(, volevo sapere se
avete per caaso dei doc oppure su dove reperirli.
Ciao e grazie
Apsella
togliere NOSPAM per le risposte private
aricgrazie


title: Dove trovo dei doc per fare le quary?

author: Claudio

text:
"Apsella" <
NOSPAM...@yahoo.it
> ha scritto nel messaggio
news:0evlquc8bnh374kn9...@4ax.com...
> Siccome in ufficio mi hanno detto di fare delle quary e io non so
> neanche da dove iniziare (non č il mio lavoro :(, volevo sapere se
> avete per caaso dei doc oppure su dove reperirli.
Apri Access (che spero tu abbia), premi F1 e cerca per "query". Troverai tutto
quello che ti serve.
Per le "quary" non ti so aiutare :-)
Ciao. Claudio.


title: aiuto x maschera

author: tiscali news

text:
ciao a tutti sono al prime armi con access e chiedo il vostro aiuto per
risolvere il mio problema.
passo al problema ho creato due tabelle da un floppy una contente i codici
dei prodotti di una ditta mentre sull'altra ho le descrizioni dei prodotti
il mio problema che vorrei creare una maschera con delle caselle di testo
che quando digito il codice prodotto nella  prima casella  mi esca la
corrispondente descrizione nella seconda casella di testo
ringrazio in anticipo tutti coloro che mi aiuteranno a risolvere il mio
problema
marco


title: aiuto x maschera

author: sala davide

text:
" tiscali news" <
m_bor...@tiscali.it
> ha scritto nel messaggio
news:as8bjl$3as$1...@lacerta.tiscalinet.it...

devi fare una scheda della seconda tabella, collegata alla prima scheda con
id record
Ciao Davide


title: aiuto x maschera

author: smark

text:
1. Crea una query con la tabella PRODOTTI "NomeQuery" dove metterai almeno
CODICE e DESCRIZIONE
2. Crea una maschera con almeno una casella combinata (Testo1) e una casella
di testo (Testo2)
3. Nelle proprietą di Testo1 lasciare vuoto l'origine controllo e digitare
su
    tipo origine riga:        Tabella/Query
    origine riga      :         NomeQuery
    colonna associata:     1
    numero colonne:       2
    larghezza colonne:     1 cm;0 cm (0 se non vuoi vedere anche la colonna
DESCRIZIONE)
    dopo aggiornamento: [Routine evento]
                                    Private Sub Testo0_AfterUpdate()
                                            Me!Testo2 = Me!Testo1.Column(1)
                                            ' NB la column(0) č il codice
                                    End Sub
4. Nelle proprietą di Testo2 nel campetto "origine controllo" digitare il
campo DESCRIZIONE quale risultato
Oddio spero di non aver tralasciato nulla
" tiscali news" <
m_bor...@tiscali.it
> ha scritto nel messaggio
news:as8bjl$3as$1...@lacerta.tiscalinet.it...



title: aiuto x maschera

author: Roberto da casa

text:
" tiscali news" <
m_bor...@tiscali.it
> ha scritto nel messaggio
news:as8bjl$3as$1...@lacerta.tiscalinet.it...

Usa la funzione DLookup (vedi help)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: VBA: errore sul comando docmd.maximize

author: sdamy

text:
Ciao a tutti,
il comando docmd.maximize è molto utile per allargare le maschere a tutto
schermo.
Però ogni tanto mi viene l'errore:" impossibile eseguire il comando in
questo momento...." e si apre l'editor VBA
qualcuno sa dirmi da che cosa dipende l'errore?


title: VBA: errore sul comando docmd.maximize

author: MegaMax

text:
"sdamy" <
sd...@tiscalinet.it
> ha scritto nel messaggio
news:qZ8O6.293$FU4....@news1.tin.it...

boh.... magari quando lo fai da una maschera pop-up o da una non
ridimensionabile...
a me non è mai successo, di solito lo faccio solo allìapertura del DB
Ciao, max


title: VB e decimali...

author: Roberto

text:
Salve
sull'evento afterupdate di un controllo ho inserito il seguente codice
  Select Case Importo_precettato
    Case Is <= 1000000
    Diritti = 5000
    Case Is <= 5000000
    Diritti = 7000
    Case Is > 5000000
    Diritti = 13000
    End Select
i valori in questione sono tutte Lire..e devo trasformarli in euro....
ma il medesimo codice con i valori espressi in euro non riconosce i
decimali...
    Select Case Importo_precettato
    Case Is <= 516, 46
    Diritti = "3,87"
    Case Is <= 2582, 28
    Diritti = "5,42"
    Case Is > 2582, 28
    Diritti = "10,07"
se immetto nel controllo importo_precettato il valore 516,00 il controllo
Diritti sara' = 3,87
ma se immetto nel controllo importo_precettato  il valore 516,01  al
controllo Diritti verra' attribuito il valore del case successivo , ovvero
5,42...
con le lire avevo solo valori interi ed il codice girava perfettamente..con
l'euro ed i suoi 2 decimali...niente...
Grazie in anticipo a chi mi dara' una mano...
Roberto


title: VB e decimali...

author: oliones

text:
Roberto <
lam...@tin.it
> wrote in message
9qpmng$f6l$1...@pegasus.tiscalinet.it...

     Select Case Importo_precettato * 100
     Case Is <= 516 46
     Diritti = "3,87"
     Case Is <= 2582 28
     Diritti = "5,42"
     Case Is > 2582 28
     Diritti = "10,07"
cosě ?


title: VB e decimali...

author: The-real-Isaac

text:
"Roberto" <
lam...@tin.it
> ha scritto nel messaggio
news:9qpmng$f6l$1...@pegasus.tiscalinet.it...

In VBA il separatore dei decimali è il punto, quindi:
Select Case Importo_precettato
     Case Is <= 516.46
     Diritti = 3.87 (non servono neanche le virgolette)
    ...
Ciao
--
Alberto


title: VB e decimali...

text:
"The-real-Isaac" <sartori.rossi.nospam@tin> ha scritto nel messaggio
news:pF%z7.1128$HT2....@news1.tin.it...

Grazie.....mi ero perso in un bicchiere d'acqua
Roberto


title: VB e decimali...

author: Filippo

text:
"Roberto" <
lam...@tin.it
> ha scritto nel messaggio
news:9qpmng$f6l$1...@pegasus.tiscalinet.it...
> Salve
CUT
>
> ma il medesimo codice con i valori espressi in euro non riconosce i
> decimali...
>
>     Select Case Importo_precettato
>     Case Is <= 516, 46
>     Diritti = "3,87"
>     Case Is <= 2582, 28
>     Diritti = "5,42"
>     Case Is > 2582, 28
>     Diritti = "10,07"
>
>
> se immetto nel controllo importo_precettato il valore 516,00 il controllo
> Diritti sara' = 3,87
> ma se immetto nel controllo importo_precettato  il valore 516,01  al
> controllo Diritti verra' attribuito il valore del case successivo , ovvero
> 5,42...
>
> con le lire avevo solo valori interi ed il codice girava
perfettamente..con
> l'euro ed i suoi 2 decimali...niente...
>
> Grazie in anticipo a chi mi dara' una mano...
>
> Roberto
>
Non devi mettere la virgola ma il punto:     Case Is <= 516. 46
come facevi tu il compilatore leggeva
se è minore di 516 oppure se è uguale a 46 (che nel caso concreto era la
stessa cosa)
Ciao
P.S. se l'applicazione è per fare le parcelle degli avvocati (come credo
essendo io avvocato) non so se vale la pena fare tanta fatica perché
probabilmente le nostre tariffe, ferme al 1995, saranno quasi certamente
aggiornate in euro con importi probabilmente interi se non addirittura
eliminate del tutto, come da alcune parti si chiede.
Ciao
Filippo


title: FindFirst secondo voi perchè non mi trova il record cercato?

text:
RS4.FindFirst tipo = " & RS3!LatoBordareA1 & "
tipo è il nome del campo e  RS3!LatoBordareA1 è una stringa che vale A, B, C
ecc.......
grazie a tutti.


author: Antonio Biso

text:
"@----- Pinco --@-- Pallino -----@" <
tos...@libero.it
> ha scritto nel
messaggio news:pR919.13606$n04.4...@twister2.libero.it...
> RS4.FindFirst tipo = " & RS3!LatoBordareA1 & "
>
> tipo è il nome del campo e  RS3!LatoBordareA1 è una stringa che vale A, B,
C
> ecc.......
Scrivi cosa invece fa o non fa, se da errore ecc.
Comunque, il valore del campo di RS3 deve essere circondato da apici
singoli, perchè è di testo. E' la solita sintassi dei criteri WHERE...
Ricordati anche che il recordset RS4 deve essere aperto con opzione
dbopendynaset
Antonio