Erreur déxécution Basic

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

Bonsoir,
Peut-on savoir ou en est le problème ?
Avec quelle version de LibreOffice êtes vous ?
Cordialement,

Bonjour Valioud.
Merci pour votre aide.
Je vais effectivement revenir aux fondamentaux.
Cordialement

Afficher les macros c’est bien. Mais sans joindre l’ODB qui va avec, je ne vois pas comment ferait-on pour reproduire. :thinking:

En principe, l’usage de Base nécessite de partir de l’objet ThisDatabaseDocument et non pas thisComponent.

Bonjour et Merci Valioud
Mil’Pat_Base-données.odb (17.6 KB)
Voici l’ODB.
Cordialement

Cet ODB utilise le moteur Firebird qui est expérimental.
Commencez par revenir au HSQL et produisez un nouveau document dans ce format.

Bonsoir,
De plus, chez moi j’ai ce message :
Milpat-Erreur
A plus

Tel que je le comprends, ce message signifie qu’il s’attendait à trouver une FDB constituée selon la version 1.5 ou inférieure de Firebird, alors qu’il a trouvé du FB2.0 (11.0).
Il y a quelque chose qui ne tourne pas rond avec la version de FB que tu as sur ton système.