Newsgroup: it.comp.lang.visual-basic
Titolo: Maschere per accesso a DB Access

Ciao!
Devo rispolverare il buon vecchio VB6 dopo un sacco di tempo per un
progettino. Data la polvere che ho addosso (in senso figurato!!!),
vorrei un consiglio. L'applicazione si baser� su un DB access come
contenitore dei dati e le maschere dovranno dare accesso a questi
ultimi. Per certi aspetti sarebbe pi� semplice fare direttamente le
maschere dentro access, ma per vari motivi voglio fare tutto in VB. Ora
la domanda � questa: se usassi le maschere di Access basterebbe legarle
alla tabella o alla query di riferimento e i vari controlli ai campi che
mi interessano e avrei finito; usando VB, qual'� la maniera migliore per
ottenere lo stesso effetto?
Mi vengono in mente un paio di modi:
1. apro ua tabella (vorrei usare ADO, per flessibilit�), mi piazzo su un
singolo record a a suon di righe di codice assegno ad ogni controllo il
valore relativo. Ad ogni spostamento di record daccapo.
Un po' macchinoso e non proprio veloce come metodo....
2. Uso un controllo DATA che ottiene un effetto "tipo access". Ma non so
perch� mi ronza in testa di aver letto tempo fa che non fosse un granch�
come soluzione. Per� non chiedetemi perch� o percome: non ricordo
nulla!!!!
Che suggerite?
Grazie  

 Grazie
Quando ho migrato da Access a VB6 il DataEnvironment mi è sembrata una 
festa. Maschere create in un attimo, davvero veloce. Peccato che, poi, le 
rose han mostrato le spine :) Casini infiniti nel gestire la connessione e 
problemi in continuazione.
Morale, ho buttato i controlli Data e, perdendo tutto il tempo guadagnato 
all'inizio, mi son rifatto tutto a manina. Vero che avevo l'applicativo 
praticamente già fatto in ADO, perciò ho dovuto per lo più occuparmi delle 
operazioni sui record (tipo spostamenti, cancellazioni, aggiunte etc.), però 
in due mesi ho completato la migrazione.
Adesso l'applicativo mi sembra bello solido e sopratutto facile da 
mantenere. Apro una connessione ADO all'inizio della sessione e la chiudo 
alla fine.
Yep ... facile che qui molti non approvino, ma a me sembra una buona 
soluzione :)
Ciao.
eSQueL

 soluzione :)
Siamo qui per discuterne no? Ho chiesto un consiglio e li ascolto tutti,
poi sceglier� quello che mi pare migliore per le mie esigenze.
intanto GRAZIE!!!


Puoi fare così:
Private Sub Form_Load()
'Apertura della maschera
    With rs
        .CursorLocation = adUseClient
        .CursorType = adOpenDynamic
        .LockType = adLockOptimistic
        .Open "SELECT * FROM TABELLA", ActiveConnection:=cnx
    End With
    PopolaFrm
End Sub
Sub PopolaFrm()
'Popola i campi con i valori del record
 With rs
     Me.txt1.Text = .Fields(0)
     Me.Txt2.Text = .Fields(1)
     ...
 End With
End Sub
dove cnx è la connessione aperta e rs è un recordset ADODB con ambito di 
visibilità in tutto il modulo della form.
La stessa tecnica la usi per cambiare record o dopo la cancellazione o 
l'aggiunta di un record.
Ciao
eSQueL

 l'aggiunta di un record.
OK, ci siamo capiti alla perfezione!!!!
Grazie ancora!

 - Mostra testo citato -
Se volessi usare access e le sue maschere e gestire solo il semplice
data entry dentro semplici tabelle...siamo perfettamente d'accordo che
sono più semplici da usare di VB(6 net )...
Anche se potresti usare i controlli legati al data control...o a un
tuo oggetto connessione....
Ma se vuoi fare qualcosa di più complicato...non è che anche in access
sia tutto rose e fiori...anzi....sotto sotto batte VBA!
Se vuoi mostrare dati che dipendono da altri dati.....validare input
in maniera personalizzata...alla fine anche in access ti trovi ad
avere a che fare con il fratello siamese di vb...vba!
Ed allora se il progetto non è proprio "sega"
Sub(o function)
Visualizza dati
...che collega e formatta i vari dati...e mostra tutti gli effetti
grafici che vuoi (linee, immagini, riempimento di combo...selezione di
indici...etc etc)
Sub(o function)
ParserDati....
che si occupa di gestire le incogruità dell'uTonto (30 di
febbraio...Yen invece di euro...punti per le virgole....testi per
numeri...clienti inesistenti etc etc)
e poi le classiche
SalvaDati
InserisciDati
TrovaDati
StampaDati
CancellaDati
Scrivi di più...ma godi in fase di modifica e manutenzione!

 Scrivi di pi�...ma godi in fase di modifica e manutenzione!
Grazie.
Avete confermato entrambi quello chegi� pensavo.