Newsgroup: it.comp.software.database
Titolo: Programmazione VBA

Salve, dopo vari tentativi di personalizzare Access mi son convinto (come 
avevate suggerito in un post precedente) a tentare un approccio con la 
programmazione (VBA e SQL). Quello che vorrei sapere č se le nozioni VBA in 
Access sono utili anche nella programmazione VBA relativa ad Excel, Word, 
Autocad o se ogni volta bisogna ricominciare da zero (da notare che in 
Autocad la programmazione č basata su oggetti) o magari puň bastare un 
piccolo aggiornamento.
Grazie 

 piccolo aggiornamento.
Premettendo che non uso VBA da parecchi anni e consigliandoti di 
chiedere in un ng più in tema, in linea di massima VBA è molto simile 
tra i vari applicativi che citi.
Ovviamente cambiano gli oggetti specifici su cui puoi lavorare, che sono 
tipici dell'applicazione (foglio di calcolo, documento testuale, 
immagine) ma la sintassi è la stessa così come gli oggetti generali 
(collections, GUI, gestione file, etc.).

 ha scritto nel messaggio 
news:4d628c61$0$1358$4faf...@reader2.news.tin.it...


 VBA.
Insomma... VBA si usa in 3-4 applicativi, SQL in tutti i database 
(escludendo i NoSQL ovviamente)...
Però sono linguaggi molto diversi come ambito d'impiego.


Ho l'impressione che non hai le idee chiare, il VBA e lo SQL non solo sono 2 
linguaggi diversi, ma fanno anche cose diverse e non sono altrentivi ma 
semmai lavorano insieme.
Conosco abbastanza Access e non credo che utilizzare una mezza giornata a 
leggere il manuale possa servire a imparare a scrivere un applicativo.
I dati che ipoteticamente si trovano nella tabella che tu hai costruito 
possono essere letti/filtrati/modificati con SQL. (query eventualemnte 
lanciate da macro o da VBA dei pulsanti ecc.). Se invece c'è la necissità di 
fare cose che non si possono fare con macro e pulsati predisposti, bisogna 
utilizzare i moduli e li dentri scrivere il VBA ed eventualmente le query
Per esempio così:
Dim db As Database: Set db = CurrentDb
'aggiunge 1 al campo  Count  della tabella  _collegamenti
db.Execute "UPDATE MSysAccessObjects1 SET MSysAccessObjects1.[count] = 
[Count]+1 WHERE (((MSysAccessObjects1.ID)=1));"
'apre la query per leggere il numero delle prove ed il codice di attivazione
Dim ds As Recordset: Set db = CurrentDb
Set ds = db.OpenRecordset("SELECT MSysAccessObjects1.count FROM 
MSysAccessObjects1 WHERE (((MSysAccessObjects1.ID)=1));")
NProve = ds(0)
ds.Close
Saluti
Ernesto

 ha scritto nel messaggio 
news:lfW8p.51385$7b4....@tornado.fastwebnet.it...



Il campo OLE lo devi fare nella tabelle, ma non � per nulla pratico ed in 
pi� rallenta l'esecuzione del database.
SQL � di fatto uno standard nell'accesso ai database relazionali, non solo 
come linguaggio di interrogazione, ma per l'esecuzione di qualsiasi tipo di 
operazione da parte di qualsiasi tipo di utenza.
Access � un DBMS e SQL � una parte  del pacchetto e SQL da solo farebbe ben 
poco..
Quando scrivi SQL per il web intedi MySQL? In questo caso per gestire SQL ci 
vuole PHP.
Ciao
Ernesto

 vuole PHP.
O uno degli altri innumerevoli linguaggi con interfaccia verso mysql.

 Ernesto
Infatti ho creato sia la tabella che la maschera che mi consente di 
scorrerle ma se creo la pagina html il campo ole non è visibile. Poi non 
intendevo MySQL ma SQL con le query di access in visualizzazione codice, 
anche se quest'ultimo col web non centra niente (avevo fatto confusione). 
Mi puoi spiegare sinteticamente cosa permette di fare MySQL e se è 
altrettento semplice di SQL. Come neofita gradirei davvero un consiglio.
Ciao e grazie
Luigi 


Database letteralmente significa base di dati, è un insieme di informazioni 
correlate. I dati sono disposti in modo da consentirne una rapida gestione 
secondo criteri prestabiliti, ovvero, nel caso di un PC, in modo che un 
programma possa trovare facilmente le informazioni richieste dall'utente. I 
database tradizionali sono organizzati in tabelle, ogni riga di una tabella 
è un record, ogni parte di record è un campo.Il tipo di database del quale 
parliamo è del tipo relazionale, cioè le tabelle sono poste in relazione tra 
loro consentendo una gestione ottimale dei dati. La relazione fra tabelle  è 
un collegamento stabilito tra campi comuni di due tabelle. Una relazione può 
essere di tipo uno-a-uno, uno-a-molti o molti-a-molti. Per esempio se hai 
una tabella Regioni ed una tabella Città la relazione è uno a molti fra 
Regioni e Città  Le query sono richieste sottoposta alla/e tabelle del 
database per recuperare informazioni in base a specifiche regole o a valori 
detti criteri di selezione o per inserire/modificare/cancellare dei record.
Le query sono scritte in un linguaggio apposito che si chiama SQL. SQL è l'acronimo 
di Structured Query Language,  che è il linguaggio utilizzato per la 
creazione, manipolazione e gestione dei dati contenuti in un database. 
Secondo me è un linguaggio in se abbastanza semplice,  la parte più 
complessa  non è il linguaggio in se ma il creare, con la logica giusta, la 
relazione fra le varie tabelle e query del database.
Le maschere sono oggetti di database da utilizzare per visualizzare in 
un'interfaccia amichevole per l'inserimento o la modifica dei dati da parte 
dell'utente.
In genere nella/e tabelle ci sono i dati, su questa/e si basa una query ed 
il tutto viene visualizzato con una maschera.
Per collegare fra loro le maschere è possibile utilizzare dei pulsanti che 
nel caso di Access possono agire su delle macro (o VBA), la quali macro non 
sono altro che una sequenza di funzioni elementari  che riassumono più 
operazioni di tipo ripetitivo.
Tornando alla tua domanda "Mi puoi spiegare sinteticamente cosa permette di 
fare MySQL e se è
altrettanto semplice di SQL ? ":  MySQL è un Database management system 
relazionale, composto da un client con interfaccia a caratteri e un server, 
entrambi disponibili sia per sistemi Unix che per Windows.
Mentre SQL  è un linguaggio standard  per interagire con la maggior parte 
dei database e se uno dovesse spostarsi da MySQL, Microsoft SQL server, 
Aceess eccetera potrebbe vedere che la maggior parte dei comandi sono gli 
stessi e la logica è identica.
Detto questo, se tu hai un po' di dimestichezza con Access, possiamo dire 
che per utilizzare MySQL occorre anche imparare PHP perché lavorano insieme.
Per farti un esempio VB sta a PHP come la query di Access stanno a 
MySQL-(SQL)  e le maschere di Access stanno ad Explorer (o FireFox).
Ovviamente per grandi linee e molto approssimativamente.
Al contrario di VB, PHP lavora solo lato server per cui occorre installare 
sul proprio PC un server locale, su questo server risiede anche il database 
con il quale iniziare a lavorare.
Nel  caso di MySQL-PHP, le pagine web non devono essere html e nemmeno htm 
ma devono essere obbligatoriamente PHP altrimenti non funzionano.
Ti ho scritto questo perché dici che sei neofita, anche se di sicuro in 
questo NG c'è chi ne sa molto più di me.
Ciao
Ernesto

 sul proprio PC un server locale,
Non è vero c'è l'interprete come per qualsiasi altro linguaggio.

 altrettento semplice di SQL.
Con SQL ci si riferisce comunemente al linguaggio standard o a uno dei 
suoi dialetti. 
Tu invece lo usi per indicare un programma, Microsoft SQL Server, che di 
solito viene riferito con MSSQL.

 
interessante affermazione
ciao
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

> ciao
ciao 

 
bye


 se pensi di poterlo fare ti manca qualche pezzo.
Paolo io non voglio polemizzare con te o altri utenti di questo ng visto che 
in generale avete la cortesia di rispondere e rendervi utili soprattutto ai 
neofiti come me ma, malgrado la confusione che tu mi attribuisci ti 
garantisco che non ho mai pensato (ne detto) di sostituire con SQL un 
qualsiasi linguaggio di programmazione. Dico solo che il primo è più 
semplice e quindi alla mia portata, nel senso che non sono il tipo da 
rischiare un'attacco di meningite per decifrare il cirillico, quindi mi devo 
accontentare per forza. Tutto qui. Poi mi mancherà qualche pezzo ma se 
continui ad interpretarmi come ti aggrada mi sorge il sospetto che qualche 
tegola manca pure a te.
Ciao 

 tegola manca pure a te.
Non intendeva mica "ti manca qualche rotella", intendeva "ti manca 
qualche pezzo nel quadro del funzionamento dei programmi che usano le 
basi di dati".

,
OK, come non detto.
Ciao 

 un collegamento stabilito tra campi comuni di due tabelle.
Inoltre, per mettere in relazione i record, si usa mettere
una chiave autoincrementante di tipo numerico in ciascuna
tabella, onde velocizzare le relazioni.

 campo Ole contenente immagini.
IMVHHHHHHO, è meglio se riavvolgi un po' il nastro e dedichi un po' di
tempo ad approfondire le tue conoscenze di base sull'informatica,
iniziando a rimuovere certi concetti profondamente sbagliati come
quello che la programmazione e la gestione di strumenti informatici
siano cosette semplici che si imparano in poche ore.
Il fatto che esistano strumenti che presentano interfaccie semplici
non vuol dire che gli strumenti *siano* semplici.
bye!