Newsgroup: it.comp.lang.visual-basic
Titolo: Secondo problema da novellino...

Eccomi di nuovo con un'altro piccolo problemino...
Ho fatto una form che interroga un database ACCESS 2002 (no problem con la
connessione)
Pero' vorrei sapere come cavolo faccio a visualizzare il record attuale in
una textbox
Ecco il listato per ora digitato:
Option Explicit
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Crea_Recordset()
Set cn = New ADODB.Connection
cn.CursorLocation = adUseServer
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
cn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data
Source=C:\provaVB\rubrica.mdb"
rs.Source = "Archivio"
rs.Open "SELECT Archivio.*, Archivio.Cognome FROM Archivio ORDER BY
Archivio.Cognome"
End Sub
Private Sub Text1_Change()
Text1 = rs.Fields("Cognome").Value & ""
End Sub
Non mi visualizza niente... avete qualche suggerimento?
Vi ringrazio in anticipo.
-MAD-
PS. E tutto cio' perchè non voglio utilizzare le autocomposizioni oppure
fare una rubrica con l'oggetto Data di VB.

 Non mi visualizza niente... avete qualche suggerimento?
Prova a digitare qualcosa nella textbox.
Se funziona ti spiego.
Ciao
Alberto

 Se funziona ti spiego.
ROTFL =)
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt

 ha scritto nel messaggio
news:qpUW8.19198$7N3.4...@twister2.libero.it...

Ci ho già provato... è li' che mi dà errore...
Cosa sto sbagliando?
-MAD-

 Vi ringrazio in anticipo.
di nulla, fin che si puo' ;o)))
beppe

 Ci ho già provato... è li' che mi dà errore...
Errore???
Ma quale errore??
Tu hai scritto "Non mi visualizza niente...", non hai parlato di nessun
errore....
Comunque...
E' evidente che da qualche parte chiami Crea_Recordset, diciamo nel
Form_Load, ad esempio.
Poi dovrebbe funzionare (qualche piccola cosa io la cambierei, ma in
generale funziona anche così), nel momento in cui digiti qualcosa nel
textbox ti dovrebbe sostituire quanto digitato con il contenuto del campo
del recordset.
Al limite metti qualche controllo che ci sia effettivamente almeno un record
restituito, che la connessione sia correttamente aperta, e che il recordset
sia posizionato su un record valido (quantomeno diverso da EOF).
Alberto

 Eccomi di nuovo con un'altro piccolo problemino...
Cut
facciamola semplice...la complichi poi tu come vuoi...
Nelle dichiarazioni del form
ti metti il tuo cn as adodb.connection...bla bla....ossia dichiari le tue
variabili che usi per il record (connessioni,recordset,etc etc) valide solo
per quella form...
In form_Load
fai la connessione al database come sai fare e controlli che sia andata a
buon fine
Poi ti fai un po di bottoni e ci piazzi il testo:
bott1) "Apri recordset"
bott2) "!<"  (primo record)
bott3) "<" (indietro di un record)
bott4)">" (avanti di un record")
bott5)">!" (Ultimo record)
poi ti fai una sub/function
...la struttura base è di seguito....
 a te complicarla fare le giuste conversioni, i format che vuoi, gestire
meglio li errori, etc etc
Private Function VisualizzaRecord() as boolean
on error goto gestisci
text1.text= rs("Nome")
text2.text =rs("Cognome")
etc etc etc
VisualizzaRecord=true
exit sub
gestisci:
VisualizzaRecord=false
END Function
.........OK? continuiamo....
Nel bottone uno (Apri recordset)
apri il recordset(come già sai fare)
controlli che sia andato a buon fine chiami
rs.Movefirst
If not VisualizzaRecord then
    msgbox "Errore visualizzazone record"
    ....non hai potuto visualizzare
    prendi i provvedimenti che vuoi
end if
Ora hai visualizzato il primo record
in bott2) devi mettere
rs.movefirst
visualizzarecord
in bott3)
rs.moveprevious
visualizzarecord
in bott4)
rs.movenext
visualizzarecord
in bott5)
rs.movelast
visualizzarecord
ricordati in form_queryUnload
di chiudere conn e recordset e distruggere le variabili
Logicamente questo è uno schema che però se premi F1 e sperimenti da te
....già ti da la possibilità di progredire.
Miglioramenti?
molti...ad esempio gestisci l'eof...se sono sul primo record e premo
indietro mi da errore...
aggiungi un tasto save per memorizzare le modifiche (ti ci vuole una
sub/funct inversa a quella visualizza)
etc etc...
Buon lavoro!
:-)

 >
(per ora il HerbieOmeter è sullo zero....vai tranquillo!)