Newsgroup: it.comp.appl.access
Titolo: Errore su dichiarazione recorset

Nella funzione sottostante mi si crea un errore alla riga 2, che mi dice:
"Errore di run-time 13" Tipi non corrispondente
Sembra che la dichiarazione sopra non abbia effetto.
Qualcuno sa aiutarmi?
Grazie.
Private Sub Comando0_Click()
Dim MyDb As Database
Dim RsCS As Recordset
Dim RsFt As Recordset
Dim i As Integer
 Set MyDb = CurrentDb
 Set RsCS = MyDb.OpenRecordset("SELECT [Scheda rilievo centri storici].*
FROM [Scheda rilievo centri storici]; ")
 Set RsFt = MyDb.OpenRecordset("SELECT [Foto].* FROM [Foto]; ")
 RsCS.MoveFirst
 'MyRs2.MoveFirst
 Do While RsCS.EOF
  i = 0
  For i = 1 To 6
   RsFt.AddNew
   RsFt![IDF] = RsCS![ID]
   RsFt![NF] = RsCS![Foglio] & "-" & RsCS![Mappale] & "-" & i
  Next i
  RsCS.MoveNext
 Loop
 RsFt.Update
 RsFt.Close
 RsCS.Close
End Sub
** Articolo inviato tramite i servizi gratuiti di 
www.x-privat.org
 **

 ha scritto nel messaggio
news:3f2fb062$1...@x-privat.org...

non vorre dire cavolate ma credo che il recordset accetti esclusivamente
query o tabelle già esistenti..
oppure è il ; che non gli piace...

 ha scritto nel messaggio
news:xfOXa.227265$lK4.6...@twister1.libero.it...

Le tabelle esistono, e togliendo il ; non ottengo nessun risultato.
Grazie.


[CUT]>
scusa la mia persistenza, sono d'accordo che le tabelle esistono, ma credo
che non accetti un'istruzione sql come orgine di riga (se la vogliamo
chiamare cosě)

 ha scritto nel messaggio
news:3f2fb062$1...@x-privat.org...

Forse devi indicare che è un ADO.Recordset...
Ciao.
--
Sergio MAZZA

 > > Dim RsCS As Recordset
cut definisci rscs o variant o dao.recordset
--
a.cara 
Togli qualcosa dall'email

 Sergio MAZZA


 ha scritto nel messaggio
news:3f2fb242$1...@x-privat.org...

Soluzione:
Ho spostato nella finestra dei riferimenti la libreria DAO 3.5 prima della
libreria ActiveX Data Objects 2.1
Dopo ha funzionato correttamente la routine.
Non ho abbastanza competenze per spiegare il motivo, ma visto che il
discorso riferimenti in access è sempre stato un discorso un po' ostico per
me, se qualcuno sa speigarmi il motivo, oppure conosce dei link dove
recuperare info dettagliate sull'argomento, mi farebbe un grande piacere.
Ciao e grazie.


 Ciao e grazie.
È un fenomeno ben noto e periodicamente discusso nel ng, dovuto al fatto che
le ultime versioni di Access utilizzano di default ADO e non DAO: perciò se
vuoi utilizzare DAO devi aggiustare i riferimenti come hai fatto oppure
esplicitare il riferimento a DAO direttamente nelle dichiarazioni:
Dim db as DAO.Database
Dim rs as DAO.Recordset
ecc...
Ciao
Galliano

 ha scritto nel messaggio
news:KbPXa.227191$Ny5.6...@twister2.libero.it...



 Togli qualcosa dall'email
Hai ragione dovevo scrivere DAO...
Ciao.
--
Sergio MAZZA

 recuperare info dettagliate sull'argomento, mi farebbe un grande piacere.
quello che avevo immaginato.
Nella mia risposta ti dicevo infatti di usare dao.recordset
La cosa e' molto semplice
Access cerca l'oggetto recordset in base alla lista dei riferimenti e si ferma
al primo che trova. Nel tuo caso la libreria ADO veniva prima della DAO per cui
ha fatto riferimento all'oggetto recordset di tipo ADO che ha struttura diversa
dal DAO da qui l'errore 13
che appunto potevi superare o come hai gia' fatto oppure definendo il recordset
o come variant o come DAO.Recordset


 Hai ragione dovevo scrivere DAO...
e dai. "Pizzicarti" in questa noiosa calura estiva e' stata una "botta" di vita
;<)


 Togli qualcosa dall'email
Ti manca il Biso eh?
Ciao.
--
Sergio MAZZA

 Ti manca il Biso eh?
biso...biso...biso...chi era costui?
No. E' che ho appena finitro di sbattermi con un pezzo di applicativo che mi ha
"inscemito" piu' di quello che sono e mi sto prendendo un po' di relax.


 Togli qualcosa dall'email
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:6qOXa.227070$Ny5.6...@twister2.libero.it...

No Neo, quello č vero per le funzioni aggregate sui domini.
Per i recordset va bene anche una stringa SQL
Antonio