Newsgroup: it.comp.lang.visual-basic
Titolo: [niewbie] Domande su gestione Database con VB6

Salve,
sto realizzando un programmino in VB6 per interfacciarmi con un database 
[DB], realizzato con Access.
Leggendo qua e la', ho capito che con VB6 ci sono due modi per 
interfacciarsi ad un DB: DAO o ADO. 
Ho capito che ADO e' piu' nuovo rispetto a DAO e, anche se probabilmente 
- essendo agli inizi - non sfruttero' tutte le potenzialita' di ADO e le 
sue novita' rispetto al DAO, ho scelto ADO (cosi', se dovessi 
approfondire ulteriormente in futuro la programmazione di DB con VB6, mi 
troverei gia' ad essere partito col "piede giusto").
Ora, avrei qualche domandina...
1. Problema DataGrid
====================
Ho notato che c'e' un controllo chiamato DataGrid, davvero comodissimo 
per mostrare risultati di query!
Il problema, pero', e' che l'applicazione (sia a design-time che a run-
time), apre una message-box di errore relativa a questa DataGrid. Mi 
pare che il problema sia quello per cui la griglia e' inizialmente 
vuota, insomma gli manca il "data-source".
Infatti, dopo che eseguo la query SQL, la tabella data-grid si riempie 
senza problemi.
Quel messaggio di errore iniziale e' pero' decisamente antiestetico: 
c'e' un modo per evitarlo?
Devo per forza riempire un data-grid prima di visualizzarlo, con qualche 
dato, per non avere tale errore??
2. Stampa Report
================
Altra domanda/consiglio: per stampare su carta i risultati di una query 
SQL, come si puo' procedere? Esistono dei controlli free da poter 
inserire in un progetto, per realizzare dei "report" ?
Non ho particolari esigenze nei report: giusto stampare elenchi (magari 
potendo scegliere font e colore...).
3. Riferirsi ad un file MDB
===========================
Infine: per interfacciarmi con un DB, lo registro come DSN utente da 
Pannello di controllo. Poi, con il piccolo wizard di VB6, viene creata 
una "connection string", e tutto va bene.
Ora: qualora in un futuro volessi realizzare un programma di setup per 
installare la mia piccola applicazione, come faccio a riferirmi al DB?? 
Se la connection-string fosse la semplice path del DB, io memorizzerei 
il file .mdb nella stessa cartella dell'.exe, e quindi potrei fare 
(pseudo-codice):
datDatabase.ConnectionString = GetCartellaProgramma() + "\MioDB.mdb"
...ma la connection string e' ben piu' complicata... come si puo' 
procedere in tali casi? Mica si puo' dire all'utente: vai in Pannello di 
Controllo e registrati il DSN con questo nome "...." ?? :-)
Grazie molte per eventuali dritte!
Saluti,
Dan

 Dan
Salitu a te!
-- 
Quando noi ignoranti eravamo di più,
tutto era più bello...
(Adriano Celentano)

 Di niente :)
Grazie ancora: il tuo post mi e' molto utile!
 
Ciao
Dan

 qualche API Win32, oppure c'e' una funzione built-in?
App.Path
Ciao
-- 
NeoDataType : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

niewbie???
    danilo

 Detto questo l'errore che hai è strano: qual è il messaggio esatto?
L'errore che appare nella message box e' il seguente:
<Errore>
[ADODC]: RecordSource non specificata. [ADO]: Testo del comando non 
impostato per l'oggetto 
comando.
</Errore>
...io ora evito tutto cio' semplicemente creando la connessione "al 
volo" ...poi non so se posso fare un'_unica_ connessione all'inizio del 
programma e chiuderla alla fine, e poi chiedere i recordset sempre a 
quella connessione...non so se cio' e' inefficiente o cattiva pratica 
programmatoria o invece va bene...)
Inoltre, riempio con i record ritornati dalla query una ListView in 
modalita' report (non data-bound).
Cosi' facendo ho "bypassato" quell'errore...