BASE: Objektvariable nicht belegt

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: Objektvariable nicht belegt

Beitrag von komma4 »

MartinK hat geschrieben:Ich habe mir vorerst ein Formular gebastelt, welches den Inhalt einer vorher erstellten Tabelle anzeigt.[...]
Hier kommt leider immer die Fehlermeldung "Objektvariable nicht belegt"
Du hast das Objekt nicht belegt.

Wenn es tatsächlich ein Formular einer BASE-Datenbank ist, dann geht das so:

Code: Alles auswählen

' Makro in STANDARD-Bibliothek der ODB, aufgerufen vom Formular
oFeld = ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "frmID" ).Text
MartinK hat geschrieben:bin leider noch einsteiger in oO Base
Besorge Dir mal Andrews Datenbank-Dokument von seiner Webseite, da steht schon einiges drin.


Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: Objektvariable nicht belegt

Beitrag von komma4 »

MartinK hat geschrieben:Woran könnte das liegen?
Falsches "aktives" Dokument?
Kein Writer-Formular?
Feld nicht im ersten Formular?


Besorge Dir XRAY, installiere es, lade es (einmal pro OO-Sitzung über die Basic-IDE öffnen), oder zu Beginn einer DEBUG-Sitzung laden

Code: Alles auswählen

If NOT GlobalScope.BasicLibraries.isLibraryLoaded( "XrayTool" ) Then
	GlobalScope.BasicLibraries.loadLibrary( "XrayTool" ) 
End if

und dann probiere, was Du erhälst

Code: Alles auswählen

xray ThisComponent
xray ThisComponent.Drawpage
xray ThisComponent.Drawpage.Forms()
xray ThisComponent.Drawpage.Forms().getByIndex( 0 )
xray ThisComponent.Drawpage.Forms().getByIndex( 0 ).ElementNames
xray ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "frmID" )

Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: Objektvariable nicht belegt

Beitrag von komma4 »

MartinK hat geschrieben:Ich wollte doch eigentlich nur einen Button im Formular, der eine PDF-Datei öffnet
Das macht Dein Betriebssystem, wenn Du in dem Datenordner auf das PDF-Symbol klickst.

Du willst aber den Pfad aus einer Datenbank auslesen, in einem Textfeld darstellen und dann draufklicken können...
Da das nicht eingebaut ist - musst Du es selbst programmieren.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: Objektvariable nicht belegt

Beitrag von komma4 »

MartinK hat geschrieben:ich habe eigentlich damit gerechnet, dass das nur so ein zwei zeilen im programm werden
Es sind im Prinizp nur die drei Zeilen, die Du oben gepostet hast.

Code: Alles auswählen

oFeld = ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "frmID" ).Text
PDFname = "P:\xyz\"+"ID"+oFeld+".pdf"
Shell("C:\Programme\Adobe\Reader 10.0\Reader\AcroRd32.exe", 2 , PDFname)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: Objektvariable nicht belegt

Beitrag von komma4 »

MartinK hat geschrieben: warum das nciht funktioniert und was ich machen muss, damit es funktioniert.
Das kann Dir keiner sagen, wenn Du nicht ein Beispieldokument zur Verfügung stellst (für Dateianhänge musst Du angemeldet sein).

Die ThisComponent-Zeile funktioniert bei mir, in einem Formular einer BASE-(interne HSQLDB) Datei - gestern abend extra für Dich getestet.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten