🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[Gelöst]Listenfeld oder Kombinationsfeld verknüpfen[/Gelöst]

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Cardinal
Beiträge: 9
Registriert: Mo 21. Nov 2011, 20:19

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von Cardinal » Di 22. Nov 2011, 15:44

Bist Du Dir sicher, dass die Markierung nicht in dieser Zeile ist?:
Ich bin mir sicher. Er kommt leider nicht so weit.

Hab den Auslöser auf Firma/nach Aktualiseren geändert... er hängt sich immer noch an besagter Stelle auf :)

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von gogo » Di 22. Nov 2011, 15:51

sry - mein Fehler!

Das Makro bitte dem Ereignis "Nach dem Aktualisieren" des Kontrollelements zuweisen nach dessen Änderung das Listfeld geändert werden soll. - also das in dem die Firma steht.

beim Formstart wird das makro ausgelöst ohne dass es das Formular schon gibt :x
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Cardinal
Beiträge: 9
Registriert: Mo 21. Nov 2011, 20:19

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von Cardinal » Di 22. Nov 2011, 15:55

sorry. Hatte das Makro noch im Formular drin. Habs jetzt nur noch beim Feld Firma. Jetzt kommt die Meldung nicht mehr. Aber es werden mir auch keine Projekte angezeigt. Dies ist jedoch schon ein Fortschritt... ich melde mich wenn ich genaueres weiss.

Danke nochmal. Und sorry fürs nerven.

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von gogo » Di 22. Nov 2011, 16:26

Das Prompt mit dem SQL-String kommt nicht? Dann wird das Makro nicht ausgeführt! Du kannst auch einen Button anlegen und beim Ereignis "Aktion ausführen" das Makro zuweisen - dann sollte bei klick auf den Button das Makro ablaufen.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Cardinal
Beiträge: 9
Registriert: Mo 21. Nov 2011, 20:19

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von Cardinal » Di 22. Nov 2011, 16:50

Richtig, das Makro wurde nicht ausgeführt. Jetzt hab ichs mal so eingestellt, dass es ausgeführt wird, wenn txtFirma den Fokus verliert. Wie oben schon geschrieben kommt immer noch der Laufzeitfehler bei:

oForm = ThisDatabaseDocument.FormDocuments.GetByName("Geometrie").component.drawpage.Forms.getByName("MainForm")

jedenfalls ist die Zeile markiert und der Pfeil steht davor.

Gruss Car

uhai
Beiträge: 15
Registriert: Do 10. Nov 2011, 19:06

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von uhai » Di 22. Nov 2011, 19:32

Danke gogo,

das habe ich jetzt verstanden :-)

uhai

uhai
Beiträge: 15
Registriert: Do 10. Nov 2011, 19:06

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von uhai » Mi 23. Nov 2011, 06:52

ok, so weit habe ich das verstanden. Basic muss ich üben, damit habe ich zu DOS-Zeiten das letzte mal gebastelt :-)

Könnte man das auch mit Python machen?

Wenn ich mehrere Listenfelder in einer hierarchischen Abhängigkeit habe, muss ich mehrere Variablen definieren. Immer eine weniger als Listenfelder vorhanden sind. Wie fange ich aber User-Eingaben ab, die sich nicht an der logischen Struktur entlang arbeiten sondern die Listenfelder "frei" nutzen?

uhai

Cardinal
Beiträge: 9
Registriert: Mo 21. Nov 2011, 20:19

Re: Listenfeld oder Kombinationsfeld verknüpfen

Beitrag von Cardinal » Mi 23. Nov 2011, 10:24

so... ich habs hingekriegt. Ist vielleicht ein riesen gebastel, mir aber eig. sch. egal, da es meine Zwecke erfüllt:

Code: Alles auswählen

 Sub Listenfeld_Aendern
'erzeugt oForm und fuellt diese Variable mit dem Objekt "MainForm"

'erzeugt oTextfeld und fuellt diese Variable mit dem Objekt "txtFirma"
sFirmenname = ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "txtFirma" ).Text

'erzeugt sFirmenname und fuellt diese Variable mit dem String der derzeit im Feld "txtFirma" steht.

dim ssql(0) as string


'erzeugt sSQL und fuellt diese Variable mit dem gewuenschten SQL-Statement
sSQL (0)	 = "SELECT DISTINCT ""Projekte"".""Projektname"" FROM ""Projekte"" ""Projekte"""_
     & " WHERE ""Projekte"".""Firma"" = '" & sFirmenname & "';"


print sSQL (0)

'sSQL ins Listenfeld 1 einfügen

dim oDoc as object
dim  oForm as object
dim oListboxModel as object


    oDoc = ThisComponent
    oForm = oDoc.DrawPage.Forms(0)
    oListboxModel = oForm.getByName("Listenfeld 1")

	oListboxModel.ListSource() = sSQL ()
    oListboxModel.refresh()

end sub
ich bedanke mich hier nochmals für die Hilfe und speziellen Dank geht an gogo, der mir ein Makro zur Verfügung gestellt hat.

Gruss Car


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten