Boa tarde, estou realizando uma consulta em SQL via vba, para acrescentar os dados de acordo com o Select Top, entretanto o Access não está respeitando o predicado, assim solicito auxílio, muito obrigado.
- Código:
Set rs = CurrentDb.OpenRecordset("TBL_TMP_PRSO_SERV_SEGCLI_AMOSTRA")
rs.MoveFirst
Do While Not rs.EOF
CurrentDb.QueryDefs("QRY_ACRESCENTA_TBL_SORTEIO").SQL = "INSERT INTO TBL_SORTEIO ( COD_PRSO_SERV, SEGCLI, DATA_TRATAMENTO, AGENCIA, CONTA, DATA_TRATAMENTO_FINAL, AG_CC_HORA_DATA, FUNCIONAL_OPERADOR ) " & _
"SELECT TOP " & rs.Fields("QT_AMOSTRA").Value & " TBL_ABERT_LIBERADAS.COD_PRSO_SERV, TBL_ABERT_LIBERADAS.SEGCLI, TBL_ABERT_LIBERADAS.DATA_TRATAMENTO, TBL_ABERT_LIBERADAS.AGENCIA, TBL_ABERT_LIBERADAS.CONTA, TBL_ABERT_LIBERADAS.DATA_TRATAMENTO_FINAL, TBL_ABERT_LIBERADAS.AG_CC_HORA_DATA, TBL_ABERT_LIBERADAS.FUNCIONAL_OPERADOR " & _
"FROM (TBL_ABERT_LIBERADAS INNER JOIN TBL_SEGCLI_AMOSTRA ON TBL_ABERT_LIBERADAS.SEGCLI = TBL_SEGCLI_AMOSTRA.SEGCLI) INNER JOIN TBL_TMP_PRSO_SERV_SEGCLI_AMOSTRA ON (TBL_TMP_PRSO_SERV_SEGCLI_AMOSTRA.COD_PRSO_SERV = TBL_ABERT_LIBERADAS.COD_PRSO_SERV) AND (TBL_SEGCLI_AMOSTRA.DS_SEGCLI_AMOSTRA = TBL_TMP_PRSO_SERV_SEGCLI_AMOSTRA.DS_SEGCLI_AMOSTRA) " & _
"WHERE (((TBL_ABERT_LIBERADAS.DATA_TRATAMENTO) Between [Forms]![FRM_SORTEIO]![TXT_DATA_DE] And [Forms]![FRM_SORTEIO]![TXT_DATA_ATE]) AND ((TBL_TMP_PRSO_SERV_SEGCLI_AMOSTRA.COD_PRSO_SERV)=" & rs.Fields("COD_PRSO_SERV").Value & ") AND ((TBL_TMP_PRSO_SERV_SEGCLI_AMOSTRA.DS_SEGCLI_AMOSTRA)='" & rs.Fields("DS_SEGCLI_AMOSTRA").Value & "')) " & _
"ORDER BY Format([DATA_TRATAMENTO_FINAL],'ssmmhhddmmyyyy') ASC;"
DoCmd.OpenQuery "QRY_ACRESCENTA_TBL_SORTEIO"
DoEvents
rs.MoveNext
Loop