Bonsoir,
Je sais que ce sujet à maintes fois été discutés mais, je suis obligé dans reparlé.
Jusqu' a présent, j' ai des listes qui fonctionne même avec un champ de recherche concaneté. Lors de la réalisation de ma dernière base de donnée, cela ne fonctionne plus alors que je n' ai rien changé. La macro me renvoie un message m' indiquant ne pas trouver le champ concerné.
Je travaille avec Xubuntu pour l' OS et Libre Office Base HSQL en version 6.2.6.
Code de la macro:
Le message d' erreur apparait en ligne 27
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Sub Liste(oEv as Object) Dim VlrEc as String, DsgChp as string, Frm as Object Frm = thiscomponent.DrawPage.Forms.GetByIndex(0) VlrEc = oEv.source.SelectedItem DsgChp = "CfCmt" FchSlct(VlrEc,DsgChp) thiscomponent.currentcontroller.getControl(Frm.getByName("Cmt")).setFocus End Sub Function FchSlct(VlrEc as String,DsgChp as string) Dim ChrVlr as String Dim Frm as Object, Dn as Object, DnEc as object Dim TrvVlr as Boolean Frm = thiscomponent.DrawPage.Forms.GetByIndex(0) Dn = Frm.createResultSet() with oEv.source.model ChrVlr = VlrEc End with Dn.beforeFirst TrvVlr = false Do while Dn.next() and TrvVlr = false DnEc = Dn.columns.getByName(DsgChp) If DnEc.String = ChrVlr then TrvVlr = true Exit do End if Loop If TrvVlr = true then Frm.moveToBookmark(Dn.Bookmark) else msgbox("Enregistrement non trouvé", 64) End if End Function
Voici la requête SQL qui gère la liste déroulante:
Afin de vous permettre de tester cette procédure, je vous joins une ébauche de Base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT "Cf_Pht" || ' - ' || "Cmt" AS "CfCmt", "Cmt", "Cf_Pht" FROM "T_Pht" ORDER BY "Cf_Pht" ASC
Pourriez-vous me dire ce qui cloche?
Cordialement
Partager