Seite 1 von 1

[Gelöst] Tabelle aus formular per makro kopieren

Verfasst: So 7. Aug 2016, 17:31
von ehtron
Hi :)
ich habe auch dank freundlicher helfer hier,
ein suchformular in base aufgebaut, in der eine ergebnis tabelle dargestellt wird :)
manuell kann ich per alles selektieren (links oben in der tabelle) und kopieren, den inhalt in eine calc tabelle einfügen (inhalte einfügen)
das habe ich in calc auch wunderbar mit dem makro recorder erledigt.
nur..
der funktioniert nicht im formular.
nun suche ich nach einer möglichkeit die manuelle markierung und kopierung der tabellen daten zu automatisieren.

über hilfe würde ich mich freuen
lg. ehtron :)

Re: Tabelle aus formular per makro kopieren

Verfasst: So 7. Aug 2016, 21:19
von F3K Total
Moin,
was für einen Mist willst Du da verzapfen?
Die Ausgabe der Daten einer DB läuft üblicherweise über einen Bericht.
Es ist auch möglich die gefilterten Daten direkt mit Calc zu verknüpfen.
Siehe zu Version Calc-Verknüpfen, z.B. die Video-Tutorials in meiner Signatur, oder das BASE-Handbuch, unten auf der Seite.
R
PS: Ist deine Umschalttaste kaputt?

Re: Tabelle aus formular per makro kopieren

Verfasst: So 7. Aug 2016, 21:54
von RobertG
Hallo ehtron,

auch wenn der Sinn nicht verständlich ist: Ich habe das einmal umgesetzt, weil ich etwas Zeit entbehren konnte. Du musst nur Das Päckchen komplett in ein Verzeichnis entpacken. Der gefilterte Teil wird mit Betätigung des Buttons in das (vorher geschlossene) Calc-Dokument übertragen.

Gruß

Robert

Re: Tabelle aus formular per makro kopieren

Verfasst: Mo 8. Aug 2016, 11:32
von ehtron
Hi :)
vielen dank ihr beiden :)
@RobertG
deine version bringt hier nicht die genauen daten aus dem Formular Filter

Code: Alles auswählen

28245	0	4062	0	2016
28246	0	3494	0	2016
28247	0	3088	0	2016
28248	0	3977	0	2016
28249	0	2037	0	2016
und, da ich bereits vorher erstellte vorlage, mit z.b. summenbildung usw, erstellt habe, wird die überschrieben.

@F3K Total.
ich habe mir dein video mit der direkten datenquelle angesehen.. sehr schön :)
nur bekomme ich wenn ich die abfrage aus dem beispiel von RobertG einbinde, eine erneute von-bis abfrage, und nicht die direkte ausgabe der direkten filterung.
hast du dazu evtl. eine idee?

ich bräuchte also einen weg, die gefilterte tabelle in eine calc vorlage einzufügen.
oder mache ich jetzt einen denkfehler?
Danke für eure hilfe.
lg. ehtron :)

Re: Tabelle aus formular per makro kopieren

Verfasst: Mo 8. Aug 2016, 16:24
von ehtron
Hi :)
hat keiner ne idee, wie ich den inhalt einter tabelle im formular, per makro in die zwischenablage bekomme?

lg. ehtron :)

Re: Tabelle aus formular per makro kopieren

Verfasst: Mo 8. Aug 2016, 17:34
von RobertG
Hallo ehtron,

in dem Makro stehen Einträge für die Position innerhalb des Tabellenblattes und für die Art des zu importierenden Wertes.

Code: Alles auswählen

oSheet.getCellByPosition(k-1,i).setString(oForm.getString(k))
würde alle Werte als String in die Tabelle eintragen. Wenn Du damit nicht mehr rechnen willst, dann ist das in Ordnung. Ansonsten musst Du differenzieren, das Makro direkt auf die bezogenen Spalten schreiben. Du hast vom Prinzip her nur die Wahl zwischen "getValue" und "getString" beim Export.
getCellByPosition(k-1,i) setzt hier die Position, an der das Element eingetragen wird. Das erste ist die Spalte, das zweite ist die Zeile. Wenn also die erste Zeile z.B. bereits vorbelegt ist, dann startet i nicht mit '0' sondern mit '1'.

Was willst Du denn jetzt mit dem Inhalt in der Zwischenablage?

Wenn ich das jetzt richtig sehe, möchtest Du mit den in Base gefilterten Daten anschließend in Calc rechnen? Geht das nicht direkt in Base?

Gruß

Robert

Re: Tabelle aus formular per makro kopieren

Verfasst: Mo 8. Aug 2016, 17:56
von ehtron
Hi :)
dein beispiel ist schön und gut :)
nur habe ich bereits eine fast fertige calc vorlage mit diversen summen und wenn beziehungen.
auch die nachbearbeitung (tabellen nach bearbeitung ausblenden) usw. erledige ich dort mit einem makro.

wenn ich nun deinen vorschlag nehme, bekomme ich die daten ja nicht in meine vorlage ohne sie unbrauchbar zu machen, da das das dockument ja
neu erstellt wird.

mit copy past funktioniert das alles sehr gut.. copy von hand aus dem formular, kein problem.
paste kann ich prima in calc per makro steuern.

nur ich bekomme die daten aus der tabelle im formular nicht per makro, also per knopfdruck in die zwischenablage,
um sie dann, wie beschrieben in calc einzufügen.
habe schon ellenlang gesucht, aber nichts brauchbares gefunden.
die daten liegen ja richtig gefiltert in der formular-tabelle vor.

sollte es wirklich unmöglich sein, die daten per makro in die zwischenablage zu schieben?

edit:
ich habe deinen bemerkung bezüglich der start-zelle beim ersten lesen nicht verinnerlicht...
damit könnte ich was werden :)
muss nur noch die richtigen daten rausfischen, da momentan ja die daten nicht stimmen in deinem beispiel.

lg. ehtron :)

Re: Tabelle aus formular per makro kopieren

Verfasst: Mo 8. Aug 2016, 18:50
von ehtron
Hi :)
mensch robert. das isses :)
musste noch neue schleifen einbauen mit setValue, weil es sowohl Numerische als auch $ daten waren :)

superklasse.
ich danke dir sehr.

ich bastele mal weiter, und wenn ich weitere fragen habe, melde ich mich
lg. ehtron :)

Re: Tabelle aus formular per makro kopieren

Verfasst: Mo 8. Aug 2016, 21:53
von RobertG
Hallo ehtron,

dass es nicht so ohne weiteres möglich ist, in einem Tabellenkontrollfeld alle Datensätze zu markieren und zu kopieren, sollte eigentlich nicht sein. Ich habe das bei der Beispieldatenbank dann auch einmal versucht und schnell sein gelassen. Die Markierung ging, Strg+C klappte nur für den ersten Wert des aktiven Datensatzes - zumindest bei mir unter LibreOffice 5.1.5.2.

Du hättest natürlich die Abfrage direkt nehmen können, aber da musst Du dann immer erst wieder die beiden Datumswerte als Parameter eingeben, weil unter dBase der Zugriff auf die FILTER-Tabelle nicht möglich ist.

Gruß

Robert

Re: Tabelle aus formular per makro kopieren

Verfasst: Di 9. Aug 2016, 15:54
von ehtron
Hi :)
nochmal herzlichen dank für deine hilfe..
nach einer anpassung deines makros, funkt alles wie gewünscht.

lg. ehtron