Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto con contatore!!!

Mi sembra di impazzire!!!!
Non riesco ad aprire un recordset con una banalissima stringa di
connessione.
Non ottengo errori dal debugger ma non posso operare sui records perchè in
fase
di debug riga per riga ho questo messaggio "Impossibile completare
l'operazione se l'oggetto è chiuso"
Ossia il mio recordset è chiuso.
Ho ottenuto questo problema da quando ho inserito un contatore nella mia
tabella e chiedo alla stringa di connessione
che mi apra la tabella e che mi vada a prendere quel record.... il contatore
nella stringa di connessione si chiama "num"
Dim rs As ADODB.Recordset
 Dim cn As ADODB.Connection
 Set cn = New ADODB.Connection
 cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path +
"\magazzino.mdb;"
 Set rs = New ADODB.Recordset
 rs.Open "select num,Codice,Nome, [Acquisto minimo], [Tempo consegna] from
Foglio1 where num  = ' " & ListView1.SelectedItem.SubItems(16) & " ' ", cn,
adOpenStatic, adLockOptimistic
Perchè non mi apre nulla?????
Dove sbaglio ????
Grazie
IAK

 IAK
-- 
Il Wodkino Nazionale č a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Demo classe vb.NET :
WodkaThumb 
www.villaceleste.it
  click su "spippolando e
Programmando"

 io farei cosě...non tanto per risolverti il problema ma per darti

Le tue sono considerazioni esatte....
ho provato con diversi settaggi....certo...
aduseserver e client compresi....
Utilizzo sempre un rs.eof o rs.bof....
Infatti in questo caso quando sposto il mouse su
if rs.eof .... then
mi dice "Impossibile se l'oggetto (rs) č chiuso"....
Pensavo ci fosse un problema nella parte di connessione che dice
where num = ' " & ListView1.SelectedItem.SubItems(16) & " ' ", cn,
adOpenStatic, adLockOptimistic
Infatti se tolgo il where...il recordser mi viene aperto tranquillamente....
Grazie
IAK

 Dove sbaglio ????
Per un campo numerico non ci vanno gli apici nella select:
"select num,Codice,Nome, [Acquisto minimo], [Tempo consegna] from Foglio1
where num  =' " & ListView1.SelectedItem.SubItems(16)
Ciao
Fulvia

 " ' "
Allora.
Qui c'è un errore macroscopico.
Ma oltre a segnalartelo (se num è un numerico, la sintassi non è con gli 
apicini), ti suggerisco di imparare ad usare le finestre sql del dbms, nel 
tuo caso Access.
Se fai copiaincolla della stringa già composta, e la fai eseguire nella 
finestrella Sql di Access, vedi subito gli errori.
Saluti
Alberto
-- 
E tutto mi sembrava andasse bene... 

Grazie a tutti

 > messaggio news:cvrFd.1718$
fs6....@twister2.libero.it
ALLORA
.....
errori!
......
te l'han detto....usi
'1'
invece di
 1
nel primo caso cerchi un testo nel secondo un numero....
POI!
puň succedre di fare uns query non valida!
Non dovrebbe darti errore...semplicemente un record vuoto!
sql=" SELECT * FROM Clienti WHERE nome='cazzarolina'"
rs.open SQL
If rs.bof then
    msgbox "un c'č nulla!"
else
    msgbox "c'č qualcosa!"
endif
se non c'č "cazzarolina" non deve darti errore e piantare tutto!...quindi
controlla come ti han detto prima la query!
Eh quindi non deve darti piů errore!...a meno che piů in la non ti referenzi
al recordset tentando di spostarlo....ma l'oggetto se non lo distruggi c'č!
Poi prova questo
sql=" SELECT * FROM Clienti WHERE nome='cazzarolina'"
rs.open SQL
If rs.bof then
    msgbox "un c'č nulla!"
    if rs.eof then
        msgbox "T'ho detto che un c'č nulla!"
    endif
else
    msgbox "c'č qualcosa!"
endif
e ti dovrebbe continuare a funzionare......
ti da ancora errore....allora hai fatto un altro errore....hai istanziato il
recordset in una sub function privata...al di fuori di essa non esiste piů!
ossia se lo hai messo in una form_load...fatto il load non esiste piů!
fai cosě...nella form all'inizio nelle dichiarazioni
private myCN as new adodb.connection
private MyRS as new Adodb.recordset
perfetto ora il recordset e la connection vivono a livello di
form!....muoiono quando la chiudi...e quindi puoi usarli in tutte le routine
che vuoi!
In form_load li inizializzi....in click dei vari bottoni ti sposti...etc etc


 ha scritto nel messaggio
news:cvrFd.1718$fs6....@twister2.libero.it...


 se num è numerico togli gli appici
e anche se fosse una stringa attento agli spazi.
se gli chiedi
nome = ' ciccio '
con due spazi
se nome e' = 'ciccio', non lo trovera' mai.
controlla la sintassi di where x =,  where x like.
nel caso di sopra credo farei
"....where num  = "  & val(ListView1.SelectedItem.SubItems(16))
ciao, j.