Newsgroup: it.comp.appl.access
Titolo: Intercettare messaggi di ritorno Query PT

Ciao a tutti,
volevo sapere come intercettare i messaggi di ritorno di una query 
Passthrough.
Non voglio che mi appaia un msgbox ma gestirli da codice per scriverli 
in un file di log.
Nicoletta


Currentdb.Execute "qry" � un primo passo 

 
Scusami OneEDP ma non ho capito come fare. "qry" cos'ï¿œ?
Nicky

 ha scritto nel messaggio 
news:4acf5624$0$1109$4faf...@reader2.news.tin.it...

Ciao Nicoletta,
Puoi definire cosa intendi con "messaggi di ritorno di una query" ??
Ciao
Giorgio Rancati

giorgio rancati ha scritto:

scusami, mi spiego meglio; intendevo il numero di righe cancellate 
quando eseguo una delete o il numero di righe aggiornate per un update
Nicky

 Nicky
Ragazzaccia. Che centr il numero delle righe....
Ok.
    Set qdfTemp = CurrentDb.CreateQueryDef("", "qui ci metti lo statement 
sql update o delete")
      qdfTemp.Execute
      Debug.Print _
         "RecordsAffected after executing query " & _
         "from QueryDef: " & qdfTemp.RecordsAffected
e se gestisci gli errori (come credevo) puoi anche intercettare eventuali 
anomalie...
Ciao 

 
ok era recordsaffected che cercavo...
Perï¿œ non mi ritorna correttamente i valori
Forse perchï¿œ sono all'interno di una transazione?
In realtï¿œ se eseguo comandi di delete o update dagli interattivi ottengo 
comunque messaggi di ritorno di records trattati. Al limite poi rollbecco
Nicky

 Nicky
Guardati F1 ODBCDirect
Ciao
Daniele 

 
Ma io non sto usando odbcdirect, sto usando query passthrough in area jet

 comunque messaggi di ritorno di records trattati. Al limite poi rollbecco
Ciao Nicoletta,
se vuoi avere l'esatto numero di record modificati/cancellati puoi fare:
----
    StringaSql = "UPDATE dbo.Tabellai SET Campo = 'x' WHERE Id=1; SELECT 
@@ROWCOUNT"
    Qdf.Connect = Connect_String
    Qdf.ReturnsRecords = True
    Qdf.SQL = StringaSql
    NumRecord = Qdf.OpenRecordset().Fields(0)
    Debug.Print Numrecord
----
Ciao
Giorgio Rancati

 ----
piccola modifica alla StringaSql
----
StringaSql = "SET NOCOUNT ON;UPDATE dbo.Tabellai SET Campo = 'x' WHERE Id=1; 
SELECT @@ROWCOUNT"
---
Ciao
Giorgio Rancati

giorgio rancati ha scritto:

Scusami Giorgio, ma io ho:
     Set wrk = DBEngine.Workspaces(0)
     Set dbswrk = OpenDatabase("", False, False, Connect_String)
     'Inizia transazione esplicita
     wrk.BeginTrans
     'cancello ultima estrazione con stessa data consolidamento
      stringasql = "SET NOCOUNT ON;DELETE FROM SYSADM.GWENXRIPPAG 
WHERE 	DATADIAPINIZIO=" & miovalore & ";SELECT @@ROWCOUNT"
     dbswrk.Execute stringasql, dbSeeChanges + dbSQLPassThrough
etc.
come integro il tuo suggerimento?
Non ho un oggetto querydef perchï¿œ la sintassi di questo flusso l'ho 
presa dal documento di Alex e pensavo che si dovesse fare proprio in 
questo modo per gestire le transazioni
Nicky

 per gestire le transazioni
questo non significa che puoi fare la stessa cosa con un oggetto querydef
:-)
Giorgio Rancati

 jet
A che ti serve la transazione per contare?
Ciao 

 questo non significa che puoi fare la stessa cosa con un oggetto querydef
ahemm... si capisce poco niente!!
insomma... puoi fare tranquillamente la stessa cosa con un oggeto querydef
Giorgio Rancati

 
All'interno della transazione elimino i record da una tabella (vorrei 
contarli) e in seguito riscrivo altri record (stavolta so quanti sono) 
ed il tutto deve avvenire con una sola transazione per evitare 
malfunzionamenti.
Nicky

 Nicky
Scusami tanto, ma usare ADO ?

 Scusami tanto, ma usare ADO ?
No, da quanto ne ho capito potrebbe non essere pi� supportato
Nicky

 Nicky