question

Como posso fazer uma contagem distinta em MS Access?

Eu tenho a consulta a seguir, mas eu preciso para obter uma contagem distinta de Count(main_IncidentsNAF.QUOTE_AND_POLICY_NUMBER) como polCount de campo.

Insira no KPI (FieldName, AgentCnt, MASTER, AgentNumber, categoria, PolicyStatus, [grupo de lucros], AgentState)
Selecione "Políticas com acidentes NAF" como campo, Count(main_IncidentsNAF.QUOTE_AND_POLICY_NUMBER) como polCount, main_IncidentsNAF.MASTER, main_IncidentsNAF.AGENT_NUMBER, "Incidentes" como categoria, "Negaria tudo" como Status, main_IncidentsNAF.[Grupo de lucros], main_IncidentsNAF.AGENT_STATE
DE main_IncidentsNAF
GRUPO por "Políticas com acidentes NAF", main_IncidentsNAF.MASTER, main_IncidentsNAF.AGENT_NUMBER, "Incidentes", "Negaria tudo", main_IncidentsNAF.[Grupo de lucros], main_IncidentsNAF.AGENT_STATE;

Alguém pode me ajudar com o código?
Obrigado! Este código foi escrito por outra pessoa e eu estou tentando "corrigir" para fazer uma contagem distinta em QUOTE_AND_POLICY. Eu sou um usuário muito novato então conselhos simples para corrigir o código seria útil. Esse código também é parte de um programa de acesso muito maior que envolvendo consultas mais, tabelas e macros do que eu gostaria de contar.

resposta Resposta

Sua pergunta não está muito clara. Normalmente eu associaria o comando contagem distinta com uma consulta SELECT, não uma consulta INSERT.

Há um método por meio do vba que contará o número de registros afetados pela consulta INSERT. Espero que ajude.

Private Sub CallSQLRun()



' FINALIDADE:
' exemplo para mostrar como chamar a função SQLRun

Dim stSQLquery As String
Dim lgCountRecordsAffected como longo

stSQLquery = "INSERT INTO...;"

lgCountRecordsAffected = SQLRun(stSQLquery)

MsgBox lgCountRecordsAffected & "registros afetados"

End Sub


Função pública SQLRun(strSQL As String) como longo
No erro GoTo ErrHandler

' Finalidade: centralizar o processo de consulta de ação SQL,
' dispensar SetWarnings ou desligue,
' salvando na digitação e retornando o número de registros afetados

' Requer: consulta SQL para ser executado no banco de dados local apenas (CurrentDb)

' modificado do original código cortesia de:
' David W. Fenton
' http://www.tech-archive.net/Archive/Access/microsoft.public.access.formscoding/2009-10/msg00840.html

Db estático como DAO.Banco de dados
Dim lngRecordsAffected como longo
10:
' defina o valor inicial da variável
SQLRun = 0
20:
' definir banco de dados local
Se db é nada defina db = Access.CurrentDb
30:
' executa comando SQL
DB.Executar strSQL, DAO.dbFailOnError
40:
' verificar o número de registros afetados
lngRecordsAffected = dbLocal.RecordsAffected
50:
' retornar valor
SQLRun = lngRecordsAffected
999:
exitRoutine:
Função de saída

ErrHandler:
MsgBox "erro na função SQLRun (linha" & Erl() & "):" & VBA.Err. Number & "" & VBA.Err
Currículo exitRoutine

End Function

resposta Não é a resposta que você estava procurando?
Adicionar um comentário ou resposta a esta pergunta

Pesquisar uma resposta melhor..
Ou, fazer uma pergunta..
Comentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta



Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2021
All rights reserved