Amigos bom dia, não sei se seria bem aqui a postagem da minha dúvida como não achei access e nem vba...
Bem,
fiz um relatório em access e estou com alguns problemas na execução de um código calculo alguns valores. Segue abaixo o código.
Ele tem que fazer basicamente... selecionar duas tabelas e de acordo com alguns campos dessa tabela calcular e mostrar os valores...
Private Sub Report_Open(Cancel As Integer)
Dim db As DAO.Database
Dim rsPPA As DAO.Recordset
Dim total_ppa As Double
Set db = CurrentDb()
MsgBox ([cod_pubinst])
sql = "SELECT midias_projeto.tipo_veiculo, insercoes_analise, audiencia FROM midias_projeto LEFT JOIN midias_calibracao ON midias_calibracao.veiculo=midias_projeto.veiculo AND midias_calibracao.tipo_veiculo=midias_projeto.tipo_veiculo WHERE midias_projeto.cod_projeto=26;"
Set rsPPA = db.OpenRecordset(sql)
total_ppa = 0
Do While Not rsPPA.EOF
If Not IsNull(rsPPA.Fields(2)) And rsPPA.Fields(2) > 0 Then
Pergunta
Fabricio Vasco
Amigos bom dia, não sei se seria bem aqui a postagem da minha dúvida como não achei access e nem vba...
Bem,
fiz um relatório em access e estou com alguns problemas na execução de um código calculo alguns valores. Segue abaixo o código.
Ele tem que fazer basicamente... selecionar duas tabelas e de acordo com alguns campos dessa tabela calcular e mostrar os valores...
Private Sub Report_Open(Cancel As Integer)
Dim db As DAO.Database
Dim rsPPA As DAO.Recordset
Dim total_ppa As Double
Set db = CurrentDb()
MsgBox ([cod_pubinst])
sql = "SELECT midias_projeto.tipo_veiculo, insercoes_analise, audiencia FROM midias_projeto LEFT JOIN midias_calibracao ON midias_calibracao.veiculo=midias_projeto.veiculo AND midias_calibracao.tipo_veiculo=midias_projeto.tipo_veiculo WHERE midias_projeto.cod_projeto=26;"
Set rsPPA = db.OpenRecordset(sql)
total_ppa = 0
Do While Not rsPPA.EOF
If Not IsNull(rsPPA.Fields(2)) And rsPPA.Fields(2) > 0 Then
audiencia = rsPPA.Fields(2)
Else
audiencia = 0
End If
If rsPPA.Fields(0) = "TELEVISAO" Then
total_ppa = total_ppa + (((rsPPA.Fields(1) * 0.1) + 1) * (audiencia * 0.2))
ElseIf rsPPA.Fields(0) = "RADIO" Then
total_ppa = total_ppa + (((rsPPA.Fields(1) * 0.1) + 1) * (audiencia * 0.6))
ElseIf rsPPA.Fields(0) = "JORNAL" Then
total_ppa = total_ppa + (((rsPPA.Fields(1) * 0.2) + 1) * (audiencia * 0.6))
ElseIf rsPPA.Fields(0) = "REVISTA" Then
total_ppa = total_ppa + (((rsPPA.Fields(1) * 0.3) + 1) * (audiencia * 0.8))
ElseIf rsPPA.Fields(0) = "CINEMA" Then
total_ppa = total_ppa + (((rsPPA.Fields(1) * 0.1) + 1) * (audiencia * 0.2))
ElseIf rsPPA.Fields(0) = "INTERNET" Then
total_ppa = total_ppa + (rsPPA.Fields(1) * 1)
ElseIf rsPPA.Fields(0) = "EXTENSIVA" Then
total_ppa = total_ppa + ((rsPPA.Fields(1) * 0.02) * (audiencia * 0.2))
End If
rsPPA.MoveNext
Loop
rsPPA.Close
Set rsPPA = Nothing
Set db = Nothing
'Me.total_ppa = total_ppa
Report_Open_Err:
MsgBox (Err.Number + " - " + Err.Description)
Exit Sub
End Sub
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.