Results 1 to 3 of 3
  1. #1
    Join Date
    Mar 2009
    Posts
    2

    Unanswered: Need help running a query from SQL 2005 in Access 2007

    As the title states I have a query that was written in SQL 2005 Management Studio that I need to run inside of an Access 2002-2003 compatible database.

    Now I've already linked all my tables to my external SQL server and made alot of modifications already myself, but I can't seem to figure out why I'm receiving this error. Whenever I go to run or save this query I am getting a Syntax error in JOIN operation. I will post the statement here

    Code:
    SELECT     j.Job_Code, cu.Customer_Number, st.Business_Name AS Site_Name, j.Sold_Date, jc_1.Salesperson_Id, sp.Employee_Code AS Salesperson_Code, 
                          sp.First_Name + ' ' + sp.Last_Name AS salesperson_Name, js.Job_Status_Code, jc_1.Commission_Amount, jc_1.Commission_RMR, 
                          jc_1.Commission_Paid, j.Install_Amount + j.Part_Amount + IIF(ISNULL
                              ((SELECT     SUM(Install_Amount + Part_Amount) AS Expr1
                                  FROM         dbo_OE_Job AS co
                                  WHERE     (Master_Job_Id = j.Job_Id)),), 0,
                              (SELECT     SUM(Install_Amount + Part_Amount) AS Expr1
                                FROM          dbo_OE_Job AS co
                                WHERE      (Master_Job_Id = j.Job_Id))) AS Expr1, j.RMR_Amount + IIF(ISNULL
                              ((SELECT     SUM(RMR_Amount) AS Expr1
                                  FROM         dbo_OE_Job AS co
                                  WHERE     (Master_Job_Id = j.Job_Id)),), 0,
                              (SELECT     SUM(RMR_Amount) AS Expr1
                                FROM          dbo_OE_Job AS co
                                WHERE      (Master_Job_Id = j.Job_Id))) AS Expr2, dbo_OE_Job_UserDef.Date1, dbo_OE_Job_Notes.Notes
    FROM         (SELECT     jc.Salesperson_Id, CASE j.Master_Job_Id WHEN 1 THEN j.Job_Id ELSE j.Master_Job_Id END AS Job_Id, 
                                                  ISNULL(SUM(CASE ct.Type_RNO WHEN 'R' THEN 0 ELSE jc.Commission_Amount END), 0) AS Commission_Amount, 
                                                  ISNULL(SUM(CASE ct.Type_RNO WHEN 'R' THEN jc.Commission_Amount ELSE 0 END), 0) AS Commission_RMR, ISNULL
                                                      ((SELECT     SUM(reg.Amount) AS Expr1
                                                          FROM         dbo_GL_Register AS reg INNER JOIN
                                                                                dbo_OE_Setup AS su ON su.Commission_Deferred_Id = reg.Account_Id
                                                          WHERE     (reg.Date <= '2008-06-30') AND (reg.Credit_Or_Debit = 'D') AND 
                                                                                (reg.Job_Id = (CASE j.Master_Job_Id WHEN 1 THEN j.Job_Id ELSE j.Master_Job_Id END)) AND 
                                                                                (reg.Employee_Id = jc.Salesperson_Id)), 0) AS Commission_Paid
                           FROM          dbo_OE_Job_Commission AS jc INNER JOIN
                                                  dbo_OE_Job AS j ON jc.Job_Id = j.Job_Id AND jc.Posting_Date <= '2008-06-30' INNER JOIN
                                                  dbo_OE_Commission_Type AS ct ON jc.Commission_Type_Id = ct.Commission_Type_Id
                           GROUP BY jc.Salesperson_Id, CASE j.Master_Job_Id WHEN 1 THEN j.Job_Id ELSE j.Master_Job_Id END) AS jc_1 INNER JOIN
                          (((((((dbo_OE_Job AS j ON jc_1.Job_Id = j.Job_Id) INNER JOIN
                          dbo_AR_Customer AS cu ON j.Customer_Id = cu.Customer_Id) INNER JOIN
                          dbo_AR_Customer_Site AS st ON j.Customer_Site_Id = st.Customer_Site_Id) INNER JOIN
                          dbo_SY_Employee AS sp ON jc_1.Salesperson_Id = sp.Employee_Id) INNER JOIN
                          dbo_OE_Job_Status AS js ON j.Job_Status_Id = js.Job_Status_Id) INNER JOIN
                          dbo_OE_Job_UserDef ON j.Job_Id = dbo_OE_Job_UserDef.Job_Id) LEFT OUTER JOIN
                          dbo_OE_Job_Notes ON j.Job_Id = dbo_OE_Job_Notes.Job_Id)
    WHERE     (j.Sold_Date <= '2008-06-30') AND (j.Change_Order <> 'Y') AND (j.Job_Id <> 1) AND (dbo_OE_Job_Notes.Note_Type_Id = 5)
    After I say OK to the error message it highlights the first "ON" in this block

    Code:
     INNER JOIN
                          (((((((dbo_OE_Job AS j ON jc_1.Job_Id = j.Job_Id INNER JOIN
                          dbo_AR_Customer AS cu ON j.Customer_Id = cu.Customer_Id) INNER JOIN
                          dbo_AR_Customer_Site AS st ON j.Customer_Site_Id = st.Customer_Site_Id) INNER JOIN
                          dbo_SY_Employee AS sp ON jc_1.Salesperson_Id = sp.Employee_Id) INNER JOIN
                          dbo_OE_Job_Status AS js ON j.Job_Status_Id = js.Job_Status_Id) INNER JOIN
                          dbo_OE_Job_UserDef ON j.Job_Id = dbo_OE_Job_UserDef.Job_Id) LEFT OUTER JOIN
                          dbo_OE_Job_Notes ON j.Job_Id = dbo_OE_Job_Notes.Job_Id
    Any help is appreciated. Thank You!

  2. #2
    Join Date
    Dec 2002
    Location
    Préverenges, Switzerland
    Posts
    3,740
    i think you have a parentheses imbalance before there - see if you can follow this mad notation:
    Code:
    SELECT     j.Job_Code, cu.Customer_Number, st.Business_Name AS Site_Name, j.Sold_Date, jc_1.Salesperson_Id, sp.Employee_Code AS Salesperson_Code, 
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    
                          sp.First_Name + ' ' + sp.Last_Name AS salesperson_Name, js.Job_Status_Code, jc_1.Commission_Amount, jc_1.Commission_RMR, 
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    
                          jc_1.Commission_Paid, j.Install_Amount + j.Part_Amount + IIF(ISNULL
    00000000000000000000000000000000000000000000000000000000000000000000000000000000001111111
    
                              ((SELECT     SUM(Install_Amount + Part_Amount) AS Expr1
    111111111111111111111111112333333333333333444444444444444444444444444443333333333
    
                                  FROM         dbo_OE_Job AS co
    33333333333333333333333333333333333333333333333333333333333
    
                                  WHERE     (Master_Job_Id = j.Job_Id)),), 0,
    3333333333333333333333333333333333333333444444444444444444444444432211111
    
                              (SELECT     SUM(Install_Amount + Part_Amount) AS Expr1
    11111111111111111111111111222222222222222333333333333333333333333333332222222222
    
                                FROM          dbo_OE_Job AS co
    2222222222222222222222222222222222222222222222222222222222
    
                                WHERE      (Master_Job_Id = j.Job_Id))) AS Expr1, j.RMR_Amount + IIF(ISNULL
    2222222222222222222222222222222222222223333333333333333333333333210000000000000000000000000000001111111
    
                              ((SELECT     SUM(RMR_Amount) AS Expr1
    111111111111111111111111112333333333333333444444444443333333333
    
                                  FROM         dbo_OE_Job AS co
    33333333333333333333333333333333333333333333333333333333333
    
                                  WHERE     (Master_Job_Id = j.Job_Id)),), 0,
    3333333333333333333333333333333333333333444444444444444444444444432311111
    
                              (SELECT     SUM(RMR_Amount) AS Expr1
    11111111111111111111111111222222222222222333333333332222222222
    
                                FROM          dbo_OE_Job AS co
    2222222222222222222222222222222222222222222222222222222222
    
                                WHERE      (Master_Job_Id = j.Job_Id))) AS Expr2, dbo_OE_Job_UserDef.Date1, dbo_OE_Job_Notes.Notes
    222222222222222222222222222222222222222333333333333333333333333321000000000000000000000000000000000000000000000000000000000000
    
    FROM         (SELECT     jc.Salesperson_Id, CASE j.Master_Job_Id WHEN 1 THEN j.Job_Id ELSE j.Master_Job_Id END AS Job_Id, 
    0000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
    
                                                  ISNULL(SUM(CASE ct.Type_RNO WHEN 'R' THEN 0 ELSE jc.Commission_Amount END), 0) AS Commission_Amount, 
    11111111111111111111111111111111111111111111111111112222333333333333333333333333333333333333333333333333333333333333333222211111111111111111111111
    
                                                  ISNULL(SUM(CASE ct.Type_RNO WHEN 'R' THEN jc.Commission_Amount ELSE 0 END), 0) AS Commission_RMR, 
    11111111111111111111111111111111111111111111111111112222333333333333333333333333333333333333333333333333333333333333333222211111111111111111111
    
    ISNULL
    111111
    
                                                      ((SELECT     SUM(reg.Amount) AS Expr1
    111111111111111111111111111111111111111111111111112333333333333333444444444443333333333
    
                                                          FROM         dbo_GL_Register AS reg INNER JOIN
    3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
    
                                                                                dbo_OE_Setup AS su ON su.Commission_Deferred_Id = reg.Account_Id
    33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
    
                                                          WHERE     (reg.Date <= '2008-06-30') AND (reg.Credit_Or_Debit = 'D') AND 
    333333333333333333333333333333333333333333333333333333333333333344444444444444444444444443333334444444444444444444444444433333
    
                                                                                (reg.Job_Id = (CASE j.Master_Job_Id WHEN 1 THEN j.Job_Id ELSE j.Master_Job_Id END)) AND 
    3333333333333333333333333333333333333333333333333333333333333333333333333333444444444444445555555555555555555555555555555555555555555555555555555555555555555433333
    
                                                                                (reg.Employee_Id = jc.Salesperson_Id)), 0) AS Commission_Paid
    33333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444443222211111111111111111111
    i guess that 1 should be 0!

    the parentheses balance after that, so the earlier imbalance (if what i think i see is correct) is throwing A's parser

    izy
    Last edited by izyrider; 03-20-09 at 15:42.
    currently using SS 2008R2

  3. #3
    Join Date
    Mar 2009
    Posts
    2
    Thanks for the response!

    Unfortunately when I try to balance the parens before the last FROM clause it throws me an error stating "Syntax error in FROM clause" and highlights the word FROM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •