2017-02-23 387 views
1

フォーラムに似たスレッドが見つかりましたが、正しい方向に私を導くようなものは実際には見つかりませんでした。基本的には、10の地域ごとにQAスコアを持つテーブルがあり、その月に応じて特定の地域のスコアをテキストボックスに入力しようとしています。私はこの形式のVBAでこれをしようとしていたが、この実行時エラー3131に遭遇し、私は十分に簡単な私のコードに何が間違っているのか完全にはわからない。助けやアドバイスをいただきありがとうございます。実行時エラー3131 FROM句の構文エラー

Private Sub Form_Load() 


Dim strSql As String 


strSql = "SELECT tblScorecard.[QA_Overall]" & _ 
     "FROM tblScorecard" & _ 
     "WHERE tblScorecard.[Audit Month] = 'Jan'" & _ 
     "AND tblScorecard.[Region] = '1'" 

DoCmd.RunSQL strSql 

txtReg1 = strSql 

End Sub 

答えて

1

空白を追加することはできませんか? tblScorecard。[QA_全体] FROMを1語にしますか?エラーを回避するためには

Private Sub Form_Load() 


Dim strSql As String 


strSql = "SELECT tblScorecard.[QA_Overall] " & _ 
     "FROM tblScorecard " & _ 
     "WHERE tblScorecard.[Audit Month] = 'Jan'" & _ 
     " AND tblScorecard.[Region] = '1'" 

DoCmd.RunSQL strSql 

txtReg1 = strSql 

End Sub 

:2342 A RUNSQL:

Private Sub Form_Load() 
    Dim qdf As QueryDef 
    strSql = "SELECT tblScorecard.[QA_Overall] " & _ 
     "FROM tblScorecard " & _ 
     "WHERE tblScorecard.[Audit Month] = 'Jan'" & _ 
     " AND tblScorecard.[Region] = '1'" 
    On Error Resume Next 
    DoCmd.DeleteObject acQuery, "tempQry" 
    On Error GoTo 0 
    Set qdf = CurrentDb.CreateQueryDef("tempQry", strSQL) 
    DoCmd.OpenQuery ("tempQry") 
End Sub 

詳しい情報はhereを発見しました。

+0

の末尾にスペースを追加すること

てみてくださいラインくちばしを追加していないことだ '[QA_Overall] FROM'ではありません問題は、 'FROM tblScorecardWHERE'です。 – JohnHC

+0

前の行にスペースを追加しました。私は両方がここで問題だったと思う。 –

+0

したがって、エラー2342を回避するコードが動作し、tempQryが作成されます。 DLookUpを使用すると、他のテキストボックスに対してこのコードをもう一度繰り返すことになりますか? –

1

あなたが& _を使用し、あなたは文字列内の文字列

strSql = "SELECT tblScorecard.[QA_Overall] " & _ 
     "FROM tblScorecard " & _ 
     "WHERE tblScorecard.[Audit Month] = 'Jan' " & _ 
     "AND tblScorecard.[Region] = '1'" 
+0

oh dur lol。よくそれを修正するようだが、それは私に2342を投げるRunSQLのアクションは、SQLステートメントからなる引数を必要とします。私はどのように書いたのがSQLではないのか分かりませんか? –

+0

これをレコードセットとして開く必要があります... – JohnHC

+1

DoCmd.RunSQLがアクションクエリ用であるため、ohhhhhh ... –