Salut à tous,
Tout d'abord merci à tous ceux qui ont pris le temps d'essayer de m'aider et désolé ne pas vous avoir donné de news plus tôt.
Je pense finalement que adlinformatik a raison, je n'ai pas donné assez d'information.
Voici mes 2 requêtes filtres (je les ai volontairement énormément simplifiée, sinon il y a avait au moins 15 lignes chacune et au final ça revient au même puisque ça ne marche pas)
La première qui s'appelle FiltreFactures :
SELECT DISTINCTROW FACTURES.NumFact, FACTURES.NumCommande, FACTURES.Date, FACTURES.DateLiv, FACTURES.NumClient FROM FACTURES
et la seconde qui s'appelle FiltreCommandes :
SELECT DISTINCTROW COMMANDES.NumFact, COMMANDES.NumCommande, COMMANDES.Date, COMMANDES.DateLiv, COMMANDES.NumClient FROM COMMANDES
La première est le record source mon état "Facture".
Voici le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
Dim DBS As Database, CDE As Recordset, NFact As Long
Set DBS = DBEngine.Workspaces(0).OpenDatabase(VENTE_DATA)
Set CDE = DBS.OpenRecordset("COMMANDES")
CDE.Index = "PrimaryKey"
NFact = InputBox("N° Fature")
CDE.Seek "=", NFact
If CDE.NoMatch Then
Set CDE = DBS.OpenRecordset("FACTURES")
CDE.Index = "PrimaryKey"
CDE.Seek "=", NFact
If CDE.NoMatch Then
MsgBox "Aucune commande ou facture ne correspond à ce n°"
Exit Function
Else
MonFiltre= "FiltreFactures"
End If
Else
MonFiltre= "FiltreCommandes"
End If
CDE.Close
DBS.Close
DoCmd.OpenReport "Facture", acViewPreview, MonFiltre, "[NumFact] = " & NFact |
Pour résumé, l'utilisateur entre un Numéro de facture, Si ce numéro existe dans la table COMMANDES, on défini MonFiltre= "FiltreFactures" sinon si ce numéro existe dans la table FACTURES, on défini MonFiltre= "FiltreCommandes"
Ensuite on ouvre l'état avec la requête filtre qui a été définie auparavant avec comme et [NumFact] = " & NFact comme condition WHERE.
tee_grandbois, j'ai essayé ta solution avec le paramètre OpenArgs, mais chez moi ça ne fonctionne pas non plus, je ne comprends vraiment pas ce que je fait mal. Car si les 2 solutions marchent chez toi et pas chez moi, c'est bien que je fais mal quelque chose .
Merci encore pour votre aide
Partager