Bonjour à toutes et tous,

Je souhaite sélectionner uniquement les enregistrements de la table "Base de données" dont le champ "Donnees_exporter"=Oui et parmi ces enregistrements sélectionnés, récupérer les données de type texte des champs "Photo1", "Photo2" et "Photo3" quand ces champs ne sont pas vides.
Le code ci-après ne fonctionne pas parfaitement car je récupère uniquement les données dans le cas où les 3 champs Photo1, Photo2, Photo3 d'un enregistrement contiennent du texte.
Et quand je remplace "OR" par "AND", cela ne fonctionne plus du tout. Pourtant, j'image que ce sont les paramètres de la clause WHERE qui provoquent le dysfonctionnement
Si quelqu'un peut me mettre sur une piste... Merci !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim oRst As DAO.Recordset
Dim oDb As DAO.Database
Dim Adresse1, Adresse2, Adresse3 As String
Dim Fichier1, Fichier2, Fichier3 As String
 
Set oDb = CurrentDb
 
Set oRst = oDb.OpenRecordset("SELECT Photo1,Photo2,Photo3 FROM [Base de données] WHERE (Donnees_exporter)=Yes AND (Photo1) <> '' OR (Photo2) <> '' OR (Photo3) <> ''", dbOpenDynaset)
 
While Not oRst.EOF
 
Adresse1 = oRst.Fields("Photo1").Value
Adresse2 = oRst.Fields("Photo2").Value
Adresse3 = oRst.Fields("Photo3").Value
 ...
 
oRst.MoveNext
Wend