Newsgroup: it.comp.lang.visual-basic
Titolo: [newbie] Problema di sorting

Ciao a tutti.
Ho un problemino un po' particolare..
ho un DB scritto in Access 2000 con una serie di campi (Nome, Telefono,
Indirizzo,.....,Contatore*) per una rubrica in VBasic.
Il DB è ordinato ora come ora per Nome. bene. Il problema è che una volta
lanciata l'applicazione in VB (la mia stupida rubrichina :D) il controllo
Data mi visualizza su tutti i vari campi, tutte le informazioni riguardo
l'ultimo contatto aggiunto in rubrica in ordine cronologico. o per meglio
dire quello che ha il "contatore" più alto a livello di numero. E non, come
ho specificato in A2000, per ordine di Nome!
Se invece apro A2000 e faccio doppio click sulla tabella Rubrica,
tranquillamente tutte le voci di rubrica vengono in ordine di Nome.
E' possibile forzare Vbasic quindi in modo che "peschi" e ordini sempre per
nome la mia rubrica?
Mille grazie,
Bd

 nome la mia rubrica?
Order by Nome Asc
Ciao
Alberto

 Va be' che Access non lo uso mai, ma non mi risultava....
Credo che sia il solito problema di quello che "sembra fare" access: se
indichi un campo come associato a indice, di solito quando apri la tabella
ti viene proposta ordinata secondo quel campo, quindi uno crede che
qualsiasi interrogazione faccia i dati vengano presentati in quel modo,
mentre non è affatto così
Salutoni
Sergio



Certo che è possibile.
Considera che per un database relazionale
l'ordine delle righe non ha importanza quindi devi
chiederglielo
tu l'ordine.
Cosa utilizzi per visualizzarla?
Se usi una select sql basta dirgli
select campi_che_vuoi_tu from nome_tabella order by
campo_secondo_cui_ordinare.
    danilo

 Order by Nome Asc
Emh...  è una delle proprietà del controllo Data per caso?
Nel senso che posso scrivere un'istruzione come:
Data1.Order By = Nominativo Asc
nella
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\Rubrica.mdb"
End Sub
?
Grazie,
Bd

 campo_secondo_cui_ordinare.
danilo, come forse avrai notato sto iniziando ora, e di DB non so molto.
Inoltre non ho mai usato/studiato/lettoDi SQL. Ho seguito un tutorial da
HTML.IT
 per fare una rubrica. Ora la stavo modificando a piacere per provare
un po' le proprietą che posso utilizzare con VB6... quindi le proprietą
delle Text, delle Label, e quindi del controllo Data. Purtroppo non saprei
risponderti per bene. Cosa uso per visualizzarla? Non lo so :(! Ho creato il
DB con Access2000 e lo richiamo da VB6 con il semplice Data1.DatabaseName =
mioDB.mdb. E ogni Text č associato al DB con DataField = Nome.
Sorry. Ora sei ancora in grado di aiutarmi? O devo imparare mySQL per fare
una cosa, amio parere, abbastanza semplice?
Grazie ancora a tutti.
Bd

 Bd
--
Minervini Corrado Danilo
Sito Comune Ng: 
http://www.it-lang-vb.net
Manifesto del Ng:
http://www.it-lang-vb.net/docs/Manifesto.txt

 SQL è quasi-universale quindi ti servirà di sicuro.
Ti ringrazio... mi sa che dovrò approfondire anche su SQL
Grazie ancora!
Bd

 Nel senso che posso scrivere un'istruzione come:
no , ma puoi usarla nelle query cioe' :
db1.mdb
tabella  rubrica
nominativo e' il campo contenente i nomi
data1.databasename = db1.mdb
data1.recordsource = "Select * FROM rubrica ORDER by Nominativo"
la linea concettuale e' questa !

 l'ultimo contatto aggiunto in rubrica in ordine cronologico.
Quando apri un recordset (il controllo data ne gestisce uno internamente)
senza indicazioni questo viene ordinato secondo l'indice primario definito
nella tabella.
Se la tabella non ha indici l'ordine dovrebbe essere quello di inserimento,
ma con i nuovi motori DB non è detto.
L'oggetto recordset (nel tuo caso Data.Recordset) espone il metodo Sort (se
non ricordo male) che ti permette di specificare l'orinamento dopo averlo
aperto (Data.Refresh).
Il mio consiglio è (a parte non usare il DataControl se non è necessario, ma
per riuscire a "vedere" subito qualcosa non è da buttare) di non far fare
questi giochetti (ordinamento, filtro ecc) al Recordset, ma farlo fare ad
access direttamente:
Data.RecordSource = "SELECT * FROM tabella WHERE campo = condizione ORDER BY
lista_campi_ordinamento"
Per maggiori dettagli premi F1 e leggiti SELECT e tutti i "see also".
L'SQL è uno strumento molto potente: se usato bene ti permette di trasferire
una buona parte del lavoro al motore DB.
Ciao
--
' // Initialize the expression evaluator
Engines.Evaluator = CreateObject("
http://www.neodatatype.net
")
' // you can find resources for and from the NG here!
Me.SitoComune = "
http://www.it-lang-vb.net
"

 _aperto_ (Data.Refresh).
Oddio, Zanna, torna tra di noi! ;-)

 Oddio, Zanna, torna tra di noi! ;-)
Veramente devo ancora decidere se accettare il carretto siciliano che mi
sono trovato in soggiorno tornando dal lavoro o no ;)


 sono trovato in soggiorno tornando dal lavoro o no ;)
dice j che se hai un cavallo a cui tieni molto, forse e' meglio se ce
lo mandi un po' qui in vacanza.

 sono trovato in soggiorno tornando dal lavoro o no ;)
L'importante che la tua nuova firma non faccia "doing-doing"
E non esporre il coso in pubblico... ;-)