It is currently 21 April 2025, 9:17 Advanced search

Errore filtri in UNION

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Errore filtri in UNION

Postby f.iadipaolo » 4 April 2025, 16:00

Ho un elenco contatti che possono essere fornitori (F), clienti (C) o altro(B) presenti su due tabelle.
Ho fatto la classe documentale con la union mettendo insieme le due tabelle interessate con l'intenzione di filtrare il pannello in base all'anagrafica interessata.
Il problema sono i filtri. Senza non ho nessun problema.

Inserendoli, nel momento in cui vado ad utilizzare la classe sulla schermata, mi restituisce l'errore "The multi-part identifier "A.NOMECAMPO" could not be bound" per ogni filtro.

Ho notato che se sull'IDE vado sulla query della classe e chiedo di visualizzare i dati, mi crea la seguente query:

select
A.ANTIPCON as ANTIZCONTRE1,
A.ANCODICE as ANCOZCONTRE1,
LTRIM(
RTRIM(A.ANDESCRI)
) as ANDEZCONTRE1,
LTRIM(
RTRIM(A.ANDESCR2)
) as ANDEZCONTRE2
from
DEMOCONTI A
where
(
(A.ANDTOBSO IS NULL)
OR A.ANDTOBSO < convert(
datetime,
round(
convert(
float,
getdate()
),
0,
1
)
)
)
and (A.ANTIPCON <> 'G')
UNION ALL
select
'B',
B.CLCODCLI,
LTRIM(
RTRIM(B.CLDESCRI)
),
''
from
DEMOCLI_VEND B
where
(
(B.CLDTOBSO IS NULL)
OR B.CLDTOBSO < convert(
datetime,
round(
convert(
float,
getdate()
),
0,
1
)
)
)

La query ha i filtri impostati divisi per query a cui si applicano, mentre a runtime viene generata la seguente query che va in errore:

select
A.ANTIPCON as ANTIZCONTRE1,
A.ANCODICE as ANCOZCONTRE1,
LTRIM(
RTRIM(A.ANDESCRI)
) as ANDEZCONTRE1,
LTRIM(
RTRIM(A.ANDESCR2)
) as ANDEZCONTRE2
from
DEMOCONTI A
UNION ALL
select
'B',
B.CLCODCLI,
LTRIM(
RTRIM(B.CLDESCRI)
),
''
from
DEMOCLI_VEND B
where
(
(A.ANDTOBSO IS NULL)
OR A.ANDTOBSO < convert(
datetime,
round(
convert(
float,
getdate()
),
0,
1
)
)
)
and (A.ANTIPCON <> 'G')
Attachments
union.png
union.png (23.93 KiB) Viewed 346 times
f.iadipaolo
 
Posts: 222
Joined: 4 July 2016, 11:38

Re: Errore filtri in UNION

Postby eurekapv » 4 April 2025, 17:10

Non ho mai creato un Classe impostando una query con union perchè ho paura faccia confusione....
Pero' ti chiedo non puoi creare una Vista sul Database e poi creare la classe dalla Vista (facilita molte cose)
Alchimisti Lab by Cavallini Pietro
https://www.alchimistilab.it

Image
User avatar
eurekapv
 
Posts: 2450
Joined: 2 November 2010, 22:16
Location: Vigevano

Re: Errore filtri in UNION

Postby f.iadipaolo » 5 April 2025, 7:34

Beh, il comportamento ce sto avendo lo classificherei tranquillamente come "casino".
Purtroppo il DB da cui leggo i dati non e l'ho in gestione. E' un DB esterno.
f.iadipaolo
 
Posts: 222
Joined: 4 July 2016, 11:38

Re: Errore filtri in UNION

Postby d.pierangeli » 7 April 2025, 8:20

No, le classi DO non gestiscono le Union, anche perchè poi non saprebbe su quale tabella andare a scrivere le modifiche.

Se devi fare qualcosa del genere io userei una tabella IMDB (la popoli leggendo tu e poi fai una procedura di salvataggio che va a modificare/aggiornare le righe su DB).
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8092
Joined: 30 September 2010, 15:35

Re: Errore filtri in UNION

Postby d.termini » 7 April 2025, 8:38

Oppure una select into collection, sempre su classi di comodo non collegate a DB, ma almeno hai a disposizione la DO
d.termini
 
Posts: 1638
Joined: 13 November 2017, 8:41

Re: Errore filtri in UNION

Postby d.pierangeli » 7 April 2025, 16:29

Hai ragione, si può fare anche così.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8092
Joined: 30 September 2010, 15:35


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 47 guests