Newsgroup: it.comp.lang.visual-basic
Titolo: Shape .......ricerca nell'append

Ho una query che usa shape :-)
    strSql = "SHAPE {select * from Clienti WHERE Order by cli_nome} AS
ParentCMD " & _
             "APPEND ({select * from SubDataCli WHERE SubDataCli.pv_desc =
'" & txtSigla & "' Order by cli_localita } AS SubDataCli " & _
             "RELATE ID_cli TO ID_cli) AS SubDataCli"
La tabella clienti contiene solo ID e Nome cliente
La tabella SubDataCli cotiene ID IDCliente(della tabella clienti) e altri
campi quali PIva provincia ecc.
Finche devo fare una ricerca sul nome del cliente non ci sono problemi ma se
devo fare una ricerca (per esempio) sulla provincia (per estrarre tutti i
clienti che sono in quella provincia) non riesco a farlo.
Mi sapete dire dove sbaglio ?
Grazie, alcau

Nel post ho sbagliato a tagliare e incollare la stringa shape.
Volevo mettere questa:
    strSql = "SHAPE {select * from Clienti Order by cli_nome} AS ParentCMD "



Non ho capito qual è il problema: la relazione è per forza id_cli to id_cli;
se vuoi solo quelli di una determinata provincia devi fare il filtro nella
query iniziale (sarà immagino select * from cliente where provincia='NA'
..... )
Avendo una relazione 1 a 1 non capisco a cosa ti serva lo shape, però; se
vuoi una struttura del tipo:
 - record principale contiene nomi province; record di append contiene
elenco clienti di quella provincia: la vedo male (se nel principale gruppi
per provincia non avrai id_cli per append...)

 per provincia non avrai id_cli per append...)
Le due tabelle sono referenziate da ID_cli quindi in tutte e due le tab
(Clienti e SediClienti) ho il campo ID_cli.

> Ma la query iniziale non contiene la Provincia !!
E dov'è allora la provincia?

 E dov'è allora la provincia?
Io per query iniziale ho inteso la parte di sql:
strSql = "SHAPE {select * from Clienti Order by cli_nome} AS ParentCMD "
Appunto la tabella Clienti
Il campo provincia (e tutti gli altri) è nell' APPEND ovvero la tabella
SubDataCli(Sedi del cliente):
"APPEND ({select * from SubDataCli WHERE SubDataCli.pv_desc
= '" & txtSigla & "' Order by cli_localita }
Pensando che probabilmente non sia possibile fare ciò che voglio ho pensato
che potrei fare una query sulla tabella SubDataCli raggruppata per ID_cli.
In questo modo dovrei avere l'elenco, raggruppato, dei clienti di quella
provincia.
Però non so come posso creare la chiamata 'shape' con i dati del recordset !
Mi sono spiegato ??

devi usare la query sulla tabella che contiene la provincia group by
provincia (cosě hai le province), append metti la stessa tabella con i
clienti e relate provincia (cosě a naso la tabella clienti non ti serve a
nulla, puoi includerla nell'append per avere la ragione sociale)
IMHO č un uso "improprio" di shape: non hai alcun vantaggio perché i dati
sono ripetitivi (e quindi shape non serve a nulla), magari č piů comodo
scrivere i dati (ma basta una semplice query e controllare durante lo
scorrimento nel recordset quando cambia la provincia); shape si usa quando
hai una relazione 1 a molti...

>shape si usa quando hai una relazione 1 a molti...
Ma scusa se ho un cliente cha ha + sedi non è una relazione 1 a molti ?

> Ma scusa se ho un cliente cha ha + sedi non è una relazione 1 a molti
Può essere...ma cosa c'entra?
Io parlavo del tuo quesito: con la tua logica risparmi 2 caratteri (shape,
alla fin fine, serve a questo IMHO); tipica relazione: intestazione ordine
con righe: se non usi shape sei costretto a passare l'intestazione per ogni
riga...
IMHO per 1 provincia (e a fronte di un group by che, in caso di query
normale, non servirebbe) non ne vale la pena e non sono così certo che il
risultato sia più veloce e che generi meno traffico di rete (a fronte di 2
caratteri in meno ci sarà un qualcosa per indicare il recordset in più per
ogni recordset restituito...)

Grazie per le info ....... ho risolto :-)
Una cosa ancora ma che significato ha IMHO ?
Grazie ancora, alcau

 Una cosa ancora ma che significato ha IMHO ?
http://www.google.it/search?hl=it&ie=ISO-8859-1&q=imho+acronimo&lr=

> Una cosa ancora ma che significato ha IMHO ?
"secondo me"