0

Microsoft Accessに、テキストファイルからテーブルにレコードをインポートするフォームがあります。元のコードは次のとおりです。

DoCmd.RunSQL "UPDATE QC_File SET QC_File.ToQC = 'x' " & _
"WHERE (((QC_File.ID) In (Select TOP " & VarPer & " PERCENT ID " & _
"FROM QC_File As DUPE " & _
"WHERE [DUPE].[HIST_USUS_ID] = [QC_File].[HIST_USUS_ID] And [DUPE].[Client1] = 'CLIENT' " & _
"ORDER BY [DUPE].[ID] DESC;)))"`

このコードは、ランダムに10%を取得する場合にのみ、上位10%を取得しているため、次のことを試しましたが、エラー(「クエリ式の構文エラー」)が発生し続け、エラーが発生している行が指定されていません。オンにすると、コード全体が返されます。

DoCmd.RunSQL "UPDATE QC_File SET QC_File.ToQC = 'x' " & _
"WHERE (((QC_File.ID) In (Select ID " & _
"FROM QC_File As DUPE Tablesample(10 PERCENT) " & _
"WHERE [DUPE].[HIST_USUS_ID] = [QC_File].[HIST_USUS_ID] And [DUPE].[Client1] = 'CLIENT' " & _
"ORDER BY [DUPE].[ID] DESC;)))"

私はすでに使用を試みNEWID()ましたが、それはランダムな順序でトップ10パーセントを返すことだけです。Visual BasicでSQLを作成するときにTablesampleコマンドを使用することはできませんか?

4

1 に答える 1

0

アクセスはFROM、サブクエリでこの句に反対します。

FROM QC_File As DUPE Tablesample(10 PERCENT)

Tablesample()AccessSQLではサポートされていません。

サブクエリから必要なことを実行する新しいAccessクエリを作成することをお勧めします。それが機能するようになったら、それをサブクエリとして使用します。

于 2013-03-26T14:44:34.397 に答える