Verbesserungsideen

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

Moderator: Moderatoren

nusta88
***
Beiträge: 78
Registriert: Di, 26.06.2007 13:30

Verbesserungsideen

Beitrag von nusta88 »

hallo,

ich schreibe für ein base dokument makros, allerdings habe ich da probleme mit der Aktualiserung. Dieser Code dafür ist glaub ich doch nicht so nützlich:

Code: Alles auswählen

oDVerb.gettables().refresh()
hätte jemand Verbesserungsvorschläge. Danke im Voraus.
Stancer
***
Beiträge: 67
Registriert: Do, 21.06.2007 14:05

Re: Verbesserungsideen

Beitrag von Stancer »

Hallo nusta88.
Dieser Code

Code: Alles auswählen

Sub Relaod
Dim Book%, oForm as Object
      oForm = ThisComponent.DrawPage.Forms(0)
      oForm.reload
     
End Sub
aktualisiert das gesamte Dokument.
Hoffe das hilft dir.
mfg Stancer
OpenOffice portable 2.1, Win XP
nusta88
***
Beiträge: 78
Registriert: Di, 26.06.2007 13:30

Re: Verbesserungsideen

Beitrag von nusta88 »

jo danke, aber richtig funktionieren tut das auch nicht, weil das ja nicht auf den base dokument zugreift.
Stancer
***
Beiträge: 67
Registriert: Do, 21.06.2007 14:05

Re: Verbesserungsideen

Beitrag von Stancer »

Ich habe das Makro bei mir an einen Button gebunden und fuktioniert einwandfrei.
Wenn es nicht läuft musst du warscheinlich noch einen Datenbankkontext und ein Statement erzeugen.
OpenOffice portable 2.1, Win XP
nusta88
***
Beiträge: 78
Registriert: Di, 26.06.2007 13:30

Re: Verbesserungsideen

Beitrag von nusta88 »

also ich hab das auch einem button zugewiesen aber funktioniert hat es immer noch nicht. also es passiert nichts es ist immer noch wie vorher
Stancer
***
Beiträge: 67
Registriert: Do, 21.06.2007 14:05

Re: Verbesserungsideen

Beitrag von Stancer »

Probier mal das:

Code: Alles auswählen

Sub Relaod
Dim oDoc  As Object
Dim oForm as Object
 oDoc = ThisComponent    
  oForm = ThisComponent.DrawPage.Forms(0)
      oForm.reload
     
End Sub
damit sollte das MAkro auf das aktuelle Dokument zugreifen und diese aktualisieren.
Ich arbeite noch nicht so lange mit Makros, wenns also nicht klappt kann ich dir höchstwarscheinlich leider auch nicht mehr weiter helfen.

mfg Stancer
OpenOffice portable 2.1, Win XP
nusta88
***
Beiträge: 78
Registriert: Di, 26.06.2007 13:30

Re: Verbesserungsideen

Beitrag von nusta88 »

Stancer hat geschrieben:b Relaod
Dim oDoc As Object
Dim oForm as Object
oDoc = ThisComponent
oForm = ThisComponent.DrawPage.Forms(0)
oForm.reload

End Sub
Sei mir nicht böse aber man merkt bisschen das du ein Anfänger bist. ich bin auch eins. Von daher sollte man lieber spaß haben neues zu lernen. also du hast zwar odoc gemacht aber diese benutzt du dann später gar nicht mehr im quellcode. das heißt dieser code ist wie der von vorher. meine aktualiesierung also RELOAD oder REFRESH sollten beide für base sein. dein code würde aber mit calc höchstwahrscheinlich funktionieren. ich brauche so ein code für base
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Verbesserungsideen

Beitrag von komma4 »

DRAWPAGES sind nicht für BASE.
Was möchtest Du denn aktualisieren?

ACHTUNG, zum Mitschreiben:

Base ist ein Daten-Frontend.
Ein "Base-Dokument" ist ein Container für Tabellen, Formulare, Abfragen einer Datenquellen-Verbindung.
Das Ändern an einem Base-Dokument hat erstmal nichts mit den hinterlegten Daten zu tun.
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)
nusta88
***
Beiträge: 78
Registriert: Di, 26.06.2007 13:30

Re: Verbesserungsideen

Beitrag von nusta88 »

also was ich aktualisieren will ist dies. ich erstelle per makro tabellen. allerdings werden diese nicht sofort angezeigt. ich muss erst per mausklick auf tabellen aktualisieren drücken. zwar hat andrew über diese aktualisierung was geschrieben aber iwie bekomme ich das bei mir nicht hin.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Verbesserungsideen

Beitrag von komma4 »

Andrew schreibt:

a) das die Anweisung hierzu ziemlich einfach sei

Code: Alles auswählen

oCon.getTables().refresh()
also, über die aufgebaute Verbindung (databasecontext>datasource>connection) geht, und
b) dass es bei seinen Versuchen nicht immer funktioniert.

Kann also durchaus sein, dass Du in einen Bug läufst.
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)
nusta88
***
Beiträge: 78
Registriert: Di, 26.06.2007 13:30

Re: Verbesserungsideen

Beitrag von nusta88 »

ohh naja trotzdem danke hier bekommt man echt schnelle antworten
Antworten