Newsgroup: it.comp.appl.access
Titolo: aprire una query da codice.

Il quesito potrà sembrare stupido, ma non è la prima volta che scrivo 
cose simili ma di questa non "ho la chiave"
Ho una query che esegue un conteggio su di una tbl . Eseguita 
manualmente produce un solo record con un solo campo.
Vorrei utilizzare quel valore..
 
Come faccio?
Ho scritto quanto sotto... ma non ne vuole sapere
 
Anche perchè tra copia ed incolla non ci capisco più niente...
 
Spero in un aiuto..
... e pochi pernacchi..
Grazie in anticipo
 
BC
 
Dim Dbs As Database
Dim Rst As Recordset
 
Set Rst = Dbs.OpenRecordset("QryCGiorniTERapiaMaster")
MsgBox "IL TUO NUMERO E' " & Rst.Fields(0)
Rst.Close: Set Rst = Nothing


Dim Rst As dao.Recordset
Set Rst = CurrentDb.OpenRecordset("QryCGiorniTERapiaMaster")
MsgBox "IL TUO NUMERO E' " & Rst!TuoCampo
Rst.Close: Set Rst = Nothing
 
oppure:
MsgBox "IL TUO NUMERO E' " & DLookup("TuoCampo",
"QryCGiorniTERapiaMaster")
 
Ciao Vladimiro.

Ciao!
 
Dim Dbs As DAO.Database 
Dim Rst As DAO.Recordset 
 
Set Dbs = CurrentDb
Set Rst = Dbs.OpenRecordset("QryCGiorniTERapiaMaster") 
MsgBox "IL TUO NUMERO E' " & Rst.Fields("NomeDelCampoRestituito") 
Rst.Close
Set Rst = Nothing 
Set Dbs = Nothing 
 
In una sola riga (soluzione aborrita da taluni), invece, fai così.
 
MsgBox "IL TUO NUMERO E' " & DFirst("NomeDelCampoRestituito","QryCGiorniTERapiaMaster")
 
HTH
Popi

Ho provato con
 
Dim Rst As dao.Recordset
Set Rst = CurrentDb.OpenRecordset("QryCGiorniTERapiaMaster")
MsgBox "IL TUO NUMERO E' " & Rst!ConteggioDiData_Terapia
Rst.Close: Set Rst = Nothing
 
 
la risposta è stata :
 
errore di run time 3061
parametri insufficienti.Previsto 1
 
preciso : la query  contiene una subquery : fosse questo?
 
Grazie ancora
 
BC
 


Ciao,
forse è il caso che incolli l'SQL della query.
Vladimiro.

 Vladimiro.
 
questa è la l'SQL della query
 
SELECT Count(QryContaGiorniTer.ConteggioDiData_Terapia) AS 
ConteggioDiConteggioDiData_Terapia
FROM QryContaGiorniTer;
 
.. e questo quello della sub
SELECT Count(TblTerapia.Data_Terapia) AS ConteggioDiData_Terapia, 
TblTerapia.Data_Terapia, TblTerapia.ID_RelTerapia
FROM TblTerapia
GROUP BY TblTerapia.Data_Terapia, TblTerapia.ID_RelTerapia
HAVING 
(((TblTerapia.ID_RelTerapia)=[Forms]![frmReparto]![frmsubEsami].[Form]![ID_RelTerapia]));
 
 
 
..in effetti : c'è una tabella con le terapie eseguite. Ogni terapia un 
campo data ...
Conto i giorni in cui viene eseguita la terapia
 
es:
 
21/12/2011 aspirina
21/12/2011 aspro
22/12/2011 guttalax gocce
 
due giorni in tutto..
 
slauti BC

 slauti BC
 
Scusa, ma il nome del campo della query é:
ConteggioDiConteggioDiData_Terapia
e non:
ConteggioDiData_Terapia
 
o no?
 
Ciao Vladimiro.
 

 ...
 
Sembar che intendi:
 
SELECT Count(TblTerapia.Data_Terapia) AS ConteggioDiData_Terapia,
TblTerapia.Data_Terapia, TblTerapia.ID_RelTerapia
FROM TblTerapia
WHERE
TblTerapia.ID_RelTerapia=[Forms]![frmReparto]![frmsubEsami].[Form]![ID_RelTerapia]))
GROUP BY TblTerapia.Data_Terapia, TblTerapia.ID_RelTerapia
 
Per la causa e cura dell'errore vedi:  
http://www.donkarl.com/it?FAQ6.4
 
 
Per evitare il problema puoi anche usare:
 
DCount("*","QryContaGiorniTer")
 
Vedi anche:  
http://www.donkarl.com/it?FAQ6.17
 
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 


 
Hai ragione (è che con i conteggi mi sono impicciato..)
 
Comunque l'errore viene segnalato alla riga precedente ed è lo stesso..
Saluti
 
BC


Ma il seguente codice lo stai lanciando da un controllo all'interno
della maschera frmReparto?
Se non è così, è ovvio che ti esca l'errore in quanto la tua query è
con parametri!
Ciao Vladimiro.

 Ciao Vladimiro.
 
No da un'altra maschera, ma il parametro è passato correttamente perchè 
se metto
Msgbox [Forms]![frmReparto]![frmsubEsami].[Form]! [ID_RelTerapia]
la risposta è corretta..
 
Saluti
 
BC


 
funziona con DCount("*", "QryContaGiorniTer")
 
Non so se esiste un sistema migliore per contare dei raggruppamenti..
cioè
Data una tbl così
21/12/2011 aspirina
21/12/2011 aspro
22/12/2011 guttalax gocce
23/12/2011 cicuta gtt
23/12/2011 piramidone supp
 
voglio sapere quanti sono i giorni di terapia
risultato
TRE e non come se facessi un count 5
 
Grazie ancora dell'aiuto
 
BC

 risultato TRE e non come se facessi un count 5
 
No, ma se già usi DCount() puoi lasciare perdere il Count() nella query.



Ringrazio  "con la faccia sotto i vostri piedi" per l'illuminazione fornita
 
Grazie ancora e auguri
 
BC
 
... a proposito: cosa si mangia di buono a Vienna per capodanno?

 ... cosa si mangia di buono a Vienna per capodanno?
 
Hmm, buona domanda... credo che non esiste il piatto tipico.
 
Peró io di solito dev'essere presente a una famiglia italiana
ed è triste perché zampone/cotechino a me non piacciono e
solo mangio alcune lenticchie. ;-)
