Newsgroup: it.comp.lang.visual-basic
Titolo: aiuto gestione database

Vi prego aiutatemi,sono in crisi.
Sto realizzando un programma per il mio negozio di computer.
Sto cercando di catalogare i clienti,con un programma che usa un database.
Ho inserito un DBCombo che dovrebbe contenere i vari prodotti acquistati
dal cliente,soltanto che in fase di esecuzione non riesco ad inserire i
dati nel dbcombo,io ho provato creando una textbox,dove inserisco il
singolo prodotto e poi con un pulsante lo vorrei inserire nella dbcombo,ma
non sò che sintassi usare,quando con il visual data manager ho creato il
database access,dovevo specificare qualcosa nel campo,visto che doveva
contenere una serie di nomi?
Ho provato anche con la combobox,usando additem,ma non riuscivo a
memorizzarli nel database.
Poi volevo sapere se è possibile consultare i dati senza il comando
Data,magari effettuando una ricerca il base al cognome o a qualche altro
campo.
Come posso elencare in una list box,tutti i record visualizzando il campo
cognome e nome?
grazie a tutti

cognome e nome?
Supponendo di avere un recordset contenente i nomi e i cognomi delle persone
puoi scrivere:
do until rs.eof
    MyListBox.AddItem rs("Nome") & chr$(32) & rs("Cognome")
    rs.moveNext
loop
In pratica molto probabilmente ti servirà anche un campo contatore per
identificare un cliente in modo univoco all'interno del tuo database, e
quindi ti conviene scrivere
do until rs.eof
    MyListBox.AddItem rs("Nome") & chr$(32) & rs("Cognome")
    MyListBox.ItemData(Temp)=rs("Contatore")
    temp = temp+1
    rs.moveNext
loop
Ciao Bruno

Carissimo Bruno,ti ringrazio per l'aiuto.
non potresti essere un pò più chiaro sul discorso recordset,io non sò come
funziona,sono all'inizio con i database
se me lo puoi spiegare meglio, ti sarò grato in eterno.

 cognome e nome?
Puoi utilizzare una DBGrid legata alla tabella clienti è molto veloce e
non necessita di codice per il caricamento dei dati.
Ciao Franco
--
Automatic posted from 
ro...@edy.ivg.it
 [194.184.152.232]
via Mailgate Server - 
http://www.mailgate.org

se me lo puoi spiegare meglio, ti sarò grato in eterno.
In VB puoi accedere ad un database Jet in due modi, utilizzando i controlli
Data o attraverso gli oggetti di accesso ai dati (DAO).
Questi ultimi sono degli oggetti che vengono creati a run-time e godono di
proprietà e di metodi.
Possono essere visti come degli oggetti disposti gerarchicamente, e la loro
gerarchia rispecchia la logica del database.
Nel caso più semplice esisterà un oggetto DATABASE (database esistente) e
oggetti RECORDSET (le tabelle del database)
Per potere utilizzare questi oggetti devi prima dichiararli e poi
istanziarli utilizzando l'istruzione set
Es. per aprire un database
dim Db as database
set db = dbengine.OpenDatabase(nomeCompletoDatabase)
da questo punto in poi la variabile db rappresenterà il tuo database.
Ovviamente se la variabile db esce dal suo campo di validità il database
sarà chiuso.
Per accedere ad una tabella (es: Clienti) del database scriverai
dim Rs as Recordset
set rs = db.openrecordset("Clienti")
rs è ora una rappresentazione virtuale della tabella clienti che punta al
primo record della stessa. (Il record a cui punta il recordset si chiame
record corrente)
Puoi spostarti tra i vari record utilizzando i metodi Move
(MoveFirst,MoveNext ecc) dell'oggetto recordset e reperire i valori dei
campi dei vari record utilizzando l'oggetto field.
es rs.Fields("Nome") restituisce il valore contenuto nel campo "Nome" del
record corrente della tabella "Clienti" del database aperto.
Abbiamo detto che l'oggetto recordset è una rappresentazione virtuale di una
tabella. Per tabella abbiamo fina ad ora inteso l'intera tabella. In realtà
utilizzando il linguaggio di interrogazione SQL è possibile far si che rs
rappresenti solo una parte della tabella o addirittura una parte di più
tabelle.
Nella sua forma più semplice una istruzione SQL di interrogazione si
presenta nell forma
"SELECT campiDaSelezionare FROM tabellaDaCuiSelezionare WHERE
condizioneDaSoddisfare"
L'istruzione set rs = db.OpenRecordset(SQL) farà si che il recordset rs
diventi una rappresentazione virtuale dei soli campi dei records specificati
da campiDaSelezionare che soddisfino la condizione condizioneDaSoddisfare
della tabella tabellaDaCuiSelezionare.
es: ricerca di tutti i clienti che si chiamano Carlo
set rs = db.OpenRecordset("SELECT * FROM Clienti WHERE Nome = Carlo")
N.B. * significa restituisci tutti i campi del record
Altri metodi importanti delle tabelle sono:
AddNew - Update    aggiunge un nuovo record
Edit - Update    modifica i valori dei campi del record corrente
Delete    elimina il record corrente
Ovviamente per vedere tutti i metodi possibile guarda la guida in linea
Spero di averti chiarito almeno in parte cosa sia e come sia possibile
utilizzare gli oggetti DAO.
Per una maggiore comprensione dell'uso dei database Microsoft Jet,
potenzionalità, strategie di creazione di database ecc. ti consiglio :
a) "Access97 no problem" della McGraw-Hill(L.40.000) se disponi di ACCESS 97
b) un qualunque manuale di VB che parli anche di accesso ai dati
c) Funzioni professionali : Manuale di VB ed 4.0 Professional
Ciao Bruno