2016-06-20 1 views
0

Je reçois une erreur lors du collage d'une requête SQL brute dans la vue SQL d'Access. Je sais que la syntaxe d'Access est un peu spéciale mais je n'arrive pas à comprendre ce qu'elle demande. L'erreur indique: Syntax error (missing operator) in query expression '(jobmatl.suffix = job.suffix) AND (job.job = jobmatl.job) INNER ...................... AS ibl ON jobmatl.item = ibl.item AND job.whse = ibl.whse. L'erreur mentionne tout entre ce que j'ai écrit.MS Access: erreur SQL View

SELECT 

    job.job, 
    job.suffix, 
    job.job_date, 
    job.item AS FG, 
    jobmatl.item, 
    job.whse, 
    ibl.sumofqtyonhand, 
    ibl.whse 

FROM 

    job 
    INNER JOIN jobmatl ON (jobmatl.suffix = job.suffix) AND (job.job = jobmatl.job) 
    INNER JOIN (

     (SELECT 

      i.item, 
      SUM(i.qty_on_hand) AS sumofqtyonhand, 
      i.whse 

     FROM 

      Item_by_Location_LP_ALL AS i 

     WHERE 

      i.hold_flag != 1 

     GROUP BY 

      i.item, 
      i.whse 

     )) AS ibl ON jobmatl.item = ibl.item AND job.whse = ibl.whse 

WHERE 

    (((job.job_date)=Date()-(DatePart("w",Date(),2,1)-1))); 
+1

Vous pouvez utiliser une requête directe et cela fonctionnera. La seule chose flagrante que je vois est le! = Doit être <> dans l'accès –

+0

Bon appel @random_answer_guy – whatwhatwhat

Répondre

1

Le FROM devrait ressembler à ceci pour MS Access:

FROM (job INNER JOIN 
     jobmatl 
     ON jobmatl.suffix = job.suffix AND job.job = jobmatl.job 
    ) INNER JOIN 
    (SELECT i.item, SUM(i.qty_on_hand) AS sumofqtyonhand, i.whse 
     FROM Item_by_Location_LP_ALL AS i 
     WHERE i.hold_flag <> 1 
     GROUP BY i.item, i.whse 
    ) AS ibl 
    ON jobmatl.item = ibl.item AND job.whse = ibl.whse; 

MS Access nécessite des parenthèses supplémentaires pour chaque JOIN. En outre, vous avez des niveaux de parenthèses - et je ne sais pas si cela est autorisé.

+0

Cela a fonctionné, merci beaucoup! – whatwhatwhat