Seite 1 von 2
GELÖST: Migrationshilfe Access -> LO Base!
Verfasst: Do 13. Jun 2013, 15:36
von ms-fu!
Hallo,
ich habe eine .mdb wo ich in einem Formular bestimmte Kenndaten eingeben konnte.
Diese wurden dann in einer Tabelle gespeichert und ausgedruckt. Eigentlich nicht sonderlich spektakulär.
Da wir nun kein Access mehr im Unternehmen haben wollte ich das Ganze mit Base bewerkstelligen.
Mein Plan war folgender:
- Eingabe der Daten in die Formularmaske
- Beim Knopfdruck werden die Daten gespeichert
- Danach wird eine Abfrage ausgeführt, welches anhand der Formulardaten die Werte aus der Tabelle filtern. Die Abfrage gibt somit dieselben Werte aus, die man soeben eingegeben hat.
- Das Abfrageergebnis ist dann Grundlage eines Berichts (Ausdruck)
Beim Dritten Punkt hapert es.

Bei Access konnte man in einer Query einfach ein Objekt/Element aus einerm Formular als Filterkriterium definieren.
Wie bekomme ich das hin? Ich habe hier im Forum schon eine Lösung gesehen wo man über eine Filtertabelle an einzelne Datensätze kommt. Aber es war ein reiner Filter ohne Eingabe neuer Daten.
Oder hat jemand eine bessere Idee? Gibt es eine bessere Lösung?
Re: Migrationshilfe Access -> LO Base!
Verfasst: Do 13. Jun 2013, 16:29
von pmoegenb
Da kann man Dir nur den
Gesamtband-Handbuch für Base empfehlen.
Re: Migrationshilfe Access -> LO Base!
Verfasst: Do 13. Jun 2013, 17:25
von ms-fu!
Danke, aber ich habe nicht die Zeit mich im Detail mi LO Base zu beschäftigen.
Außerdem habe ich Kapitel 4+5 bereits überflogen und ich hatte nicht den Eindruck, daß ich die Lösung meines Problems vor mir habe. Ich konnte nichts über Werteübergabe aus Formularen zu Abfragen finden.
Re: Migrationshilfe Access -> LO Base!
Verfasst: Do 13. Jun 2013, 21:07
von RobertG
Hallo ms-fu,
ein Formular kann nur an einer Position Daten speichern. Dies ist dann der Datensatz, auf den Du zugreifen willst. Für eine Abfrage müsstest Du den Primärschlüssel dieses Datensatzes am besten an anderer Stelle (z.B. eine Tabelle "Filter") noch einmal abspeichern. Dies geht so nur mit einem Makro.
Die Abfrage liest dann diesen Filterwert aus und ist die Grundlage für einen Bericht (Du willst ja drucken).
Auch den Bericht startest Du mit einem Makro. Das kannst Du dann ja direkt mit dem Button entsprechend kombinieren.
Um ein entsprechendes Makro zusammen zu stellen musst Du im Formularnavigator nachsehen, welche Bezeichnung Dein Formular, ggf. auch Dein Subformular sowie das Feld mit dem Primärschlüssel haben. Dann kannst Du den Wert des Feldes auslesen und weiter in einer anderen Tabelle abspeichern, damit genau dieser Wert der ist, den Du für die Abfrage nutzt.
Vielleicht stellst Du einfach einmal keinen Screenshot, sondern eine entsprechende DB (ohne wichtige Daten) hier ins Netz. Geht nur als gepackte Datei, da *.odb nicht zugelassen ist.
Gruß
Robert
Re: Migrationshilfe Access -> LO Base!
Verfasst: Do 13. Jun 2013, 22:13
von ms-fu!
Herzlichen Dank, Robert, das ist doch mal eine Ansage!
Dann weiß ich jetzt in welche Richtung es geht. Muß ich mich doch noch mit Makros rumplagen.
Mehr dazu (Beispiel-DB) morgen, wenn ich wieder im Geschäft bin.
Gruß
Michael
Re: Migrationshilfe Access -> LO Base!
Verfasst: Fr 14. Jun 2013, 08:01
von ms-fu!
Hier nun die Datei..
Das Wesentliche steht eigentlich schon im ersten Beitrag.
Aber nochmals zum Verdeutlichen:
- Die eingegebenen Werte im Formular sollen in der Tabelle "Spooldatei" gespeichert werden
- Gleichzeitig muß nun die ID in der Tabelle "Filter" hinterlegt werden
- Mit Hilfe der Tabelle "Filter" wird in der Abfrage "Werkstoff_Abfrage" ein Einzelwert gefiltert
- "Werkstoff_Abfrage" ist die Grundlage für "Werkstoff_Bericht" (Ausdruck)
Re: Migrationshilfe Access -> LO Base!
Verfasst: Fr 14. Jun 2013, 16:24
von RobertG
Hallo ms-fu!,
ich habe das einmal passen gemacht. Mit Deiner Filter-Datei hättest Du nichts eingeben können, weil der Primärschlüssel gefehlt hat. Dann habe ich die Abfrage angepasst, das Makro eingebaut - jetzt läuft es wohl so, wie Du es haben willst.
Gruß
Robert
Re: Migrationshilfe Access -> LO Base!
Verfasst: Fr 14. Jun 2013, 16:36
von ms-fu!
Vielen Dank, Robert! Das ging ja sehr fix.
Werde das Ganze gleich am Montag testen, sobald ich wieder auf Arbeit bin.
Habe mir in der Zwischenzeit (mal wieder) mit der API beschäftigt, aber ich werde damit einfach "nicht warm".
Re: Migrationshilfe Access -> LO Base!
Verfasst: Mo 17. Jun 2013, 14:49
von ms-fu!
Hallo Robert,
deine Lösung funktioniert einwandfrei! Vielen Dank nochmals!!
Das hat mir nun auch im Weiteren den Einstieg in LO Basic erleichtert (Gerade kämpfe ich mit GridControl..).
Das Ganze ist ein ziemlicher Graus, vor allem da ich es nicht schaffe die Eigenschaften im Debugger nachzuvollziehen, denn früher (Access) konnte man vieles aus den Informationen des Debuggers ableiten. Hier sollte meiner Meinung nach noch einiges verbessert werden. Sei's drum. Die Grundfunktion geht und das ist nun erstmal das Wichtigste für mich.
Schönen Tag noch.
Re: GELÖST: Migrationshilfe Access -> LO Base!
Verfasst: Mo 17. Jun 2013, 15:39
von RobertG
Hallo ms-fu,
kleiner Hinweis zum GridControl:
Zum Formular kommst Du mit
oForm = oDrawpage.Forms.getByName("MainForm")
Zum Feld kommst Du mit
oFeld = oForm.getByName("GridControl")
Die Spalten sind nicht mit Namen erreichbar. Hier geht es dann weiter mit
oSpalte1 = oFeld.getByIndex(1)
Die entsprechenden Eigenschaften lesen viele Leute mit xray aus. Ich weiß allerdings nicht, wo das zur Zeit zu erhalten ist, habe es selbst auch nicht weiter genutzt. Ich arbeite da mit einem Betrachter aus dem Makro-Buch von Thomas Krumbein ...
Gruß
Robert