Newsgroup: it.comp.appl.access
Titolo: utilizzo di tabelle OBDC collegate..

Salve ragazzi..
Nell'ottica di non permettere modifiche (aggiunte o cancellazioni come
è già successo), vorrei creare una query basata su una tabella
collegata senza che quest'ultima sia visibile nel database access come
tabella collegata appunto.
Tale tabella collegata è una tabella AS/400 il cui indirizzo che trovo
nella descrizione del collegamento stesso (all'interno della tabella
collegata) è il seguente:
ODBC;DSN=ASPNTP;;TABLE=RFRF.RFRCT
Questa è la query di esempio attuale, che punta alla tabella
collegata:
SELECT RFRCT.CTPFI, RFRCT.CTCTI FROM RFRCT;
Ho provato a modificarla cosi togliendo il collegamento diretto della
tabella, ma sicuramente è sbagliata in :
SELECT RFRCT.CTPFI, RFRCT.CTCTI FROM
ODBC;DSN=ASPNTP;;TABLE=RFRF.RFRCT;
Come posso fare una query che punti direttamente all'indirizzo della
tabella senza che la tabella risulti collegata (non voglio si veda il
collegamento nella cartella "tabelle")
Spero di essermi spiegato.
Ciao a tutti e grazie se sapete (e se si può) consigliarmi..


Dimenticavo, A97 e W2K

 Spero di essermi spiegato.

la butto lì,
crei il collegamento all'apertura della tua form e lo elimini in chiusura
ciao
Nicoletta
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

ODBC;DSN=ASPNTP;;TABLE=RFRF.RFRCT






Ciao,
puoi fai così
----
SELECT RFRCT.CTPFI, RFRCT.CTCTI FROM
[ODBC;DSN=ASPNTP;].[RFRF.RFRCT] AS RFRCT;
----
ma se crei la query il risultato non cambia, l'utente può modificare i dati 
dalla query, a meno che tu non usi la stringa Sql direttamente nell'origine 
record di una maschera dove hai gli strumenti per disabilitare modifiche e 
cancellazioni.
Ciao
-- 
Giorgio Rancati
[Office Access MVP] 

 ha scritto nel messaggionews:1182383490.1...@q69g2000hsb.googlegroups.com...

Ciao Giorgio, e grazie per la risposta.. è proprio quello che
cercavo!!
Una piccola complicazione in più, se mi puoi dare ancora un aiutino..
Mi potresti aiutare a trasformare questa SQL affinche funzioni come da
tuo esempio sopra?
Ho provato diversi modi, ma mi da sempre un errore..  probabilmente
"non indirizzo" bene entrambe le tabelle..
Questa è la SQL che devo modificare:
SELECT Sum(([ICST3]*[ICST1]*[ICST2])*[sqreq]) AS Peso, Sum([FSO
£L01].SQREQ) AS SommaDiSQREQ
FROM [FSO£L01] INNER JOIN IIML01 ON [FSO£L01].SPROD = IIML01.IPROD
WHERE (((IIML01.IPROD) Like "70468*"))
GROUP BY [FSO£L01].SPRIO, IIML01.IITYP
HAVING ((([FSO£L01].SPRIO)=1) AND ((IIML01.IITYP)="C"));
Questa è quella modificata che ho provato a buttare giu io:
SELECT Sum(([ICST3]*[ICST1]*[ICST2])*[sqreq]) AS Peso, Sum([FSO
£L01].SQREQ) AS SommaDiSQREQ
FROM [ODBC;DSN=ASPNTP;].[RFRF.FSO£L01] AS[FSO£L01] INNER JOIN  IIML01
FROM [ODBC;DSN=ASPNTP;].[RFRF.IIML01 ] AS [IIML01 ] ON [FSO£L01].SPROD
= IIML01.IPROD
WHERE (((IIML01.IPROD) Like "70468*"))
GROUP BY [FSO£L01].SPRIO, IIML01.IITYP
HAVING ((([FSO£L01].SPRIO)=1) AND ((IIML01.IITYP)="C"));
Grazie per l'aiuto in ogni caso
Saluti
Marco

HAVING ((([FSO£L01].SPRIO)=1) AND ((IIML01.IITYP)="C"));
Ciao Marco,
hai messo una FORM di troppo,
----
SELECT Sum(([ICST3]*[ICST1]*[ICST2])*[sqreq]) AS Peso,
       Sum([FSO£L01].SQREQ) AS SommaDiSQREQ
FROM
   [ODBC;DSN=ASPNTP;].[RFRF.FSO£L01] AS [FSO£L01]
INNER JOIN
  [ODBC;DSN=ASPNTP;].[RFRF.IIML01 ] AS [IIML01]
  ON [FSO£L01].SPROD = IIML01.IPROD
WHERE (((IIML01.IPROD) Like "70468*"))
GROUP BY [FSO£L01].SPRIO, IIML01.IITYP
HAVING ((([FSO£L01].SPRIO)=1) AND ((IIML01.IITYP)="C"));
----


 [Office Access MVP]
Grande!!
e supponendo di volerla inserire in un modulo affinche non si veda
neppure la query.. è possibile?
Pensavo a qualcosa tipo
DoCmd.RunSQL   "SELECT Sum(([ICST3]*[ICST1]*[ICST2])*[sqreq]) AS Peso,
" & _
       "Sum([FSO£L01].SQREQ) As SommaDiSQREQ " & _
"FROM " & _
   "[ODBC;DSN=ASPNTP;].[RFRF.FSO£L01] AS [FSO£L01] " & _
"INNER JOIN " & _
  "[ODBC;DSN=ASPNTP;].[RFRF.IIML01 ] AS [IIML01] " & _
  "ON [FSO£L01].SPROD = IIML01.IPROD " & _
"WHERE (((IIML01.IPROD) Like '70468*')) " & _
"GROUP BY [FSO£L01].SPRIO, IIML01.IITYP " & _
"HAVING ((([FSO£L01].SPRIO)=1) AND ((IIML01.IITYP)='C'));"
ma vedo che mi da errore..
ciao e grazie
Marco

ma vedo che mi da errore..
Il metodo RunSql non si puň usare con query di selzione
Crea una maschera in visualizzazione foglio dati con le caselle testo 
necessarie e nella sua origine record incolli il codice SQL


>Errore di sintassi nell'operazione JOIN<<
Access mette in evidenza l'errore come  'AS' della terza riga:   [ILN
£L07] AS [ILN£L07]
Grazie per i vostri consigli ed aiuti!!
Marco