Newsgroup: italia.genova.discussioni
Titolo: [AIUTO !!]   Access database da leggere in Visual Basic

cari colleghi,
ora, datosi che io veramente il Visual Basic lo impiego dal 1998 però dato
che ho sempre odiato accedere i database degli altri, così me li facevo io
da solo col Random Access Method, allora adesso invece mi tocca leggerne
uno abbastanza grande, giá esistente e implementato in un ospedale. Quindi
non ho scelta. Non posso fare i ka§§i miei e devo leggerlo.
Allora chiedo aiuto :  mi mandate un paio di esempi di codifica Visual Basic
per leggere un Database Access (.mdb)  organizzato a tabelle ??
cioè 
- come si apre con open (l'ho collegato in design-mode al 'Data' tool ma non
me lo prende)
- ho il messaggio 'format non known' però è un Access Database e dovrebbe
funzionare senza problemi
- sapete se esiste un forum per Visual Basic ??
Grassie.
John.

- sapete se esiste un forum per Visual Basic ??
Guarda che nei forum son mica tutti come qui. Le domande troppo banali
e quelle fatte da qc. che non ha contribuito risposte in generale non
vengono cagate. Ci sono parecchi NG della gerarchia microsoft che
forse sono presidiati da omini prezzolati da bill gates.
E comunque alla tua domanda non si puň rispondere in meno di 10
pagine.
Io mi cercherei dei bei tutorial su SQL e su DAO.
Questi link sono un po' vecchiotti, ma c'era roba interessante:
http://www.vbexplorer.com/VBExplorer/VBExplorer.asp
http://wimania.com/daniel/vb/
www.vbip.com/
http://vbnet.mvps.org
www.vbinformation.com/
http://vb.mvps.org/
http://www.seta.it/vb/index.htm
http://www.vbaccelerator.com/home/index.asp
http://abstractvb.com/
http://www.codehound.com/vb/
http://www.visualbuilder.com/
Oppure fa' come Sandra: googlati un bel "VB tutorial" e vedi che ne
esce.
-- 
Nulla č impossibile per chi non lo deve fare.

 
URCA ! ce n'è qua da leggere !
Comunque grassie.  :-)))


mica vero : basta un paio di righe, al massimo 20.
Comunque ho già trovato un 'busillis'. Nelle prime righe del tutorial (ho
fatto la 'Sandra', ho 'googlato' come suggerivi tu ) si dice :
'Il Visual Basic 6 rende obsoleto il sistema di accesso 'Jet' e lo
sostituisce con l'ADO , Active data Objects.
E quindi io avevo fatto già un errore : avevo usato il Jet.
Quando ho corretto questo, da allora non mi da più 'unknown Format'.
E' già qualcosa.
Adesso continuo a 'studiare' (...uuuhhh come odio leggere i tutorial...)
 
ciao e grassie ancora.
John.

ora, datosi che io veramente il Visual Basic 
 Uhm, mi sa che la parte di subject fra parentesi vada letto al contrario:
[!! OT UIA]
 Macchinoso, eh? Chevvordi' "UIA"?
 8-Þ
	pgg 

pgg wrote:

URCA ! mi hai beccato.. Pensavo che a quest'ora si era nella 'pgg-free
timezone' .... :-))))

timezone' .... :-))))
 Ok, voglio essere magnanimo (spero di non pentirmene): ti lascio alcuni
giorni di liberta' di OTeggio...
 8-)
	pgg

pgg wrote:

*WOOOOW** licenza di OTeggiare !!  che bello !!.... :-)))

 6
Mi dai qualche mezz'ora per metterti insieme un po' di codice?

giorgio wrote:

Anche tre ore :-))))
Grassie !! :-))

per leggere un Database Access (.mdb)  organizzato a tabelle ??
Usa Visual Basic for Application (VBA) incorporato in Access, partendo
ad esempio dagli Wizard interni. Costruisci una maschera di partenza
dentro un tuo mdb (client, front-end) da cui accedere ai dati che vuoi
sul mdb (immagino) remoto (back-end; ovviamente con ammessa
visibilita'),  "mappato" sul tuo pc (immagine locale della locazione
in rete).
Ho alcuni lavori aziendali sotto Access; dammi con piu' dettaglio -
magari in privato -  i termini dell'esempio richiesto.  
Ciao.
LG
ES.
    Dim dbs As Database, impo As Recordset
 
    Set dbs = CurrentDb 
    'oppure: Set dbs = OpenDatabase("H:\remoto.mdb")
 
    Set impo = dbs.OpenRecordset("Impostazioni")
 
    '...loop di lettura, con impo.MoveFirst... impo.MoveNext...
    'nota che qui il recordset viene specificato col punto; 
    'ma campo_su_maschera =  impo!campo_su_tabella  
    'col punto esclamativo (se i campi non sono gia' associati..) 
    impo.Close
    dbs.Close
    Set impo = Nothing
    Set dbs = Nothing
    'rilascia memoria utilizzata nello stack 
Per estrarre sottinsiemi ordinati di dati dagli archivi bisogna
imporre dei filtri, ad es. in SQL nel recordsource della maschera o
del report (RecordSource = "Select.... FROM... WHERE.... ORDER
BY....").

 
<cut>
grazie mille dell'esempio. Ma apparentemente questo metodo che usi tu (non
uso il Visual Basic per Application) è quello 
'antico' che si usava 'prima'. Magari funziona anche adesso.
Ma oggi va tanto di moda l'ADO e ODBC, e si usa il DSN (non ho capito bene
cos'è ma si usa :-)))  ) e i databases si aprono CON o SENZA DSN e sono
così collegati direttamente ad un 'Data Base Manager' che puo' essere, (ed
è quello che serve a me) un SQL engine.
Grazie anche all'aiuto di giorgio, sono appunto 'entrato' in questo mondo ed
ora continuo con SQL, che è anche un 'requirement' del lavoro che devo
fare.
Grazie mille comunque anche del tuo aiuto.
Ciao.
John.

 fare.
Appropo', come va?

giorgio wrote:

Ho fatto tesoro dei tuoi consigli ed ora sto sviluppando usando il BCX (che
è *gratis* e non mi dà problemi di '.ocx'). Lo sai che poi il tuo esempio
non ho più potuto farlo 'girare' appunto perchè mi chiedeva un .ocx, che ho
scaricato da internet, ma non ha funzionato lo stesso ?
Però ho fatto tesoro del tuo 'coding' ed ho capito molte cose... :-)))))
Sei stato il mio primo 'maestro' del 'link tra un database e SQL' e la
faccenda del DSN.
Grassie signor maestro !!! :-)))))

Ho alcuni lavori aziendali sotto Access;
Minchia! Come programmatore sei più approssimativo e pasticcione che
come ecologista...
-- 
Nulla è impossibile per chi non lo deve fare.

 
AH AH AH, già che le parole "aziendali" e "access" nella stessa frase 
stanno come i cavoli a merenda ;-)

 Grassie signor maestro !!! :-)))))
Una volta al Signor Maestro si portavano le galline.... :o)
fortuna per te che sono vegetariano!

è quello che serve a me) un SQL engine.
L'SQL lo usi anche in Access, ne avevo parlato (vedi ad es. tutte le
cosiddette queries o le stampe condizionali). E' la parte piu' facile.
Tra l'altro avevo fornito un esempio in stile loop di lettura proprio
perche' mi sembrava dovesse servirti qualcosa di tradizionale,
facilmente riconoscibile; nulla pero' vieta che usi gia' in apertura
un'istruzione SQL d'estrazione (che sara' comunque interpretata dal
particolare motore d'accesso scelto). Ad es. Set impo =
dbs.OpenRecordset("SELECT * FROM Impostazioni WHERE " & _
"Opzione = '" & OpzioneScelta & "' AND DATA = CDate('" & DataScelta &
"') AND " & stm!AltraCondizioneWhere & ";") ove stm e' un altra
tabella. In questo esempio si vede una costruzione della condizione
SQL WHERE generalizzata, decisa dall'utente attraverso delle scelte
immesse (OpzioneScelta, DataScelta) su una maschera, piu' un'altra
espressione ricavata da un altro recordset (stm). Come fai a non
scrivere questa istruzione (non stare a vedere se mi sono dimenticato
qualche apice, che non ho controllato), che e' codice (programmazione)
che deve essere interpretato (pre-compilato, anche se l'effetto non e'
un eseguibile diciamo "puro", cioe' in stile file exe del DOS) per far
funzionare il motore di ricerca del database (qualsiasi sia)?  
 
Ciao.
LG

come ecologista...
Giudizio gratuito. Potrei fartici dare una facciata anche li' (dopo
quelle che hai preso sugli inceneritori), ma ho ancora l'abbronzata
calma olimpica delle vacanze, per cui ti guardo dall'alto e non
partecipo, se non di sfuggita, ai tuoi tentativi di flame corpo a
corpo (che come corpo tra l'altro mi fai schifo, ha ah ah).
Ciao cozza, fatti una spaghettata.
LG 

quelle che hai preso sugli inceneritori),
ROTFL!!!!
Vivi nel tuo universo, dove tutti ti danno ragione e i cattivi
prendono facciate. Smettila con gli acidi. Fanno male.


funzionare il motore di ricerca del database (qualsiasi sia)?  
Mitico! Già ad occhio si vede la chiarezza e linearità di pensiero del
nostro eroe.
Uno di questi giorni me lo leggo per farmi due risate.
Ora come ora, mi fa venire il mal di testa solo a vederlo...


 fortuna per te che sono vegetariano!
URCA, questo limita di molto le opzioni : niente Bratwurst, Bockwurst, 
Cervelatwurst.
Però magari botticelle di birra locale... :-))))


No. Ma adesso ci provo, perchè in ogni modo una 'variante' in Visual 
Basic la dovrò consegnare lo stesso.
Se non funziona nemmeno così ti disturberò ancora senz'altro :-))))

Uno di questi giorni me lo leggo per farmi due risate.
Se non capisci bene, non tirar cannonate sulle ombre. Se vuoi
contestare qualcosa entra nel merito, senza trincerarti dietro la tua
solita umorale sentenziosita' gratuita, per impressione preconcetta.
Se poi a capire non ci arrivi proprio, e ti ingarbugli nelle parole
senza capirne il senso (come accadde per quella mia risposta alla Ary
sull'"io"...), lascia perdere (ci fai miglior figura).
Ciao, ciao.
LG



Ah si'?! Te lo qui un altro sentenzioso in rosicatura libera! 
Prendi fiato e dimmi su cosa si basa questa tua affermazione (che
potrei smentire facendoti - come si dice - toccare con mano).
LG

 lascia perdere (ci fai miglior figura).
Ehehehe... farò tesoro di un simile consiglio datomi da cotanto
personaggio...


 potrei smentire facendoti - come si dice - toccare con mano).
Rosicatura perchè mai? Il mio è solo un consiglio dato dall'esperienza 
(quando facevo consulenze ho anche collaborato con gente che usava 
VB+Access per applicazioni professionali... ora questi son falliti, non 
solo per questo, ma la qualità delle applicazioni aiuta...).
Anyway, ognuno decide come meglio crede.

LG wrote:

URCA, questo post l'ho visto solo adesso. Sorry.
Vedo che anche tu sei uno specialista di databases letti con Visual Basic.
E' proprio quest'ultimo metodo che adesso devo usare, per essere 'in linea'
col progetto.
(Comunque io sto già 'sgarrando' usando il BCX, che a me è diventato più
simpatico del Visual Basic, perchè il Visual Basic non gira 'mai'
trasportandolo su diverse piattaforme Windows. Si deve compilare sulla
piattaforma finale, se non si vogliono avere noie. Che palle !!)
Ciao e grazie ancora.
John.

solo per questo, ma la qualità delle applicazioni aiuta...
Intanto ho parlato di "alcuni lavori aziendali sotto Access" (in
funzione da anni, ed.97 e 2000), e non di "tutti", ne' di Access come
"database aziendale" (l'anno scorso - ad esempio, su richiesta
"utente" - mi sarebbe servito un programmatore esperto Access).
Per altro, un database diverso puo' essere accesso da un front-end
Access via SQL, e, come interfaccia client, Access ha i suoi pregi (ed
i suoi bugs, intendiamoci, ne' piu' ne' meno pero' di altri prodotti
Microsoft; io stesso ho avuto le mie rotture e, per dirne una semplice
semplice - una mia preclusione personale - fucilerei chi ha inventato
il Null; ma, si sa, la compatibilita' "a valle" te la devi tirare
dietro nelle edizioni successive del prodotto). Molti credono pero'
che Access sia una specie di giocattolino per utenti domestici (gli
stessi che una volta giocavano col VB Dos, in quanto Access permette
di creare rapidamente maschere e report con campi associati ad archivi
locali), mentre in realta' e' molto piu' esteso e ricco di
possibilita' di livello superiore di quanto si creda (basta osservare
in libreria la mole dei suoi manuali piu' professionali). 
La "professionalita'" di un'applicazione, poi, saprai che risiede piu'
nel suo disegno generale (analisi...) che nel linguaggio di
programmazione usato (visto che i vari linguaggi avanzati -
programmazione ad oggetti compresa - sono alla fin fine interpretati e
"tradotti" in linguaggio di basso livello, e la bonta' complessiva del
linguaggio avanzato dipende dalla bonta' del suo "traduttore").
Infine, non credo che i tuoi amici fossero falliti per aver usato
Access (quale edizione, poi?). Se sono falliti per quello che hanno
realizzato, sarebbero falliti comunque (il difetto del manico :-)).
Ciao.
LG
P.S. Una precisazione: se si usa Access non vedo perche' usare "VB +
Access", quando c'e' il VBA all'interno del pacchetto stesso, con
tutte le facilitazioni di aggancio delle routines ad una moltitudine
di eventi gia' prefigurati (su clic, su doppio clic, prima e dopo
aggiornamento etc. etc.).  Eviterei semmai gli aggiornamenti degli
archivi tramite i campi associati e assegnerei i controlli sui dati a
routine ad hoc, senza vincolarli alle proprieta' dei campi (e' un
consiglio per chi conoscesse o volesse conoscere Access... :-)).

Access",
Ecco. Finalmente anche tu ammetti di non capire un cazzo.


omogenea, e qui Access cade come una pera cotta
Qualche cosa di giusto la dici (es. la mania di tanti fai-da-te
amministrativi di usare Excel/Lotus come fosse un database...), ma
sull'interfaccia utente Access e' proprio tutto il contrario. Questo
dimostra che parli di Access solo per sentito dire, per infarinatura.
Chi conosce Access si sara' subito reso conto che chi e' caduto a
terra come una pera cotta sei proprio tu, che vuoi mettere becco in
qualsiasi cosa, e smascheri ogni volta i tuoi preconcetti. Ma puo' una
pera cotta spiaccicata mettere becco? 
Ciao, pera cotta! 
LG 

 Access", quando c'e' il VBA all'interno del pacchetto stesso
Come già ti ha detto Bertolazzi, questa frase squalifica l'intero thread.
Fine dell'OT domenicale ;-)
Ciao!

 Ciao!
...riponi la frusta sul più bello ...era spassoso ...peccato :-)
-- 
..:: Ciauz ::..
From :  .::.ActionMan©.::.
*Nel libro di Rocco Siffredi c'è anche una piccola introduzione con
l'indice, sotto la copertina* 

qualsiasi cosa, e smascheri ogni volta i tuoi preconcetti.
E' vero: ormai mi sono formato un preconcetto.
Qualunque cosa dica LG è una stronzata. Peggio della Sandra.
Ps: Di tutto il mio post quoti solo due righe?


Ps: Di tutto il mio post quoti solo due righe?
E ce ne cresce, ringrazia che sono cosi' democratico da rispondere
anche alle scorregge sott'acqua come te.
Ciao, destrutturati.
LG

Fine dell'OT domenicale ;-)
Perche' OT? Qui sopra c'e' pieno di gente che considera l'informatica
un piedistallo di rango esistenziale (un po', per certuni, come avere
la laurea), "esisto perche' sono competente", una coccarda di cui
fregiarsi  mentre chiacchiera al bar. Personalmente li considero solo
degli addetti (non me ne vogliano, rifiutandosi di rispondere quando
chiedero' aiuto come utente di prodotti informatici ...). 
Ciao. 
LG
P.S. Ho sentito battere i tacchi di due stivali, che e' stato?  

Te lo gia' detto: chi non sa comprendere mal risponde.
Beh, sai, se imparassi un po' di italiano forse diventeresti piů
comprensibilie. Non che faccia alcuna differenza...
Mpf. Oggi non mi diverti granchč. Sei ripetitivo. Mai un guizzo in una
direzione diversa. Sembra di andare a pesca di pesci surgelati.
-- 
Nulla č impossibile per chi non lo deve fare.

P.S. Ho sentito battere i tacchi di due stivali, che e' stato?  
I soliti calci che ti prendi nel culo.
Ci sei così abituato che ormai non li senti neanche più.


 minor misura altro ancora...
Uh?! Per curiosità il Clipper viene ancora usato?
Mi hanno anche chiesto la conversione di database Access
in Oracle, hai qualche risorsa in rete da consigliare?
(Google è mio nemico ;-)
Grazie mille in anticipo.
-- 
Ciao
Bob
Home page:
http://www.webalice.it/argonex/

Sembra di andare a pesca di pesci surgelati.
Bravo, tu stai li' con la cannetta, mi sembra un'attivita' d'alto
concetto.
LG

Google è mio nemico ;-)
Anche mio, ma ci sono topini perlustratori di internet che ne sanno
molto di piu' e meglio di me; chiedi dunque all'amico Bertolazzi, che
- pur di correggermi e se non e' maligno - ti scovera' certo quello
che ti serve :-).
Ciao.
LG

 se serve qualche lavoro del tipo.
Ok. Per il momento ti ringrazio per le preziose info. ;-)
