I have an access 97 database that I am trying to upgrade to access 2000.
In the access 97 there is complex, at least to me, to creating a table using various queries and unions of those queries. It works fine in 97 but when I upgraded the db to 2000 and run make table command I get and error message of query to complex.
Since it worked in 97 I was wondering what are some reasons why it wouldn't work in 2000?
I have supplied the query statements. When running the union statement I get a result set but when I try and run the crosstab queries I get the query to complex message.
Here is the make table statement:
SELECT s.LOCID, s.LOGDATE, s.QueryGrouping, s.Calcium, s2.Calcium AS CAQual, s.Iron, s2.Iron AS FEQual, s.Magnesium, s2.Magnesium AS MgQual, s.Manganese, s2.Manganese AS MnQual, s.Potassium, s2.Potassium AS KQual, s.Silicon, s2.Silicon AS SiQual, s.Sodium, s2.Sodium AS NaQual, s.[Bicarbonate Alkalinity as CACO3], s2.[Bicarbonate Alkalinity as CACO3] AS BicarbonateQual, s.[Carbonate Alkalinity as CACO3], s2.[Carbonate Alkalinity as CACO3] AS CarbonateQual, s.Chloride, s2.Chloride AS ClQual, s.[Nitrogen, Nitrate (as N)], s2.[Nitrogen, Nitrate (as N)] AS NO3Qual, s.Sulfate, s2.Sulfate AS SO4Qual INTO tblSW_Indicator_Parameters_XTab
FROM SW_Indicator_Parameters_ Crosstab AS s INNER JOIN SW_Indicator_Parameters_ Crosstab2 AS s2 ON (s.LOCID=s2.LOCID) AND (s.LOGDATE=s2.LOGDATE) AND (s.QueryGrouping=s2.QueryGrouping)
ORDER BY s.LOGDATE, s.QueryGrouping;
Here is the crosstab statement:
TRANSFORM Max(SW_Indicator_Parameters_Union.CONCENTRATION) AS [The Value]
SELECT SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
FROM SW_Indicator_Parameters_Union
WHERE (((SW_Indicator_Parameters_Union.LOGDATE)>#4/1/2003#))
GROUP BY SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
PIVOT SW_Indicator_Parameters_Union.PARNAME;
Here is the second crosstab statement:
TRANSFORM First(SW_Indicator_Parameters_Union.Qualifier) AS [The Value]
SELECT SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
FROM SW_Indicator_Parameters_Union
GROUP BY SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
PIVOT SW_Indicator_Parameters_Union.PARNAME;
here is the union statement:
SELECT * FROM SW_Indicator_Parameters
UNION
SELECT * FROM SW_Indicator_Parameters2
UNION
SELECT * FROM SW_Indicator_Parameters3
UNION
SELECT * FROM SW_Indicator_Parameters4
UNION
SELECT * FROM SW_Indicator_Parameters6
UNION
SELECT * FROM SW_Indicator_Parameters7
UNION SELECT * FROM SW_Indicator_Parameters8;
Thanks for your help in advance,
Alex
In the access 97 there is complex, at least to me, to creating a table using various queries and unions of those queries. It works fine in 97 but when I upgraded the db to 2000 and run make table command I get and error message of query to complex.
Since it worked in 97 I was wondering what are some reasons why it wouldn't work in 2000?
I have supplied the query statements. When running the union statement I get a result set but when I try and run the crosstab queries I get the query to complex message.
Here is the make table statement:
SELECT s.LOCID, s.LOGDATE, s.QueryGrouping, s.Calcium, s2.Calcium AS CAQual, s.Iron, s2.Iron AS FEQual, s.Magnesium, s2.Magnesium AS MgQual, s.Manganese, s2.Manganese AS MnQual, s.Potassium, s2.Potassium AS KQual, s.Silicon, s2.Silicon AS SiQual, s.Sodium, s2.Sodium AS NaQual, s.[Bicarbonate Alkalinity as CACO3], s2.[Bicarbonate Alkalinity as CACO3] AS BicarbonateQual, s.[Carbonate Alkalinity as CACO3], s2.[Carbonate Alkalinity as CACO3] AS CarbonateQual, s.Chloride, s2.Chloride AS ClQual, s.[Nitrogen, Nitrate (as N)], s2.[Nitrogen, Nitrate (as N)] AS NO3Qual, s.Sulfate, s2.Sulfate AS SO4Qual INTO tblSW_Indicator_Parameters_XTab
FROM SW_Indicator_Parameters_ Crosstab AS s INNER JOIN SW_Indicator_Parameters_ Crosstab2 AS s2 ON (s.LOCID=s2.LOCID) AND (s.LOGDATE=s2.LOGDATE) AND (s.QueryGrouping=s2.QueryGrouping)
ORDER BY s.LOGDATE, s.QueryGrouping;
Here is the crosstab statement:
TRANSFORM Max(SW_Indicator_Parameters_Union.CONCENTRATION) AS [The Value]
SELECT SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
FROM SW_Indicator_Parameters_Union
WHERE (((SW_Indicator_Parameters_Union.LOGDATE)>#4/1/2003#))
GROUP BY SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
PIVOT SW_Indicator_Parameters_Union.PARNAME;
Here is the second crosstab statement:
TRANSFORM First(SW_Indicator_Parameters_Union.Qualifier) AS [The Value]
SELECT SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
FROM SW_Indicator_Parameters_Union
GROUP BY SW_Indicator_Parameters_Union.LOCID, SW_Indicator_Parameters_Union.LOGDATE, SW_Indicator_Parameters_Union.QueryGrouping
PIVOT SW_Indicator_Parameters_Union.PARNAME;
here is the union statement:
SELECT * FROM SW_Indicator_Parameters
UNION
SELECT * FROM SW_Indicator_Parameters2
UNION
SELECT * FROM SW_Indicator_Parameters3
UNION
SELECT * FROM SW_Indicator_Parameters4
UNION
SELECT * FROM SW_Indicator_Parameters6
UNION
SELECT * FROM SW_Indicator_Parameters7
UNION SELECT * FROM SW_Indicator_Parameters8;
Thanks for your help in advance,
Alex