Bonjour,
Tout nouveau sur Linux Mageia9 et sur Base, j’essaie de modifier une macro de liste déroulante “copier/voler”, sur internet.
Lors de l’exécution, une erreur basic se produit.
Type:com.sun.star.container.nosurchElementException
Message:at/home/iurt/rpmbuild/BUILD/libreoffice-7.5.2.2/forms/source/misc/InterfaceContainer.cxx:697.
Pouvez-vous m’expliquer l’erreur et comment la corriger.
Un grand merci par avance. Alain56
Ci-dessous la macro:
option explicit
dim LstPostal as Object , LstVilles AS Object
Sub AdhOpen(PysEvent)
dim PysContainer as object, PysConnection as object
dim PysProp(1) as New com.sun.star.beans.PropertyValue
PysContainer = PysEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments
PysConnection = PysEvent.Source.Model.Parent.ActiveConnection
PysProp(0).Name = “ActiveConnection”
PysProp(0).Value = PysConnection
PysProp(1).Name = “OpenMode”
PysProp(1).Value = “open”
PysContainer.loadComponentFromURL(“Code”,"_blank",0,PysProp())
end sub
sub AdhRefresh
ThisComponent.DrawPage.Forms.getByName(“Standard”).getByName(“Zone postal”).refresh
end sub
'************************************************************************************************
sub AdhMajListe
'************************************************************************************************
'Lancée sur modification de la liste des marques pour mettre à jour la liste des modèles
'************************************************************************************************
DIM var_id_postal as integer
'Recupere les composants liste
Lstpostal = ThisComponent.DrawPage.Forms.getByName(“Standard”).getByName(“Zone postal”)
Lstvilles = ThisComponent.DrawPage.Forms.getByName(“Standard”).getByName(“Zone ville”)
'Recupere l’id de la marque selectionnée
'Syntaxe si le champ n’est pas lié à un champ de la base
'var_id_marque = PysLstMarque.SelectedItems(0)
'Syntaxe si le champ est lié à un champ de la base
var_id_postal = Lstpostal.valueItemList(Lstpostal.SelectedItems(0))
'Modifie la requete SQL de la liste des voitures :
LstVilles.ListSource() = array(“SELECT Ville, id_ville FROM Villes WHERE id_code =” & var_id_postal)
LstVilles.refresh
end sub
'************************************************************************************************
sub AdhActualisation
'************************************************************************************************
'Lancée après changement d’enregistrement pour sélectionner dans la liste la valeur contenue
'dans le champ
'************************************************************************************************
dim ExoTrav
AdhMajListe
ExoTrav= ExoRechercheDansTableau(LstVilles.ValueItemList, LstVilles.boundField.Value)
if ExoTrav <> “#N/A” then
LstVilles.SelectedItems = array(ExoTrav)
else
LstVilles.SelectedItems = array(0)
end if
end sub
'******************************************************************************************************
Function ExoRechercheDansTableau(ExoTablo, ExoRech)
'******************************************************************************************************
dim i as integer
ExoRechercheDansTableau = “#N/A”
for i = lbound(ExoTablo) to ubound(ExoTablo)
if ExoTablo(i)= ExoRech then
ExoRechercheDansTableau = i
exit for
end if
next i
end function