0

In ACCESS for OFFICE 365

I've a table and I want to transform it in a pivot table, with a number of columns fixed (that must appear also if the value is null). As the columns are more than 200, if i write:

TRANSFORM Sum([2013-com-Nazioni-Def].N) AS SommaDiN
SELECT [2013-com-Nazioni-Def].[COMUNI 03_03_2014].[Codice Regione], [2013-com-Nazioni-Def].Regione, [2013-com-Nazioni-Def].[COMUNI 03_03_2014].[Codice Provincia], [2013-com-Nazioni-Def].Provincia, [2013-com-Nazioni-Def].[COMUNI 03_03_2014].comune_iscr, [2013-com-Nazioni-Def].[Solo denominazione in italiano]
FROM [2013-com-Nazioni-Def]
GROUP BY [2013-com-Nazioni-Def].[COMUNI 03_03_2014].[Codice Regione], [2013-com-Nazioni-Def].Regione, [2013-com-Nazioni-Def].[COMUNI 03_03_2014].[Codice Provincia], [2013-com-Nazioni-Def].Provincia, [2013-com-Nazioni-Def].[COMUNI 03_03_2014].comune_iscr, [2013-com-Nazioni-Def].[Solo denominazione in italiano]
PIVOT [2013-com-Nazioni-Def].[naz_na] in ("AFGHANISTAN","ALBANIA","ALGERIA","ANDORRA","ANGOLA","ANTIGUA E BARBUDA","ARABIA SAUDITA","ARGENTINA","ARMENIA","AUSTRALIA","AUSTRIA","AZERBAIGIAN","BAHAMA","BAHREIN","BANGLADESH","BARBADOS","BELGIO","BELIZE","BENIN","BIELORUSSIA=RUSSIA BIANCA","BIRMANIA","BOLIVIA","BOPHUTHATSWANA","BOSNIA ED ERZEGOVINA","BOTSWANA","BRASILE","BULGARIA","BURKINA","BURUNDI","CAMBOGIA","CAMERUN","CANADA","CAPO VERDE","CECA REPUBBLICA","CECOSLOVACCHIA","CENTRAFRICANA REPUBBLICA","CIAD","CILE","CINA REPUBBLICA POPOLARE","CIPRO","COLOMBIA","CONGO REPUBBLICA DEMOCRATICA","CONGO REPUBBLICA POPOLARE","COREA DEL NORD","COREA DEL SUD","COSTA D'AVORIO","COSTA RICA","CROAZIA","CUBA","DANIMARCA","DIPENDENZE STATUNITENSI","DOMINICA","DOMINICANA REPUBBLICA","ECUADOR","EGITTO","EL SALVADOR","EMIRATI ARABI UNITI","ERITREA","ESTONIA","ETIOPIA","FIGI=VITI","FILIPPINE","FINLANDIA","FRANCIA","GABON","GAMBIA","GEORGIA","GERMANIA","GERMANIA REPUBBLICA DEMOCRATICA","GHANA","GIAMAICA","GIAPPONE","GIBUTI","GIORDANIA","GRAN BRETAGNA E IRLANDA DEL NORD","GRECIA","GRENADA","GUATEMALA","GUINEA","GUINEA BISSAU","GUINEA EQUATORIALE","GUYANA","HAITI","HONDURAS","HONG KONG","INDIA","INDONESIA","IRAN","IRAQ","IRIAN OCCIDENTALE","IRLANDA=EIRE","ISLANDA","ISRAELE","ITALIA","IUGOSLAVIA","KAZAKISTAN","KENYA","KIRGHIZISTAN","KOSSOVO","KUWAIT","LA REUNION (ISOLA)","LAOS","LETTONIA","LIBANO","LIBERIA","LIBIA","LIECHTENSTEIN","LITUANIA","LUSSEMBURGO","MACAO","MACEDONIA","MADAGASCAR","MALAWI","MALAYSIA","MALDIVE","MALI","MALTA","MARIANNE (ISOLE)","MAROCCO","MAURITANIA","MAURIZIO","MESSICO","MOLDAVIA","MONACO","MONGOLIA","MONTENEGRO","MOZAMBICO","NAMIBIA","NEPAL","NICARAGUA","NIGER","NIGERIA","NORVEGIA","NUOVA CALEDONIA (ISOLE E DIPENDENZE)","NUOVA GUINEA","NUOVA ZELANDA","OMAN","PAESI BASSI","PAKISTAN","PANAMA'","PAPUA NUOVA GUINEA","PARAGUAY","PERU'","POLINESIA FRANCESE (ISOLE)","PORTOGALLO","PUERTO RICO","QATAR","REPUBBLICA DELLA CINA NAZIONALE=TAIWAN","REPUBBLICA DI POLONIA","ROMANIA","RUANDA","RUSSIA=FEDERAZIONE RUSSA","RYUKYU (ISOLE)","SAMOA","SAINT LUCIA","SAN MARINO","SEICELLE","SENEGAL","SERBIA","SERBIA E MONTENEGRO","SIERRA LEONE","SINGAPORE","SIRIA","SLOVACCHIA","SLOVENIA","SOMALIA","SPAGNA","SRI LANKA","STATI UNITI D'AMERICA","SUDAFRICANA REPUBBLICA","SUDAN","SVEZIA","SVIZZERA","SWAZILAND","TAGIKISTAN","TANGANICA","TANZANIA","TERRITORI PALESTINESI","THAILANDIA","TOGO","TRINIDAD E TOBAGO","TUNISIA","TURCHIA","TURKEMENISTAN","TURKS E CAICOS (ISOLE)","UCRAINA","UGANDA","UNGHERIA","UNIONE REPUBBLICHE SOCIALISTE SOVIETICHE","URUGUAY","UZBEKISTAN","VENEZUELA","VIETNAM","VIETNAM DEL SUD","YEMEN","ZAMBIA","ZIMBABWE");

If I want to edit the SQL structure in query edit of Access, I receive the following error message:

The expression exceeds the 1024-character limit for the query design grid

So I've created a table called TAB1 with one line:

ID    |    Campo1
---------------------
01    |    "AFGHANISTAN","ALBANIA",  ..... ,"ZAMBIA","ZIMBABWE"

The ID is a String of two charaters.

And I've tried to substitute in SQL:

PIVOT [2013-com-Nazioni-Def].[naz_na] in 

(DLookup("[Campo1]","tab1","[ID]='01'"));

When I try to execute this I receive the following error message:

),],| missed in the expression of the query 
 [2013-com-Nazioni-Def].[naz_na] in (DLookup("[Campo1]","tab1","[ID]='01'"));
  • Could you format a little bit your question? Thank you. – Pingolin Jun 04 '19 at 07:55
  • Excuse me, but this is the first time that i use this group. I've a command that not work in SQL: PIVOT [2013-com-Nazioni-Def].[naz_na] in (DLookup("Campo1]","tab1","[ID]='01'")); and the error is ),],| missed in the expression of the query [2013-com-Nazioni-Def].[naz_na] in (DLookup("[Campo1]","tab1","[ID]='01'")); – Domenico Casella Jun 04 '19 at 08:23
  • Values for IN() function cannot be dynamic in query object. Must be a static CSV string. Would have to use VBA to modify query object. Of what practical use is an output with more than 200 columns? – June7 Jun 04 '19 at 19:24
  • Instead of IN(), join dataset to a master table of all countries using LEFT or RIGHT join, then pivot. – June7 Jun 04 '19 at 19:32

0 Answers0