Newsgroup: it.comp.appl.access
Titolo: OpenRecordset

Boundì a tutto il news,
ho un problema con OpenRecordset mi da errore "parametri 
insufficenti.previsto 1", spiego cosa ho fatto,ho creato una maschera nuova 
ho inserito un pulsante e una casella di testo nell'evento clic del pulsante 
ho scritto così:
Private Sub Comando0_Click()
Dim db As DAO.Database
Dim dati As DAO.Recordset
Dim tot As Long
Set db = CurrentDb
Set dati = db.OpenRecordset("select id from Contegg")
dati.MoveLast
tot = dati.RecordCount
dati.MoveFirst
dati.MoveFirst
Me.Testo = tot
End Sub
Io vorrei che mi estraesse i record dalla query "contegg", già creata in 
precedenza, ("id" fà parte di un campo della query stessa) la quale a sua 
volta è filtrata da campi di un altra maschera  in quel momento aperta, e 
che li portasse nella casella testo. In cosa sbaglio? come posso risolvere?
Grazie in anticipo a tutti

 ha scritto nel messaggio 
news:cvL%k.211570$FR.5...@twister1.libero.it...

Ciao,
quando da quell'errore è perchè la query è sbagliata.
Copia la stringa SQL nell'SQL di  una query access e prova ad eseguirla. 
Funziona?
-- 
Marco Papetti
www.sprayabbronzante.com
www.shortchannel.it
 Il software di commercio elettronico OpenSource
www.mondoideale.com
  - Prodotti naturali e biologici. 


  Ciao Marco,ho seguito il tuo consiglio
Set dati = db.OpenRecordset("SELECT Contegg.id FROM Contegg;")
come mi hai sugerito te nel SQL di una query mi funziona "SELECT Contegg.id 
FROM Contegg" mi visualizza tutti gli id della query associata,mentre con 
OpenRecordset in VBA mi da lo stesso errore. 

 ha scritto nel messaggio 
news:jXM%k.120897$Ca.2...@twister2.libero.it...



Non si capisce cosa vuoi ottenere...!
Nel codice che hai scritto che riporto ci sono cose inutili e cose non
comprensibili:
Private Sub Comando0_Click()
Dim db As DAO.Database
Dim dati As DAO.Recordset
Dim tot As Long
Set db = CurrentDb
Set dati = db.OpenRecordset("select id from Contegg")
' ----------------------
' Non serve spostare il cursore se metti un criterio di ordinamento
nella SELECT:
dati.MoveLast
' ----------------------
' Quindi io riscriverei così:
Set dati = db.OpenRecordset("select id from Contegg Order By Id")
Me.Testo.Value  = dati.RecordCount
dati.Close
set dati=nothing
End Sub
Addirittura se avessi estratto un
SELECT COUNT(Id) As Totale From Tabella
era ancora meglio... e bastava questo:
Dim dati As DAO.Recordset
Set dati = DbEngine(0)(0).OpenRecordset("select Count(Id) As Totale
from Contegg")
Me.Testo.Value  = dati.Fields(0).Value
dati.Close
set dati=nothing
Boh... ma non sono certo di aver capito cosa vuoi...
@Alex
@Alex


Già provato a toglierli, non và lo stesso, sempre il solito errore.. 

 OpenRecordset in VBA mi da lo stesso errore.
Non si capisce cosa vuoi ottenere...!
Nel codice che hai scritto che riporto ci sono cose inutili e cose non
comprensibili:
Private Sub Comando0_Click()
Dim db As DAO.Database
Dim dati As DAO.Recordset
Dim tot As Long
Set db = CurrentDb
Set dati = db.OpenRecordset("select id from Contegg")
' ----------------------
' Non serve spostare il cursore se metti un criterio di ordinamento
nella SELECT:
dati.MoveLast
' ----------------------
' Quindi io riscriverei cosě:
