Newsgroup: it.comp.lang.visual-basic
Titolo: Errore in Shape

perchè se faccio un
rstAziende.Open "SHAPE {select * from Aziende WHERE Azienda <> Null ORDER BY
Azienda} AS ParentCMD APPEND ({select Marca,Modello,Antenne,Poste,IDAzienda
from SalaMungit } AS ChildCMD RELATE IDAzienda TO IDAzienda) AS ChildCMD",
DbCon, adOpenStatic, adLockOptimistic
mi funziona mentre se costruisco l'sql che mi da
strSql= "SHAPE {select * from Aziende WHERE Azienda <> Null AND Categoria =
'AGENTE' ORDER BY Azienda AS ParentCMD APPEND ({select
Marca,Modello,Antenne,Poste,IDAzienda from SalaMungit } AS ChildCMD RELATE
IDAzienda TO IDAzienda) AS ChildCMD"
rstGenerico.Open strSql, DbCon, adOpenStatic, adLockOptimistic
mi da questo errore:
-
2147217900
 Impossibile trovare il delimitatore di chiusura per il
delimitatore nella posizione 7.
Non è possibile aprire recordset 'SHAPE' assegnando l'sql a una stringa ?
Grazie, Alberto

 delimitatore nella posizione 7.
mi sembra chiaro... non hai chiuso la parentesi graffa aperta dopo SHAPE
--
Faber

 Non è possibile aprire recordset 'SHAPE' assegnando l'sql a una stringa ?
Scusa ma perche' usi SHAPE?
e soprattutto a cosa serve?
Io ho preferito rimuoverlo da un programma che stavo risistemando...
Nelle query intendo
--
RedFoxy
A fox around web

> Scusa ma perche' usi SHAPE?
Perchè ho un cliente che può avere + cose.
Non l'avevo mai usato, ma questo è quello che ho trovato.
Che alternativa/e ho ?

Yesssss :-]

 Che alternativa/e ho ?
Hemmm sql standard?


> per piu' cose che intendi??? Piu' utenti???
No intendo che un cliente potrebbe avere 1 o + impianti ,indirizzi, pere,
mele o banane
:-]

 mele o banane
E il problema dove sta'?


 E il problema dove sta'?
nel fruttivendolo... non è tanto simpatico  :P
--
Faber

Con shape è come se avessi due recordset.
alle text assegno rstAziende mentre alla grid assegno rstAziende(ChildCMD)

 alle text assegno rstAziende mentre alla grid assegno rstAziende(ChildCMD)
a...
e come si usa? con un DSN normale tipo diretto su access o sql non
funziona...
Mi puoi fare degli esempi di utilizzo e poi perche' avere una query che ti
riempe 2 rset?


    Set rstAziende = New Recordset
    rstAziende.Open "SHAPE {select * from Aziende WHERE Azienda <> Null
ORDER BY Azienda} AS ParentCMD APPEND ({select
Marca,Modello,Antenne,Poste,IDAzienda from SalaMungit } AS ChildCMD RELATE
IDAzienda TO IDAzienda) AS ChildCMD", DbCon, adOpenStatic, adLockOptimistic
    Set DataGridAll.DataSource = rstAziende
    Set DataGridSala.DataSource = rstAziende("ChildCMD").UnderlyingValue

 wrote in message
news:S92g8.53981$fa5.1...@twister2.libero.it...

Ok, ma perche' fare cosi'????

> Ok, ma perche' fare cosi'????
E' uno dei vari modi per fare una cosa :-)
Tu come faresti ?

 Tu come faresti ?
Se non ho capito male quello che fai con quello shape, praticamete un unione
di query e lo stesso RS utilizzato sulle 2 cose (grid e altro)
Non so' se poi lo shape fa altro che io non so'... ripeto non lo conosco e
non so' a cosa possa servire o quanto possa essere utile... ma probabilmente
avara' la sua utilita' :P
Anche se provo a mettere quella query nel query analizer... mi ritorna
errore e dice che non conosce shape


 avara' la sua utilita' :P
Scusate se intervengo, pur avendo perso gran parte del thread ( per due gg
non
sono riuscito ad avere accesso al NG ).
Volevo solo dire un paio di cose :
1) l'utililità dello shaping è identificabile con la possibilità di creare
recordsets
gerarchici non gestibili tramite una normale query di Join, inoltre consente
migliore gestione della memoria e quindi dei tempi di risposta delle query,
in
quanto i recordsets 'figli' vengono caricati i memoria solo al momento dello
spostamento del cursore sui vari records del recordset 'padre'.
2) per la visualizzazione di recordsets gerarchici, non è consigliabile
usare
una DataGrid, in quanto esiste la MSHFlexGrid ( Hierarchical FlexGrid )
concepita apposta per visualizzare questo tipo di rs.
Ribadisco che, non avendo traccia dell'inizio del thread, non so quale sia
esattamente il problema, magari se avete tempo e voglia, fatemi sapere :-))
Ciao
 Valter

Perfetto.
Volevo chiederti una cosa, dal momento che conosci bene l'argomento ed hai
capito subito da dove poteva essere partito il thread.
Io uso il metodo shape, capito da un'autocomposizione di una form dati.
Adesso, appunto volevo chiederti se e come fosse possibile avere + child.
Per esempio ho un cliente che ha un'impianto il quale  ha + dettagli
A questo punto con una shape di questo le textbox visualizzano il cliente e
la datagrid visualizza gli impianti, quindi quando mi sposto su un cliente
diverso vedo i vari impianti che ha.
rstClienti.Open "SHAPE {select * from CLIENTI ORDER BY cli_nome} AS
ParentCMD APPEND ({select * from [CLI-IMP] } AS ChildCMD RELATE [ID-cli] TO
[ID-cli]) AS ChildCMD", DbCon, adOpenStatic, adLockOptimistic
Set DGImp.DataSource = rstClienti("ChildCMD").UnderlyingValue
Io vorrei aggiungere un child per i dettagli dell'impianto al momento
selezionato ma non so se è possibile e come aggiungerlo.
Grazie, Alberto