Discussione:
problema sql server adp access su proprietà serverfilter
(troppo vecchio per rispondere)
f***@gmail.com
2007-04-13 12:44:08 UTC
Permalink
ciao a tutti!
vi posto questo problemino:
da mdb ho fato adp per lavorare con db sql server express

nota (è un bel casino ho dovuto cambiare tutto il codice in vba che
avevo scritto perchè sql server non lo capisce!!!; chi capisce la
politica di microsoft è bravo!!)

problema: nell'mdb da una maschera mi si aprono diversi report sulla
base di 1 o più parametri dinamici, una volta fatto l'upsize in sql
server express e creato l'adp i miei report non vengono più
filtrati!!!!
ecco le operazioni che ho eseguito e la mia situazione:
1. i report hanno come origine una select from (non si dovrebbe
trattare quindi di una stored procedure) che si aprono nell'mdb sulla
base di un criterio che passavo via codice in questo modo:

dim strsql as string
strsql = pippo
docmd.openreport "tal dei tali", ...,...,.. , strsql


2. io in adp + sqlserver faccio cosi
dim strsql as string
strsql = pippo
me.serverfilter= strsql
docmd.openreport "tal dei tali", ...,...,..

ma il report non mi si apre!!! perchè???

la cosa strana è che su altri report strutturati nello stesso modo
questo metodo funziona...

qualcuno mi sa aiutare??

inoltre (chiedo venia per la lunghezza del post) ho capito che esiste
un analizzatore delle prestazioni di sql server express, mi sapete
dire come attivarlo? io vorrei capire in particolare come fare
eseguire sul server la query e poi portare al client solo il report
filtrato... mi sa che con serverfilter prima il client si carica tutto
in locale....
sapete aiutarmi???

grazie molte a tutti!!!
f***@gmail.com
2007-04-13 18:04:54 UTC
Permalink
Post by f***@gmail.com
ciao a tutti!
da mdb ho fato adp per lavorare con db sql server express
nota (è un bel casino ho dovuto cambiare tutto il codice in vba che
avevo scritto perchè sql server non lo capisce!!!; chi capisce la
politica di microsoft è bravo!!)
problema: nell'mdb da una maschera mi si aprono diversi report sulla
base di 1 o più parametri dinamici, una volta fatto l'upsize in sql
server express e creato l'adp i miei report non vengono più
filtrati!!!!
1. i report hanno come origine una select from (non si dovrebbe
trattare quindi di una stored procedure) che si aprono nell'mdb sulla
dim strsql as string
strsql = pippo
docmd.openreport "tal dei tali", ...,...,.. , strsql
2. io in adp + sqlserver faccio cosi
dim strsql as string
strsql = pippo
me.serverfilter= strsql
docmd.openreport "tal dei tali", ...,...,..
ma il report non mi si apre!!! perchè???
la cosa strana è che su altri report strutturati nello stesso modo
questo metodo funziona...
qualcuno mi sa aiutare??
inoltre (chiedo venia per la lunghezza del post) ho capito che esiste
un analizzatore delle prestazioni di sql server express, mi sapete
dire come attivarlo? io vorrei capire in particolare come fare
eseguire sul server la query e poi portare al client solo il report
filtrato... mi sa che con serverfilter prima il client si carica tutto
in locale....
sapete aiutarmi???
grazie molte a tutti!!!
..................?
Cinzia
2007-04-15 08:45:07 UTC
Permalink
<***@gmail.com> ha scritto nel messaggio news:***@d57g2000hsg.googlegroups.com...
ciao a tutti!
vi posto questo problemino:
da mdb ho fato adp per lavorare con db sql server express

nota (è un bel casino ho dovuto cambiare tutto il codice in vba che
avevo scritto perchè sql server non lo capisce!!!; chi capisce la
politica di microsoft è bravo!!)

problema: nell'mdb da una maschera mi si aprono diversi report sulla
base di 1 o più parametri dinamici, una volta fatto l'upsize in sql
server express e creato l'adp i miei report non vengono più
filtrati!!!!
ecco le operazioni che ho eseguito e la mia situazione:
1. i report hanno come origine una select from (non si dovrebbe
trattare quindi di una stored procedure) che si aprono nell'mdb sulla
base di un criterio che passavo via codice in questo modo:

dim strsql as string
strsql = pippo
docmd.openreport "tal dei tali", ...,...,.. , strsql


2. io in adp + sqlserver faccio cosi
dim strsql as string
strsql = pippo
me.serverfilter= strsql
docmd.openreport "tal dei tali", ...,...,..

ma il report non mi si apre!!! perchè???

la cosa strana è che su altri report strutturati nello stesso modo
questo metodo funziona...

qualcuno mi sa aiutare??

inoltre (chiedo venia per la lunghezza del post) ho capito che esiste
un analizzatore delle prestazioni di sql server express, mi sapete
dire come attivarlo? io vorrei capire in particolare come fare
eseguire sul server la query e poi portare al client solo il report
filtrato... mi sa che con serverfilter prima il client si carica tutto
in locale....
sapete aiutarmi???

Ciao Ulisse,
impaziente? tieni conto che chi risponde su questo NG lo fa solo su base
volontaria e ogni tanto gli tocca pure lavorare per vivere... per cui se non
ottieni rapide risposte abbi un po' di pazienza prima o poi qualcuno, se
sa.. risponderà...
Dopo il dovuto ca......one, vediamo di chiarire...
Tu scrivi:
2. io in adp + sqlserver faccio cosi
dim strsql as string
strsql = pippo
me.serverfilter= strsql
docmd.openreport "tal dei tali", ...,...,..

ma il report non mi si apre!!! perchè???

me.serverFilter = strsql
stai applicando un filtro non al report che stai per aprire ma alla maschera
corrente
per aprire il report filtrato secondo il tuo criterio, puoi farlo
esattamente come negli mdb:

DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")",
acWindowNormal

il report non si apre o non si apre filtrato? e che errore da se non si
apre? tieni presente che il filtro deve avere una sintassi SQL
comprensibile a SQL Server che non ha la minima idea dei nomi dei controlli
delle maschere in Access.

Per quanto riguarda la seconda domanda, per vedere le istruzioni che
viaggiano tra il server e Access puoi Attivare il SQL Server Profiler
(dovrebbe esserci anche nella versione Express) che ti fa vedere esattamente
le istruzioni inviate da Access a SQL Server ad esempio nel caso di un
report che ha come origine dati una Select campo1, campo2 From TabellaX e
che viene aperto con una istruzione del tipo:


DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")",
acWindowNormal

l'istruzione inviata a SQL server è:

SELECT "Campo1", "Campo2" FROM "dbo"."TabellaX" WHERE (([Campo1] =
10021) )

per cui non è vero che il client si carica tutto in locale e poi filtra, ma
il filtro viene eseguito sul server e vengono restituiti solo i record
filtrati.
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
f***@gmail.com
2007-04-18 09:59:31 UTC
Permalink
Post by f***@gmail.com
ciao a tutti!
da mdb ho fato adp per lavorare con db sql server express
nota (è un bel casino ho dovuto cambiare tutto il codice in vba che
avevo scritto perchè sql server non lo capisce!!!; chi capisce la
politica di microsoft è bravo!!)
problema: nell'mdb da una maschera mi si aprono diversi report sulla
base di 1 o più parametri dinamici, una volta fatto l'upsize in sql
server express e creato l'adp i miei report non vengono più
filtrati!!!!
1. i report hanno come origine una select from (non si dovrebbe
trattare quindi di una stored procedure) che si aprono nell'mdb sulla
dim strsql as string
strsql = pippo
docmd.openreport "tal dei tali", ...,...,.. , strsql
2. io in adp + sqlserver faccio cosi
dim strsql as string
strsql = pippo
me.serverfilter= strsql
docmd.openreport "tal dei tali", ...,...,..
ma il report non mi si apre!!! perchè???
la cosa strana è che su altri report strutturati nello stesso modo
questo metodo funziona...
qualcuno mi sa aiutare??
inoltre (chiedo venia per la lunghezza del post) ho capito che esiste
un analizzatore delle prestazioni di sql server express, mi sapete
dire come attivarlo? io vorrei capire in particolare come fare
eseguire sul server la query e poi portare al client solo il report
filtrato... mi sa che con serverfilter prima il client si carica tutto
in locale....
sapete aiutarmi???
Ciao Ulisse,
impaziente? tieni conto che chi risponde su questo NG lo fa solo su base
volontaria e ogni tanto gli tocca pure lavorare per vivere... per cui se non
ottieni rapide risposte abbi un po' di pazienza prima o poi qualcuno, se
sa.. risponderà...
Dopo il dovuto ca......one, vediamo di chiarire...
2. io in adp + sqlserver faccio cosi
dim strsql as string
strsql = pippo
me.serverfilter= strsql
docmd.openreport "tal dei tali", ...,...,..
ma il report non mi si apre!!! perchè???
me.serverFilter = strsql
stai applicando un filtro non al report che stai per aprire ma alla maschera
corrente
per aprire il report filtrato secondo il tuo criterio, puoi farlo
DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")",
acWindowNormal
il report non si apre o non si apre filtrato? e che errore da se non si
apre? tieni presente che il filtro deve avere una sintassi SQL
comprensibile a SQL Server che non ha la minima idea dei nomi dei controlli
delle maschere in Access.
Per quanto riguarda la seconda domanda, per vedere le istruzioni che
viaggiano tra il server e Access puoi Attivare il SQL Server Profiler
(dovrebbe esserci anche nella versione Express) che ti fa vedere esattamente
le istruzioni inviate da Access a SQL Server ad esempio nel caso di un
report che ha come origine dati una Select campo1, campo2 From TabellaX e
DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")",
acWindowNormal
SELECT "Campo1", "Campo2" FROM "dbo"."TabellaX" WHERE (([Campo1] =
10021) )
per cui non è vero che il client si carica tutto in locale e poi filtra, ma
il filtro viene eseguito sul server e vengono restituiti solo i record
filtrati.
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
grazie molte cinzia!

scusa ma lo so che chi partecipa a sti newsgroup lo fa per passione e
non per lavoro, però dai sarà capitato anche a te di avere fretta e di
chiedeere una risposta celere! chiedo venia per averlo fatto, però può
capitare!!!

comunque sei stata molto gentile perchè mi hai risposto in maniera
molto puntuale, anche se non sono convinto che questo codice che
scrivi tu
funzioni correttamente
DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")",
Post by f***@gmail.com
acWindowNormal
io ho provato e mi pare che in questo modo sql server express non
prenda i benedetti parametri che gli passo nella stringa (mi dà sempre
"errore in prossimità di "(", oppure nome del campo non trovato)

metendo il me.filter il mio report si apre e ho visto che il codice
viene interpretato correttamente, ma naturalmente come dici tu il
filtro lo fa sulla maschera e quindi mi restituisce il report con
tutti i campi senza applicare il filtro!.
Adesso riprovo con attenzione e poi ti faccio sapere nei prossimi
giorni!

ciao grazie molte alla prossima!

uli
f***@gmail.com
2007-04-20 12:51:01 UTC
Permalink
ciao a tuuti!!

grazie cinzia di nuovo ma il tuo codice non funge!!!

mi dispiace!!!!!!
sto disperato!!!!!!!!


una seconda cosa di cui farò pure una nuova discussione:

come c........o si passano i parametri via codice ad una funzione
definita dall'utente??????

su sql server express
scusate ma io scrivo una funzione "pescainventario" cosi fatta:
definisico il paramatero @inventario come varchar(20)
select inventario from tbl monete
where inventario=(@inventario)

sull'adp di access ho una una combobox da cui pesco un elenco di
inventari che sono il parametro @inventario che devo passare alla mia
funzione pescainventario

come si faaaaa??????????

graziiiieeeeeeeeeeee
Cinzia
2007-04-20 18:23:24 UTC
Permalink
Ciao Ulisse,
Post by f***@gmail.com
grazie cinzia di nuovo ma il tuo codice non funge!!!
mi dispiace!!!!!!
sto disperato!!!!!!!!
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
f***@gmail.com
2007-04-22 16:25:35 UTC
Permalink
Post by Cinzia
Ciao Ulisse,
Post by f***@gmail.com
grazie cinzia di nuovo ma il tuo codice non funge!!!
mi dispiace!!!!!!
sto disperato!!!!!!!!
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
ciao Cinzia
Post by Cinzia
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
il profiler non lo trovo sulla versione sql express e non so come
attivarlo (nè a questo punto se c'è)

per quanto riguarda il passaggio dei parametri molto semplicemente è
come se non esistesero per il report di sql server, il che mi fa
abbastanza arrabbiare. Ho dovuto mettere tutti i parametri sui report
e francamente mi sembra una bella cavolata!!!! Peccato! comunque ho
ancora un paio di report che devo aggiustare con un parametro
variabile che vorrei riuscire a mettere in codice (anche per
soddifazione personale!)
cmq credo ( e sottolineo credo, data la mia ignoranza) che il
parametro come lo hai scritto tu non funzioni perchè mancano gli
apicetti ... può essere?

DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")" mi
pare che vadano inseriti gli apicetti prima e dopo le &

che dici?

ciao
Cinzia
2007-04-22 19:49:29 UTC
Permalink
Post by Cinzia
Ciao Ulisse,
Post by f***@gmail.com
grazie cinzia di nuovo ma il tuo codice non funge!!!
mi dispiace!!!!!!
sto disperato!!!!!!!!
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
il profiler non lo trovo sulla versione sql express e non so come
attivarlo (nè a questo punto se c'è)

per quanto riguarda il passaggio dei parametri molto semplicemente è
come se non esistesero per il report di sql server, il che mi fa
abbastanza arrabbiare. Ho dovuto mettere tutti i parametri sui report
e francamente mi sembra una bella cavolata!!!! Peccato! comunque ho
ancora un paio di report che devo aggiustare con un parametro
variabile che vorrei riuscire a mettere in codice (anche per
soddifazione personale!)
cmq credo ( e sottolineo credo, data la mia ignoranza) che il
parametro come lo hai scritto tu non funzioni perchè mancano gli
apicetti ... può essere?

DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")" mi
pare che vadano inseriti gli apicetti prima e dopo le &

che dici?
Ciao ulisse,
le parentesi non sono obbligatorie, puoi anche non metterle, non cambia
niente gli apicetti invece direi che non ci vogliono proprio, se servono
saranno dentro a strsql.
Mi spiego meglio, se strsql fosse fosse un criterio del tipo nome = "ulisse"
allora scriveremmo:
strsql="nome ='ulisse'"
se invece il criterio fosse prezzo< 500 scriveremmo
strsql="prezzo<500" senza gli apici
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
f***@gmail.com
2007-04-26 09:21:23 UTC
Permalink
Post by f***@gmail.com
Post by Cinzia
Ciao Ulisse,
Post by f***@gmail.com
grazie cinzia di nuovo ma il tuo codice non funge!!!
mi dispiace!!!!!!
sto disperato!!!!!!!!
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
il profiler non lo trovo sulla versione sql express e non so come
attivarlo (nè a questo punto se c'è)
per quanto riguarda il passaggio dei parametri molto semplicemente è
come se non esistesero per il report di sql server, il che mi fa
abbastanza arrabbiare. Ho dovuto mettere tutti i parametri sui report
e francamente mi sembra una bella cavolata!!!! Peccato! comunque ho
ancora un paio di report che devo aggiustare con un parametro
variabile che vorrei riuscire a mettere in codice (anche per
soddifazione personale!)
cmq credo ( e sottolineo credo, data la mia ignoranza) che il
parametro come lo hai scritto tu non funzioni perchè mancano gli
apicetti ... può essere?
DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")" mi
pare che vadano inseriti gli apicetti prima e dopo le &
che dici?
Ciao ulisse,
le parentesi non sono obbligatorie, puoi anche non metterle, non cambia
niente gli apicetti invece direi che non ci vogliono proprio, se servono
saranno dentro a strsql.
Mi spiego meglio, se strsql fosse fosse un criterio del tipo nome = "ulisse"
strsql="nome ='ulisse'"
se invece il criterio fosse prezzo< 500 scriveremmo
strsql="prezzo<500" senza gli apici
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
ciao Cinzia,
ma per quanti sforzi abbia fatto a me non funziona affatto come dici
tu(!!!).
Inoltre non trovo questo metodo di passare criteri come con access in
nessuna documentazione di sql server nè di adp di access!!!!!
sei sicura che sia questo il modo? L'hai provato effettivamente? dove?
come? perchè non lo trovo su nessuna documentazione ufficiale????
scusami,ma per me è importante capire se esiste un modo analogo
funzionante a quello di access per passare i criteri di un report. Ti
spiego: stiamo facendo un collaudo del lavoro di una ditta per una
commessa moooolto grande e dobbiamo valutare i costi praticamente per
ogni più piccola cosa (pensa addirittura il tempo delle pause
caffè!!!!!!!!!; sto uscendo matto!!!) in particolare sto valutando i
tempi necessari per passare alcuni report a sql server da access mdb.
Per questo, senza vedere come ha fatto la ditta devo rifare la
procedura di trasferimento in diverse modalità, valutando quella più
rapida, visto che si tratta dimolti report (circa 200) ma tutti uguali
con parametri.

per questo per me è fondamentale capire se il metodo che mi suggerisci
tu è reale e testato oppure no!!

p.s.: perdonami la mia ignoranza ma io di mestiere collaudo e testo
pezzi di aereoplani e di elicotteri (!!!), quindi non mi ci ritrovo
molto in questi aspetti (!!!)





grazie
Cinzia
2007-04-26 21:04:25 UTC
Permalink
Post by f***@gmail.com
Post by Cinzia
Ciao Ulisse,
Post by f***@gmail.com
grazie cinzia di nuovo ma il tuo codice non funge!!!
mi dispiace!!!!!!
sto disperato!!!!!!!!
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
il profiler non lo trovo sulla versione sql express e non so come
attivarlo (nè a questo punto se c'è)
per quanto riguarda il passaggio dei parametri molto semplicemente è
come se non esistesero per il report di sql server, il che mi fa
abbastanza arrabbiare. Ho dovuto mettere tutti i parametri sui report
e francamente mi sembra una bella cavolata!!!! Peccato! comunque ho
ancora un paio di report che devo aggiustare con un parametro
variabile che vorrei riuscire a mettere in codice (anche per
soddifazione personale!)
cmq credo ( e sottolineo credo, data la mia ignoranza) che il
parametro come lo hai scritto tu non funzioni perchè mancano gli
apicetti ... può essere?
DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")" mi
pare che vadano inseriti gli apicetti prima e dopo le &
che dici?
Ciao ulisse,
le parentesi non sono obbligatorie, puoi anche non metterle, non cambia
niente gli apicetti invece direi che non ci vogliono proprio, se servono
saranno dentro a strsql.
Mi spiego meglio, se strsql fosse fosse un criterio del tipo nome = "ulisse"
strsql="nome ='ulisse'"
se invece il criterio fosse prezzo< 500 scriveremmo
strsql="prezzo<500" senza gli apici
Ciao Ulisse,
Post by f***@gmail.com
ciao Cinzia,
ma per quanti sforzi abbia fatto a me non funziona affatto come dici
tu(!!!).
Ti ho messo sotto la procedura esattamente come la uso io senza nessun
adattamento
Post by f***@gmail.com
Inoltre non trovo questo metodo di passare criteri come con access in
nessuna documentazione di sql server nè di adp di access!!!!!
sei sicura che sia questo il modo? L'hai provato effettivamente? dove?
come? perchè non lo trovo su nessuna documentazione ufficiale????
scusami,ma per me è importante capire se esiste un modo analogo
funzionante a quello di access per passare i criteri di un report. Ti
spiego: stiamo facendo un collaudo del lavoro di una ditta per una
commessa moooolto grande e dobbiamo valutare i costi praticamente per
ogni più piccola cosa (pensa addirittura il tempo delle pause
caffè!!!!!!!!!; sto uscendo matto!!!) in particolare sto valutando i
tempi necessari per passare alcuni report a sql server da access mdb.
Per questo, senza vedere come ha fatto la ditta devo rifare la
procedura di trasferimento in diverse modalità, valutando quella più
rapida, visto che si tratta dimolti report (circa 200) ma tutti uguali
con parametri.
Se devi trasferire dei report già fatti in MDB su SQL Server il metodo
sicuramente più rapido è quello di tenere gli MDB così come sono e
trasferire su SQL solo le tabelle e collegarle poi all'MDB via ODBC, è
inutile trasformare tutto in ADP perdi solo un sacco di tempo, inoltre il
metodo consigliato da Microsoft per accedere a SQL Server è quello di usare
tabelle collegate a un MDB, la tecnologia ADP è ancora supportata ma per il
momento non verrà ulteriormente sviluppata per cui prob. non vale la pena
investirci adesso.
Post by f***@gmail.com
per questo per me è fondamentale capire se il metodo che mi suggerisci
tu è reale e testato oppure no!!
realissimo e operativo

p.s.: perdonami la mia ignoranza ma io di mestiere collaudo e testo
pezzi di aereoplani e di elicotteri (!!!), quindi non mi ci ritrovo
molto in questi aspetti (!!!)

[OT]
interessante... pezzi di aeroplani ed elicotteri... ti penserò ogni volta
che prendo un aereo :-) ,... ma un dubbio sorge spontaneo.... perchè mai
nelle aziende ad un collaudatore di pezzi di aerei o elicotteri viene dato
da fare un lavoro che non c'entra niente con la sua professionalità? è come
farsi fare un vestito da un calzolaio o una pizza dal gelataio ..... boh non
capisco...

[/OT]


questa è la procedura che uso copiata e incollata dal mio ADP Access 2003:

Private Sub btn_stampa_Click()
On Error GoTo Err_btn_stampa_Click

Dim stDocName As String
wherecond = ""
If Not IsNull(Me.cmbAmm) Then
wherecond = "([idAmministratore] = " & Me.cmbAmm & ")"
End If
stDocName = Me.OpenArgs

Select Case Me.OpenArgs
Case "rpt_FattureDaIncassare"
If Len(wherecond) > 0 Then
wherecond = wherecond & " AND ([DataFattura] Between '" &
CDate(Nz(Me.txt_daData, "01/01/2000")) & "' AND '" & CDate(Nz(Me.txt_aData,
Date)) & "')"
Else
wherecond = "([DataFattura] Between '" &
CDate(Nz(Me.txt_daData, "01/01/2000")) & "' AND '" & CDate(Nz(Me.txt_aData,
Date)) & "')"

End If

If Me.chk_daIncassare Then
wherecond = wherecond & " AND ([DataPagamento] is null)"
End If
Case Else


End Select
DoCmd.OpenReport stDocName, acPreview, , "(" & wherecond & ")",
acWindowNormal

Exit_btn_stampa_Click:
Exit Sub

Err_btn_stampa_Click:
MsgBox Err.Description
Resume Exit_btn_stampa_Click

End Sub

e il report in questione ha come origine record una vista su SQL Server
2005.
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
f***@gmail.com
2007-04-27 10:24:04 UTC
Permalink
Post by Cinzia
Post by f***@gmail.com
Post by Cinzia
Ciao Ulisse,
Post by f***@gmail.com
grazie cinzia di nuovo ma il tuo codice non funge!!!
mi dispiace!!!!!!
sto disperato!!!!!!!!
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
invece di disperarti, che errore hai? hai provato a guardare cosa succede
con il Profiler?
il profiler non lo trovo sulla versione sql express e non so come
attivarlo (nè a questo punto se c'è)
per quanto riguarda il passaggio dei parametri molto semplicemente è
come se non esistesero per il report di sql server, il che mi fa
abbastanza arrabbiare. Ho dovuto mettere tutti i parametri sui report
e francamente mi sembra una bella cavolata!!!! Peccato! comunque ho
ancora un paio di report che devo aggiustare con un parametro
variabile che vorrei riuscire a mettere in codice (anche per
soddifazione personale!)
cmq credo ( e sottolineo credo, data la mia ignoranza) che il
parametro come lo hai scritto tu non funzioni perchè mancano gli
apicetti ... può essere?
DoCmd.OpenReport "tal dei tali", acPreview, , "(" & strsql & ")" mi
pare che vadano inseriti gli apicetti prima e dopo le &
che dici?
Ciao ulisse,
le parentesi non sono obbligatorie, puoi anche non metterle, non cambia
niente gli apicetti invece direi che non ci vogliono proprio, se servono
saranno dentro a strsql.
Mi spiego meglio, se strsql fosse fosse un criterio del tipo nome = "ulisse"
strsql="nome ='ulisse'"
se invece il criterio fosse prezzo< 500 scriveremmo
strsql="prezzo<500" senza gli apici
Ciao Ulisse,
Post by f***@gmail.com
ciao Cinzia,
ma per quanti sforzi abbia fatto a me non funziona affatto come dici
tu(!!!).
Ti ho messo sotto la procedura esattamente come la uso io senza nessun
adattamento
Post by f***@gmail.com
Inoltre non trovo questo metodo di passare criteri come con access in
nessuna documentazione di sql server nè di adp di access!!!!!
sei sicura che sia questo il modo? L'hai provato effettivamente? dove?
come? perchè non lo trovo su nessuna documentazione ufficiale????
scusami,ma per me è importante capire se esiste un modo analogo
funzionante a quello di access per passare i criteri di un report. Ti
spiego: stiamo facendo un collaudo del lavoro di una ditta per una
commessa moooolto grande e dobbiamo valutare i costi praticamente per
ogni più piccola cosa (pensa addirittura il tempo delle pause
caffè!!!!!!!!!; sto uscendo matto!!!) in particolare sto valutando i
tempi necessari per passare alcuni report a sql server da access mdb.
Per questo, senza vedere come ha fatto la ditta devo rifare la
procedura di trasferimento in diverse modalità, valutando quella più
rapida, visto che si tratta dimolti report (circa 200) ma tutti uguali
con parametri.
Se devi trasferire dei report già fatti in MDB su SQL Server il metodo
sicuramente più rapido è quello di tenere gli MDB così come sono e
trasferire su SQL solo le tabelle e collegarle poi all'MDB via ODBC, è
inutile trasformare tutto in ADP perdi solo un sacco di tempo, inoltre il
metodo consigliato da Microsoft per accedere a SQL Server è quello di usare
tabelle collegate a un MDB, la tecnologia ADP è ancora supportata ma per il
momento non verrà ulteriormente sviluppata per cui prob. non vale la pena
investirci adesso.
Post by f***@gmail.com
per questo per me è fondamentale capire se il metodo che mi suggerisci
tu è reale e testato oppure no!!
realissimo e operativo
p.s.: perdonami la mia ignoranza ma io di mestiere collaudo e testo
pezzi di aereoplani e di elicotteri (!!!), quindi non mi ci ritrovo
molto in questi aspetti (!!!)
[OT]
interessante... pezzi di aeroplani ed elicotteri... ti penserò ogni volta
che prendo un aereo :-) ,... ma un dubbio sorge spontaneo.... perchè mai
nelle aziende ad un collaudatore di pezzi di aerei o elicotteri viene dato
da fare un lavoro che non c'entra niente con la sua professionalità? è come
farsi fare un vestito da un calzolaio o una pizza dal gelataio ..... boh non
capisco...
[/OT]
Private Sub btn_stampa_Click()
On Error GoTo Err_btn_stampa_Click
Dim stDocName As String
wherecond = ""
If Not IsNull(Me.cmbAmm) Then
wherecond = "([idAmministratore] = " & Me.cmbAmm & ")"
End If
stDocName = Me.OpenArgs
Select Case Me.OpenArgs
Case "rpt_FattureDaIncassare"
If Len(wherecond) > 0 Then
wherecond = wherecond & " AND ([DataFattura] Between '" &
CDate(Nz(Me.txt_daData, "01/01/2000")) & "' AND '" & CDate(Nz(Me.txt_aData,
Date)) & "')"
Else
wherecond = "([DataFattura] Between '" &
CDate(Nz(Me.txt_daData, "01/01/2000")) & "' AND '" & CDate(Nz(Me.txt_aData,
Date)) & "')"
End If
If Me.chk_daIncassare Then
wherecond = wherecond & " AND ([DataPagamento] is null)"
End If
Case Else
End Select
DoCmd.OpenReport stDocName, acPreview, , "(" & wherecond & ")",
acWindowNormal
Exit Sub
MsgBox Err.Description
Resume Exit_btn_stampa_Click
End Sub
e il report in questione ha come origine record una vista su SQL Server
2005.
--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
----------------------------------------
ok grazie,
adesso provo e vedo e poi ti faccio sapere

grazie

p.s.: si collaudo pezzi di elicotteri e aerei militari (quindi dubito
che ci salirai mai!)

ciao

Continua a leggere su narkive:
Loading...