Newsgroup: it.comp.appl.access
Titolo: Modulo con SQL

Salve a tutto il NG,
ho il seguente linguaggio SQL, tratto da una query di selezione:
"SELECT TOP 5 TBLDettagliPrestazioni.DataPrestazione,
TBLDettagliPrestazioni.IdDettaglioPrestazioni, TBLPrestazioni.IdCliente,
TBLDettagliPrestazioni.CodiceOperatore,
TBLDettagliPrestazioni.TipoPrestazione,
TBLDettagliPrestazioni.Descrizione, TBLDettagliPrestazioni.Note,
TBLClienti.Cognome, TBLClienti.Nome
FROM (TBLPrestazioni INNER JOIN TBLDettagliPrestazioni ON
TBLPrestazioni.IdPrestazione = TBLDettagliPrestazioni.IdPrestazione) INNER
JOIN TBLClienti ON TBLPrestazioni.IdCliente = TBLClienti.IdCliente
GROUP BY TBLDettagliPrestazioni.DataPrestazione,
TBLDettagliPrestazioni.IdDettaglioPrestazioni, TBLPrestazioni.IdCliente,
TBLDettagliPrestazioni.CodiceOperatore,
TBLDettagliPrestazioni.TipoPrestazione,
TBLDettagliPrestazioni.Descrizione, TBLDettagliPrestazioni.Note,
TBLClienti.Cognome, TBLClienti.Nome
HAVING (((TBLDettagliPrestazioni.TipoPrestazione)="Artisico") AND
((TBLClienti.Cognome)=[Forms]![FRMServizi]![Cognome]) AND
((TBLClienti.Nome)=[Forms]![FRMServizi]![Nome]))
ORDER BY TBLDettagliPrestazioni.DataPrestazione,
TBLDettagliPrestazioni.IdDettaglioPrestazioni;"
ora io vorrei inserirlo in un modulo affinchè possa utilizzarlo attraverso
una sub come valore di un campo tipo memo.
Il problema si pone proprio nella creazione della funzione contenente
l'SQL poichè non so come porlo a VB.
Grazie.
Lucio
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it



 Lucio
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 > Lucio
Il problema è di prim'ordine, ovvero non so come impostare tramite codice
l'inizializzione alla stringa SQL.


 > Lucio
Il mio problema principale è proprio il non sapere come fare a dare a VB
il codice per fare quello che mi serve...


 Lucio
Lucio, perdona la mia franchezza, ma non si è capito nulla di quello che
vuoi fare o di quanto stai chiedendo.
Sono certo che nella tua testa sia tutto chiaro, ma aimè non siamo
tutti uguali....!
Riprova con parole tue, la sbrodolata SQL l'abbiamo vista, è il
contenuto
che manca...!!!!!!!
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Scusate... 
Allora, io ho bisogno di assegnare ad un campo di tipo memo (solo uno) i
dati provenienti dalla famigerata query di cui sopra (i primi 5 campi).
Spero di essere stato un pň piů chiaro.


 
Forse ora inizio a capire :-)
SELECT TOP 5
(TBLDettagliPrestazioni.DataPrestazione +
TBLDettagliPrestazioni.IdDettaglioPrestazioni +
TBLPrestazioni.IdCliente +
TBLDettagliPrestazioni.CodiceOperatore +
TBLDettagliPrestazioni.TipoPrestazione +
TBLDettagliPrestazioni.Descrizione +
TBLDettagliPrestazioni.Note +
TBLClienti.Cognome +
TBLClienti.Nome) AS NOMECAMPOMEMO
FROM ecc... ecc..
prova così
C'è la possibilità che non funzioni al primo colpo in quanto il segno + 
tiene conto del tipo di dato.
Per essere più precisi, si dovrebbero formattare tutti i campi a 
lunghezze fisse e di tipo stringa prima di procedere, per dare maggiore 
chiarezza ai dati che verranno letti in futuro. ;-)
byEz
-- 
Claudio(BS)
L'unico problema per l'uomo non sta nella difficoltà delle sue imprese
ne' nella quantità di denaro necessario per compierle, ma nella durata
della sua esistenza. (Claudio 14.02.2004)
NB. Protezione antispam
Per rispondere aggiungere claudio

 byEz
Scusami, ma questo è del codice da inserire in un modulo o cos'altro?
Purtroppo non è che arrivo a tutto.:-(


Lucio ha scritto:

Ciao,
tu all'inizio hai parlato della query di selezione (che hai postato) 
chiedendo come fare per unire i dati.
In quella query, parto dal presupposto che tu sappia cosa faccia quella 
query, dicevo, in quella query (o linguaggio SQLcome la chiami tu), devi 
sostituire la prima parte, cioè da dopo la select top 5 fino alla from, 
con quello che ho postato io.


 byEz
Ho provato, haimè nn funzica, quando cerco di visualizzare la query mi
dice:"L'istruzione SELECT include una parola riservata o un argomento
scritto in modo errato o mancante oppure la punteggiatura non è corretta."
Grazie 


 
Ho provato a ricostruire la tua situazione e così dovrebbe andare:
Creo una query chiamata QFRMServizi con questo "codice SQL":
SELECT TOP 5 
([TBLDettagliPrestazioni].[DataPrestazione]+[TBLDettagliPrestazioni].[IdDettaglioPrestazioni]+[TBLPrestazioni].[IdCliente]+[TBLDettagliPrestazioni].[CodiceOperatore]+[TBLDettagliPrestazioni].[TipoPrestazione]+[TBLDettagliPrestazioni].[Descrizione]+[TBLDettagliPrestazioni].[Note]+[TBLClienti].[Cognome]+[TBLClienti].[Nome]) 
AS NOMECAMPOMEMO
FROM (TBLPrestazioni INNER JOIN TBLDettagliPrestazioni ON 
[TBLPrestazioni].[IdPrestazione]=[TBLDettagliPrestazioni].[IdPrestazione]) 
INNER JOIN TBLClienti ON 
[TBLPrestazioni].[IdCliente]=[TBLClienti].[IdCliente]
GROUP BY [TBLDettagliPrestazioni].[DataPrestazione], 
[TBLDettagliPrestazioni].[IdDettaglioPrestazioni], 
[TBLPrestazioni].[IdCliente], 
[TBLDettagliPrestazioni].[CodiceOperatore], 
[TBLDettagliPrestazioni].[TipoPrestazione], 
[TBLDettagliPrestazioni].[Descrizione], [TBLDettagliPrestazioni].[Note], 
[TBLClienti].[Cognome], [TBLClienti].[Nome]
HAVING (((TBLDettagliPrestazioni.TipoPrestazione)="Artisico") AND 
((TBLClienti.Cognome)=[Forms]![FRMServizi]![Cognome]) AND 
((TBLClienti.Nome)=[Forms]![FRMServizi]![Nome]))
ORDER BY [TBLDettagliPrestazioni].[DataPrestazione], 
[TBLDettagliPrestazioni].[IdDettaglioPrestazioni];
Quindi nella maschera, nel campo memo metto come origine dati
=[QFRMServizi]![NOMECAMPOMEMO]


 byEz
Nulla di fatto.
Mi viene fuori #Nome?


 Lucio
Mi viene un dubbio!!!
I primi 5 campi o i primi 5 records?
C'è una bella differenza!
