(gelöst) Text per Makro in Textfeld schreiben!?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Snoopy
**
Beiträge: 31
Registriert: Mi, 03.06.2009 14:41

(gelöst) Text per Makro in Textfeld schreiben!?

Beitrag von Snoopy »

Hi Leutz,

die Datenbank funktioniert dank der Beiträge und Hilfe der User hier im Forum schon recht passabel, ein kleiner Schönheitsfehler ist noch im System.

Und irgendwie sehe ich den Wald vor lauter Bäumen nicht.

Was soll die Datenbank können?:

* Musiknoten verwalten die als Grafik vorhanden sind

* Ein Feld für die Datei (Pfad & Name)
* Ein Feld für eine Bemerkung um was es sich bei der Datei handelt
* Eine Möglichkeit eine neue Datei einfach einzupflegen

Das alles funktioniert mit einem kleinen Schönheitsfehler, wenn eine neue Datei über die Dateiauswahl eingefügt wird erscheint diese auch im Textfeld, aber die Datenbank merkt es nicht. Soll bedeuten wenn man nun einen Datensatz zurück geht ist die Eingabe futsch, Abhilfe schaft wenn man im Textfeld einfach einen Buchstaben der Datei entfernt und wieder eingibt.

So Sieht das Formular aus:
Base_DateiInfo.jpg
Base_DateiInfo.jpg (48.47 KiB) 1788 mal betrachtet
Und so die Makros:

Code: Alles auswählen

Sub OpenFile

dim sText as string
dim sURL as string

	REM --- Text mit der Funktion GetText() aus dem Textfeld holen
	sText = GetText( "txtDatei" )

	REM --- Pfad & Datei als URL (immer diese Leerzeichen)
	sURL = ConvertToURL(sText)

	REM --- Datei mit dem Konqueror öffnen
	Shell "konqueror " & sURL

End Sub

Sub OpenAuswahl

dim sAuswahl as string

	REM --- Text mit der Funktion GetText() aus dem Textfeld lesen
	sAuswahl = GetText( "FileSelection" )

	REM --- Text mit der Funktion PutText() in das Textfeld schreiben
	PutText( "txtDatei", sAuswahl )

End Sub

Function GetText(Textfeld)

dim oDoc as Object
dim oForm as Object
dim oFeld as Object

	oDoc = ThisComponent
	oForm = oDoc.drawpage.forms(0)
	oFeld = oForm.getByName( Textfeld )
	GetText = oFeld.Text

End Function 

Function PutText(Textfeld, Auswahl)

dim oDoc as Object
dim oForm as Object
dim oFeld as Object

	oDoc = ThisComponent
	oForm = oDoc.drawpage.forms(0)
	oFeld = oForm.getByName( Textfeld )
	oFeld.Text = Auswahl

End Function
Hat Jemand eine Idee was ich vergessen oder übersehen habe?
Dateianhänge
Dateien öffnen.odb
(13.17 KiB) 69-mal heruntergeladen
Zuletzt geändert von Snoopy am Do, 04.06.2009 22:16, insgesamt 1-mal geändert.
Gruß, Hermann
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Text per Makro in Textfeld schreiben!?

Beitrag von keksi1970 »

Hi,

*Lötzinn* sry

LG
Andreas

Ich hab mir die DB mal angeschaut, da aber 3.01 noch keine Makros kann und ich 3.1 für verbugged halte, lade ich sie mir nicht runter :D

lg
Andreas
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Text per Makro in Textfeld schreiben!?

Beitrag von turtle47 »

Hallo,

schau Dir mal in der Beispieldatei von eBayer an wie er das perfekt gelöst hat.

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Text per Makro in Textfeld schreiben!?

Beitrag von turtle47 »

Hallo Andreas,
keksi1970 hat geschrieben:da aber 3.01 noch keine Makros kann
Wie kommst Du den da drauf? Ich arbeite immer noch mit der 3.0.1 und es funktioniert prächtig.

Folgende DB habe ich heute mit dieser Version erstellt.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Snoopy
**
Beiträge: 31
Registriert: Mi, 03.06.2009 14:41

Re: Text per Makro in Textfeld schreiben!?

Beitrag von Snoopy »

turtle47 hat geschrieben:...schau Dir mal in der Beispieldatei von eBayer an wie er das perfekt gelöst hat...
Hi Jürgen,

genau das ist es gewesen, nun funktioniert die Datenbank perfekt :D !

Ein großes DANKE an turtle47 & eBayer!

Habe die Funktion "setTextField(oDoc, FeldName, Inhalt)" in mein Makro übernommen und den Aufruf in meiner Procedure eingebunden, klappt einfach nur gut.
Gruß, Hermann
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: (gelöst) Text per Makro in Textfeld schreiben!?

Beitrag von keksi1970 »

Jürgen,

hab mich falsch ausgedrückt.

meinte nur : da ICH in 3.01 nicht mit Makros arbeiten "darf", da die DB auch unter 2.31 und 2.4 laufen muß, ich also der einfachheit halber die Makros und Formulare ausgelagert habe in Calc-/writer Dokumente . . folglich habe ich die Makro-Möglichkeiten unter 3.01 einfach noch nicht für erachtenswert betrachtet (oder so) ;)

und der Lötzinn bezog sich auf den Text, den ich in meiner Unwissenheit vorher gepostet habe :D (war halt nur ein Edit)

Lg
Andreas :D
Antworten