Newsgroup: it.comp.appl.access
Titolo: Utilizzare VISTE di SQL in access

Salve a tutti ragazzi, qualuno mi saprebbe dire come faccio a richiamare una
vista creata in sql server 2000 in un modulo access? e se possibile a questa
vista posso passargli variabili sempre via modulo? io uso il dao 3.6
Grazie in anticipo a tutti
Marco
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Grazie in anticipo a tutti
Ciao Marco
Puoi collegare al tuo MDB la vista di Sqlserver come se fosse una normale
tabella e interrogarla con una normale query.
Tieni presente che se non utilizzi funzioni VBA il driver ODBC traduce la
tua query in linguaggio TSQL producendo un notevole aumento di prestazioni
(ad esempio LIKE 'A*' viene tradotto in LIKE 'A%').
Ciao Giorgio

 ha
scritto:

Grazie Giorgio mi sei stato di grande aiuto, ho preso in mano un database
fatto da un'altra persona in sql e io sino ad ora non lo avevo mai usato e
non ho il tempo di studiarmi un manuale per motivi di lavoro, ti chiedo
l'ultima cosa se la sai:
ho visto che ci sono anche le store procedure che a quanto ho capito sono
tipo le queri di aggiornamento e accodamento di access, ti volevo chiedere
anche in questo coso come si fa a richiamarle da access.
Grazie mille ancora


 Grazie mille ancora
Ciao Marco
Posso indicarti due modi per eseguire le store procedure
Nr 1) comodo per le Sp che non hanno parametri in ingresso e che rendono un
recordset.
Nella sezione Query premi Nuovo, premi OK alla scelta visualizzazione
struttura, premi chiudi nel riquadro mostra tabella, nella zona grigia della
query premi il tasto destro del mouse e seleziona Proprietą dal menu popup,
dal menu di access seleziona Query-->Sql Specifico-->Pass Through, a questo
punto hai un foglio bianco e il form delle proprietą aperto, in quest'
ultimo seleziona la riga Stringa Conness ODBC e premi i tre puntini a destra
di essa, seleziona l'origine dati, il database e quant'altro necessita per
collegarsi al server, nel foglio bianco della query scrivi
EXEC [NomeStoredProc]
eventualmente puoi passare anche i parametri ma se questi cambiano devi
sempre modificare la tua query
EXEC [NomeStoredProc] 100,'Milano',-1
Se la Sp non rende alcun recordset riceverai il messaggio che la query non
ha restituito alcun record.
Nr 2) Via VBA con DAO 3.6
=====================
Dim wrk As Workspace
Dim Con As Connection
Set wrk = CreateWorkspace("AreaLavoroODBC", _
                "Admin", "", dbUseODBC)
 Set Con = wrk.OpenConnection("Con", dbDriverCompleteRequired, False, _
    "ODBC;DRIVER=SQL Server;SERVER=TuoServer;UID=NomeUser;PWD=Password;" & _
    "DATABASE=TuoDatabase;DSN=;")
   Con.QueryTimeout = 0
   Con.execute "EXEC [NomeStoredProc] " & parametro1 & "," & Parametro2
ecc....
========================
Maggiori dettagli sulla connessione DAO la trovi nel manuale in linea di
Access.
Ti ricordo che i parametri di tipo stringa vanno passati racchiusi tra i
singoli apici, gli importi con decimali trattali con la funzione STR(), per
quanto riguarda i campi data ti consiglio di passare il formato ISO
racchiuso tra singoli apici, per esempio 21/10/2003 lo passerai come
'20031021' in questo caso SqlServer effettua una conversione implicita in
datetime.
Ciao Giorgio

 ha

Mamma mia incredibile sei piu efficiente di un orologio svizzero mi hai
aiutato un sacco ti ringrazio molto.
Ciao Marco
