Code:
Private Sub Form_Open(Cancel As Integer) Dim db As DAO.Database
Set db = CurrentDb
Dim qdf As DAO.QueryDef
Me.RecordSource = "SELECT Portafoglio.TrattativaID, Portafoglio.CandidatoID, Candidati.nomecognome, Sum(Portafoglio.Gestito) AS SommaDiGestito, IIf(IsNull([sommadigestito]),0,FormatNumber([sommadigestito]/[totale],3)) AS [%Gestito], Sum(Portafoglio.Assicurativo) AS SommaDiAssicurativo, IIf(IsNull([sommadiassicurativo]),0,FormatNumber([sommadiassicurativo]/[totale],3)) AS [%Assicurativo], Sum(Portafoglio.[Gestioni patrimoniali]) AS [SommaDiGestioni patrimoniali], IIf(IsNull([sommadigestioni patrimoniali]),0,FormatNumber([sommadigestioni patrimoniali]/[totale],3)) AS [%Gestioni patrimoniali], Sum(Portafoglio.Amministrato) AS SommaDiAmministrato, IIf(IsNull([sommadiamministrato]),0,FormatNumber([sommadiamministrato]/[totale],3)) AS [%Amministrato], Sum(Portafoglio.Certificati) AS SommaDiCertificati, IIf(IsNull([sommadicertificati]),0,FormatNumber([sommadicertificati]/[totale],3)) AS [%Certificati], Sum(Portafoglio.Liquidità) AS SommaDiLiquidità, " & vbCrLf & _
"IIf(IsNull([sommadiliquidità]),0,FormatNumber([sommadiliquidità]/[totale],3)) AS [%Liquidità], Sum(Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([portafoglio]![liquidità])) AS Totale, Count(Portafoglio.cliente) AS ConteggioDicliente, FormatCurrency(Round(Sum(Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([portafoglio]![liquidità]))/[conteggiodicliente],0),0) AS Media, First(Trattative.[Note portafoglio gestito in banca]) AS [PrimoDiNote portafoglio gestito in banca] " & vbCrLf & _
"FROM Trattative INNER JOIN (Candidati INNER JOIN Portafoglio ON Candidati.IDcandidato = Portafoglio.CandidatoID) ON Trattative.IDtrattativa = Portafoglio.TrattativaID " & vbCrLf & _
"GROUP BY Portafoglio.TrattativaID, Portafoglio.CandidatoID, Candidati.nomecognome " & vbCrLf & _
"HAVING (Portafoglio.TrattativaID= " & Me.OpenArgs & " );"
Set qdf = db.CreateQueryDef("ANALISI BANCA", "SELECT Portafoglio.TrattativaID, Portafoglio.CandidatoID, Candidati.nomecognome, Sum(Portafoglio.Gestito) AS SommaDiGestito, IIf(IsNull([sommadigestito]),0,FormatNumber([sommadigestito]/[totale],3)) AS [%Gestito], Sum(Portafoglio.Assicurativo) AS SommaDiAssicurativo, IIf(IsNull([sommadiassicurativo]),0,FormatNumber([sommadiassicurativo]/[totale],3)) AS [%Assicurativo], Sum(Portafoglio.[Gestioni patrimoniali]) AS [SommaDiGestioni patrimoniali], IIf(IsNull([sommadigestioni patrimoniali]),0,FormatNumber([sommadigestioni patrimoniali]/[totale],3)) AS [%Gestioni patrimoniali], Sum(Portafoglio.Amministrato) AS SommaDiAmministrato, IIf(IsNull([sommadiamministrato]),0,FormatNumber([sommadiamministrato]/[totale],3)) AS [%Amministrato], Sum(Portafoglio.Certificati) AS SommaDiCertificati, IIf(IsNull([sommadicertificati]),0,FormatNumber([sommadicertificati]/[totale],3)) AS [%Certificati], Sum(Portafoglio.Liquidità) AS SommaDiLiquidità, " & vbCrLf & _
"IIf(IsNull([sommadiliquidità]),0,FormatNumber([sommadiliquidità]/[totale],3)) AS [%Liquidità], Sum(Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([portafoglio]![liquidità])) AS Totale, Count(Portafoglio.cliente) AS ConteggioDicliente, FormatCurrency(Round(Sum(Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([portafoglio]![liquidità]))/[conteggiodicliente],0),0) AS Media, First(Trattative.[Note portafoglio gestito in banca]) AS [PrimoDiNote portafoglio gestito in banca] " & vbCrLf & _
"FROM Trattative INNER JOIN (Candidati INNER JOIN Portafoglio ON Candidati.IDcandidato = Portafoglio.CandidatoID) ON Trattative.IDtrattativa = Portafoglio.TrattativaID " & vbCrLf & _
"GROUP BY Portafoglio.TrattativaID, Portafoglio.CandidatoID, Candidati.nomecognome " & vbCrLf & _
"HAVING (Portafoglio.TrattativaID= " & Me.OpenArgs & " );")
DoCmd.OpenQuery "ANALISI BANCA"
Dim SqlCompBanGraf As String
SqlCompBanGraf = "SELECT Portafoglio.TrattativaID, Portafoglio.CandidatoID, Candidati.nomecognome, Sum(Portafoglio.Gestito) AS SommaDiGestito, IIf(IsNull([sommadigestito]),0,FormatNumber([sommadigestito]/[totale],3)) AS [%Gestito], Sum(Portafoglio.Assicurativo) AS SommaDiAssicurativo, IIf(IsNull([sommadiassicurativo]),0,FormatNumber([sommadiassicurativo]/[totale],3)) AS [%Assicurativo], Sum(Portafoglio.[Gestioni patrimoniali]) AS [SommaDiGestioni patrimoniali], IIf(IsNull([sommadigestioni patrimoniali]),0,FormatNumber([sommadigestioni patrimoniali]/[totale],3)) AS [%Gestioni patrimoniali], Sum(Portafoglio.Amministrato) AS SommaDiAmministrato, IIf(IsNull([sommadiamministrato]),0,FormatNumber([sommadiamministrato]/[totale],3)) AS [%Amministrato], Sum(Portafoglio.Certificati) AS SommaDiCertificati, IIf(IsNull([sommadicertificati]),0,FormatNumber([sommadicertificati]/[totale],3)) AS [%Certificati], Sum(Portafoglio.Liquidità) AS SommaDiLiquidità, " & vbCrLf & _
"IIf(IsNull([sommadiliquidità]),0,FormatNumber([sommadiliquidità]/[totale],3)) AS [%Liquidità], Sum(Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([portafoglio]![liquidità])) AS Totale, Count(Portafoglio.cliente) AS ConteggioDicliente, FormatCurrency(Round(Sum(Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([portafoglio]![liquidità]))/[conteggiodicliente],0),0) AS Media, First(Trattative.[Note portafoglio gestito in banca]) AS [PrimoDiNote portafoglio gestito in banca], Trattative.[Livello minimo trasferibile], [ptf trasferibile personale]*1000000 AS [Portafoglio trasferibile concordato], Switch([livello minimo trasferibile]=""Sicuro"",1,[livello minimo trasferibile]=""probabile"",2,[livello minimo trasferibile]=""possibile"",3,[livello minimo trasferibile]=""improbabile"",4,[livello minimo trasferibile]=""negativo"",5) AS [livello minimo trasferibile numerico] " & vbCrLf & _
"FROM Trattative INNER JOIN (Candidati INNER JOIN Portafoglio ON Candidati.IDcandidato = Portafoglio.CandidatoID) ON Trattative.IDtrattativa = Portafoglio.TrattativaID " & vbCrLf & _
"GROUP BY Portafoglio.TrattativaID, Portafoglio.CandidatoID, Candidati.nomecognome, Trattative.[Livello minimo trasferibile], [ptf trasferibile personale]*1000000, Switch([livello minimo trasferibile]=""Sicuro"",1,[livello minimo trasferibile]=""probabile"",2,[livello minimo trasferibile]=""possibile"",3,[livello minimo trasferibile]=""improbabile"",4,[livello minimo trasferibile]=""negativo"",5) " & vbCrLf & _
"HAVING (((Portafoglio.TrattativaID)=" & Me.OpenArgs & "));"
For Each qdf In CurrentDb.QueryDefs
If qdf.Name = "CompBanGraf" Then
CurrentDb.QueryDefs.Delete "CompBanGraf"
Exit For
End If
Next
Set qdf = db.CreateQueryDef("CompBanGraf", SqlCompBanGraf)
DoCmd.OpenQuery "CompBanGraf" 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA TEST QUERY
Me.CompBanGraf.RowSource = "SELECT TrattativaID, [%Gestito] AS Valore, ""Gestito"" AS Investimento FROM [CompBanGraf] " & vbCrLf & _
"UNION SELECT TrattativaID, [%Assicurativo], ""Assicurativo"" FROM [CompBanGraf] " & vbCrLf & _
"UNION SELECT TrattativaID, [%Gestioni patrimoniali], ""Gestioni patrimoniali"" FROM [CompBanGraf] " & vbCrLf & _
"UNION SELECT TrattativaID, [%Amministrato], ""Amministrato"" FROM [CompBanGraf] " & vbCrLf & _
"UNION SELECT TrattativaID, [%Certificati], ""Certificati"" FROM [CompBanGraf] " & vbCrLf & _
"UNION SELECT TrattativaID, [%Liquidità], ""Liquidità"" FROM [CompBanGraf];"
Dim SqlConBanGraf As String
SqlConBanGraf = "SELECT Portafoglio.CandidatoID, Portafoglio.TrattativaID, Nz([gestito])+Nz([assicurativo])+Nz([gestioni patrimoniali])+Nz([amministrato])+Nz([certificati])+Nz([liquidità]) AS Totale, Switch([totale]<100000,""<100k"",[totale] Between 100000 And 299999,""100k-300k"",[totale] Between 300000 And 499999,""300k-500k"",[totale] Between 500000 And 699999,""500k-700k"",[totale] Between 700000 And 1000000,""700k-1mln"",[totale] Between 1000000 And 1999999,""1mln-2mln"",[totale] Between 2000000 And 4999999,""2mln-5mln"",[totale] Between 5000000 And 9999999,""5mln-10mln"",[totale]>=10000000,"">=10mln"") AS [Taglio cliente], Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9) AS Ordinamento " & vbCrLf & _
"FROM Portafoglio;"
For Each qdf In CurrentDb.QueryDefs
If qdf.Name = "ConBanGraf" Then
CurrentDb.QueryDefs.Delete "ConBanGraf"
Exit For
End If
Next
Set qdf = db.CreateQueryDef("ConBanGraf", SqlConBanGraf)
DoCmd.OpenQuery "ConBanGraf" 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA TEST QUERY
Me.ConcBaGraf.RowSource = "SELECT [ConBanGraf].TrattativaID, [ConBanGraf].CandidatoID, [ConBanGraf].[Taglio cliente], Count([ConBanGraf].[Taglio cliente]) AS [ConteggioDiTaglio cliente], Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9) AS Ordinamento " & vbCrLf & _
"FROM [ConBanGraf] " & vbCrLf & _
"GROUP BY [ConBanGraf].TrattativaID, [ConBanGraf].CandidatoID, [ConBanGraf].[Taglio cliente], Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9) " & vbCrLf & _
"HAVING ((([ConBanGraf].TrattativaID)=" & TrattativaID & ")) " & vbCrLf & _
"ORDER BY Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9);"
Me.Report_ptf_banca_concentrazione_grafico.Form.RecordSource = "SELECT [ConBanGraf].TrattativaID, [ConBanGraf].CandidatoID, [ConBanGraf].[Taglio cliente], Count([ConBanGraf].[Taglio cliente]) AS [ConteggioDiTaglio cliente], Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9) AS Ordinamento " & vbCrLf & _
"FROM [ConBanGraf] " & vbCrLf & _
"GROUP BY [ConBanGraf].TrattativaID, [ConBanGraf].CandidatoID, [ConBanGraf].[Taglio cliente], Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9) " & vbCrLf & _
"HAVING ((([ConBanGraf].TrattativaID)= " & TrattativaID & ")) " & vbCrLf & _
"ORDER BY Switch([taglio cliente]=""<100k"",1,[taglio cliente]=""100k-300k"",2,[taglio cliente]=""300k-500k"",3,[taglio cliente]=""500k-700k"",4,[taglio cliente]=""700k-1mln"",5,[taglio cliente]=""1mln-2mln"",6,[taglio cliente]=""2mln-5mln"",7,[taglio cliente]=""5mln-10mln"",8,[taglio cliente]="">=10mln"",9);"
End Sub
this code is not running when i open a report that contains this form as subform.