Newsgroup: it.comp.appl.access
Titolo: non funziona

Public Function RicPrec(CodiceAss, dataRic As Date)
 
Dim SqlString As String
Dim dbs As Database
Dim rs As Recordset
Set dbs = CurrentDb
 
SqlString = " SELECT count(*) as contaRic FROM ( SELECT 
dbo_Ricoveri.Ric_Codice_Ricovero, " & _
" dbo_Ricoveri.Ric_Codice_Ospedale, dbo_Ricoveri.Ric_Presidio, 
dbo_Ricoveri.Ric_Numero, " & _
"dbo_Ricoveri.Ric_Data_Ric, dbo_Ricoveri.Ric_DRG, 
DateAdd("yyyy",-2,[ric_data_ric]))" & _
"FROM dbo_Ricoveri ) as a"
 
Debug.Print (SqlString)
 
Set rs = dbs.OpenRecordset(SqlString)
rs.MoveFirst
 
 
RicPrec = rs.Fields("contaRic")
 
End Function 
 

Già il titolo del 3D è tutto un programma... ed il codice che segue lo conferma...
Non ti sprecare poi con i dettagli di cosa non funziona errori rilevati e prove eventuali...!
 
Ci sono cose in quelle 3righe che, noi umani..., francamente mi lasciano estremamente perplesso...!
 
1) Perchè fai una SubSelect...?
2) Perchè non usi una Query PT se devi solo ottenere un Numero...?
3) Perchè usi MoveFirst...? La query Count restituisce SEMPRE record e nel tuo caso SEMPRE E SOLO 1...
4) Speriamo che SQLServer riconosca la sintassi DateAdd che hai usato..., altrimenti SQLServer ti restituisce tutto e JET fa il DateAdd con una soddisfazione per l'efficienza...
https://www.w3schools.com/sql/func_sqlserver_dateadd.asp
 
 
Boh...
@Alex

After serious thinking Danny wrote :

"YYYY" dentro le virgolette di SqlString non va bene.
Comunque DataAdd va tutta fuori con " & DateAdd(....) & "
Poi [ric_data_ric] sicuramente è mal scritta.
 
Secondo me hai scritto una poltiglia non un'espressione SQL.
Perché le query non le fai prima con la griglia QBE?
 
Bruno

 Bruno
 
Se vuoi che SQLServer non la esegua, e restituisca TUTTO il recordset, è come dici... se vuoi che venga eseguita dal Server... e che restituisca solo il risultato no.
 
@Alex


Mi spiego... puoi farla eseguire dal Server anche lasciandola dentro... ma devi scriverla come SQLServer la vuole e farla diventare una PT.
Alternativa... si crea lato Server una SP... si passa la data come parametro e si legge il risultato, eseguendo la SP con una Q_PT...!
 
@Alex

@Alex laid this down on his screen :

Io sto parlando di Access per due motivi:
- siamo dentro il thread di Access;
- l'OP non ha parlato di SQLServer e tutta la sintassi che espone,
  ancorché in parte scorretta, è quella di Access.
 
Mi pare che tu ringoglionisca viepiù di volta in volta, te lo dice un
rincoglionito di lungo corso (85).
 
Comunque ti faccio gli auguri di Buon Natale.
Quelli di Felice Anno Nuovo, con l'aria che tira (Carogna Virus!),
potrebbero essere inaffidabili.
 
Bruno

 @Alex laid this down on his screen :> ...>> "YYYY" dentro le virgolette di SqlString non va bene. >> Comunque DataAdd va tutta fuori con " & DateAdd(....) & " >> Poi [ric_data_ric] sicuramente è mal scritta. >> >> Secondo me hai scritto una poltiglia non un'espressione SQL. >> Perché le query non le fai prima con la griglia QBE? >> >> Bruno>> Se vuoi che SQLServer non la esegua, e restituisca TUTTO il recordset, è come > dici... se vuoi che venga eseguita dal Server... e che restituisca solo il > risultato no.>Io sto parlando di Access per due motivi:- siamo dentro il thread di Access;- l'OP non ha parlato di SQLServer e tutta la sintassi che espone,  ancorché in parte scorretta, è quella di Access.Mi pare che tu ringoglionisca viepiù di volta in volta, te lo dice unrincoglionito di lungo corso (85).Comunque ti faccio gli auguri di Buon Natale.Quelli di Felice Anno Nuovo, con l'aria che tira (Carogna Virus!),potrebbero essere inaffidabili.Bruno
 
Che io rincoglionisca è un passaggio che capita a tutti in modo
 esponenziale superati gli anta...
 
Leggi il nome della tabella nel primo post e prova a fare
 attenzione anche ai dettagli non avere sempre fretta a
 rispondere... poi ne riparliamo...
 
@Alex
-- 
@Alex
 
 
----Android NewsGroup Reader----
https://piaohong.s3-us-west-2.amazonaws.com/usenet/index.html
 

Alex has brought this to us :

No non ne riparliamo proprio più!
 
Bruno

No non ne riparliamo proprio più!Bruno
 
Bene.
Fai più attenzione però mi pare che ultimamente la fregola di
 rispondere sia più forte della sostanza... 
 
Buon we
