User CPFAQMembers ListCalendarToday's PostsSearch





Prova Gratis 30gg l'hosting fooweb
Reply
 
LinkBack Thread Tools Display Modes
 
Old 10-03-10, 03:34 PM
Tex_Willer
 
Posts: n/a
Default Query a campi incrociati

Buongirno.

In una tabella ho un campo CODICE di otto caratteri alfanumerico quindi
testo ed un secondo campo DENOMINAZIONE anche questo testo. Ad ogni codice
corrisponde una diversa denominazione. In alcuni casi il codice può essere
ripetuto più volte in vari record con valori diversi nel campo DENOMINAZIONE
esempio:
CODICE DENOMINAZIONE
1A BIANCHI
1B ROSSI
1C VERDI
1A FERRARI
1A BONI
1C VILLA

Vorrei creare una query che nel caso di record con codice uguale mi crei uno
o più campi con le varie denominazioni relative a quel codice.Una specie di
pivot.
esempio
CODICE DENOMINAZIONE NUOVO_CAMPO1 NUOVO_CAMPO2
1A BIANCHI FERRARI
BONI
1B ROSSI
1C VERDI VILLA

in pratica raggruppamento dei valori nel campo CODICE e trasposizione in un
nuovo campo dei valori DENOMINAZIONE relativi ad uno stesso codice

in linea di massima i nuovi campi dovrebbero essere 3 o 4.

Ringrazio find'ora chi mi darà suggerimenti utili


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
 
Old 12-03-10, 09:45 AM
Karl Donaubauer
 
Posts: n/a
Default Re: Query a campi incrociati

Tex_Willer wrote:
> In una tabella ho un campo CODICE di otto caratteri alfanumerico
> quindi testo ed un secondo campo DENOMINAZIONE anche questo testo.
> Ad ogni codice corrisponde una diversa denominazione. In alcuni
> casi il codice può essere ripetuto più volte in vari record con
> valori diversi nel campo DENOMINAZIONE esempio:
> CODICE DENOMINAZIONE
> 1A BIANCHI
> 1B ROSSI
> 1C VERDI
> 1A FERRARI
> 1A BONI
> 1C VILLA
>
> Vorrei creare una query che nel caso di record con codice uguale mi
> crei uno o più campi con le varie denominazioni relative a quel
> codice.Una specie di pivot.
> esempio
> CODICE DENOMINAZIONE NUOVO_CAMPO1 NUOVO_CAMPO2
> 1A BIANCHI FERRARI
> BONI
> 1B ROSSI
> 1C VERDI VILLA
>
> in pratica raggruppamento dei valori nel campo CODICE e
> trasposizione in un nuovo campo dei valori DENOMINAZIONE relativi
> ad uno stesso codice
> in linea di massima i nuovi campi dovrebbero essere 3 o 4.


Suppongo che nella tabella esista anche un contatore.
Se non c'è per la soluzione descritta devi aggiungere
uno che qui chiamo "Id".

Creati una query (qui la chiamo "Query1") dove includi i campi:

- Codice
- Denominazione
- Num: DCount("*";"Tabella";"id<" & [id] & " And Codice='" & [Codice] & "'")
- Col: iif([Num]=0;"Denominazione";"Nuovo_Campo" & [Num])

Poi crea una query a campi incrociati sulla base della Query1
con questa stringa SQL:

TRANSFORM First(Query1.Denominazione)
SELECT Query1.Codice
FROM Query1
GROUP BY Query1.Codice
PIVOT Query1.Col;

--
HTH
Karl
*********
Access FAQ: [url]www.donkarl.com/it[/url]

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Try the foonews Toolbar!!!
 
Old 12-03-10, 05:52 PM
Tex_Willer
 
Posts: n/a
Default Re: Query a campi incrociati


"Karl Donaubauer" < > ha scritto nel messaggio
news: ...
> Tex_Willer wrote:
>> In una tabella ho un campo CODICE di otto caratteri alfanumerico
>> quindi testo ed un secondo campo DENOMINAZIONE anche questo testo.
>> Ad ogni codice corrisponde una diversa denominazione. In alcuni
>> casi il codice può essere ripetuto più volte in vari record con
>> valori diversi nel campo DENOMINAZIONE esempio:
>> CODICE DENOMINAZIONE
>> 1A BIANCHI
>> 1B ROSSI
>> 1C VERDI
>> 1A FERRARI
>> 1A BONI
>> 1C VILLA
>>
>> Vorrei creare una query che nel caso di record con codice uguale mi
>> crei uno o più campi con le varie denominazioni relative a quel
>> codice.Una specie di pivot.
>> esempio
>> CODICE DENOMINAZIONE NUOVO_CAMPO1 NUOVO_CAMPO2
>> 1A BIANCHI FERRARI
>> BONI
>> 1B ROSSI
>> 1C VERDI VILLA
>>
>> in pratica raggruppamento dei valori nel campo CODICE e
>> trasposizione in un nuovo campo dei valori DENOMINAZIONE relativi
>> ad uno stesso codice
>> in linea di massima i nuovi campi dovrebbero essere 3 o 4.

>
> Suppongo che nella tabella esista anche un contatore.
> Se non c'è per la soluzione descritta devi aggiungere
> uno che qui chiamo "Id".
>
> Creati una query (qui la chiamo "Query1") dove includi i campi:
>
> - Codice
> - Denominazione
> - Num: DCount("*";"Tabella";"id<" & [id] & " And Codice='" & [Codice] &
> "'")
> - Col: iif([Num]=0;"Denominazione";"Nuovo_Campo" & [Num])
>
> Poi crea una query a campi incrociati sulla base della Query1
> con questa stringa SQL:
>
> TRANSFORM First(Query1.Denominazione)
> SELECT Query1.Codice
> FROM Query1
> GROUP BY Query1.Codice
> PIVOT Query1.Col;
>
> --
> HTH
> Karl
> *********
> Access FAQ: [url]www.donkarl.com/it[/url]

Complimenti funziona !!!
Grazie



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



 RSS Feeds - Archive - Top




All times are GMT +1. The time now is 10:00 PM. Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0 Forum style by ForumMonkeys.com.