Salut j'ai deux tables: Financeur et Financeurs_OP.
Je vérifie que [CPF]est>0, aprés je vérifie si check50 est vrai ou faux.
Si check50=1 je vais chercher des données dans ma table Financeurs_OP sinon je vais chercher des données dans Financeur.
Pouvez-vous me débloquer?Voici ce que j'ai essayé de faire:
Me.Dat_financeurs.DatabaseName = Bdd
If Rs![CPF] > 0 Then
sql_glob_rs = "SELECT Financeurs_OP.[Code Sres], [Code OT] & ' - ' & [libellé] AS Macrotaches, Financeurs_OP.CFP"
Else
sql_glob_rs = "SELECT Financeurs_OP.[Code Sres], [Code OT] & ' - ' & [libellé] AS Macrotaches, Financeurs_OP.Budget"
End If
sql1 = "SELECT Financeur.[Ref reseau],,[Nom Financeur] as [Financeur(s)], [Part Financeur] as [Part en %],[montant Financeur]as Montant from financeur where [ref reseau] =" & glob_sres
If dgsr1.Check50.Value = 1 Then
Dim sNom() As String
ReDim sNom(20)
Set Db = DBEngine.OpenDatabase(Bdd)
Set Rs = Db.OpenRecordset("SELECT [Nom Financeur],[codeFinanceur] " & _
"FROM [Financeur] " & _
"WHERE ([Ref reseau]=" & glob_sres & ") " & _
"ORDER BY [codeFinanceur] ", dbOpenForwardOnly)
i = 1
If dgsr1.Check50.Value = 1 Then
Do Until Rs.EOF
sNom(i) = Rs![Nom Financeur]
sql_glob_rs = sql_glob_rs & ", Financeurs_OP.Fin" & i & " as [" & sNom(i) & "]"
Rs.MoveNext
i = i + 1
Loop
sql_glob_rs = sql_glob_rs & " From Financeurs_OP WHERE (((Financeurs_OP.[Code Sres])=" & glob_sres & "))"
Me.Dat_financeurs.RecordSource = sql_glob_rs
Me.Dat_financeurs.Refresh
Me.Financeurs.MaxRows = Me.Dat_financeurs.Recordset.RecordCount
Else
Do Until Rs.EOF
sNom(i) = Rs![Nom Financeur]
sql1 = sql1 & ", Financeur.Fin" & i & " as [" & sNom(i) & "]"
Rs.MoveNext
i = i + 1
Loop
sql1 = sql1 & " From Financeur WHERE (((Financeur.[Ref reseau])=" & glob_sres & "))"
Me.Dat_financeurs.RecordSource = sql1
Me.Dat_financeurs.Refresh
Me.Financeurs.MaxRows = Me.Dat_financeurs.Recordset.RecordCount
Me.Financeurs.Col = 1
Me.Financeurs.ColHidden = True
Me.Financeurs.Col = 2
Me.Financeurs.Lock = True
Me.Financeurs.Protect = True
Me.Financeurs.UnitType = UnitTypeTwips '
Me.Financeurs.ColWidth(2) = 2100
Me.Financeurs.ColWidth(3) = 1000
End If