Übersicht über alle Datensätze?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

Hallo openoffice.info-Forum,

ich versuche mich gerade daran mir ein wenig den Umgang mit Base beizubringen. Habe die letzten zwei Tage auch schon viel gelesen (unter anderem natürlich hier :) ) Aber nun bin ich an einem Punkt angelangt an dem ich mich scheinbar im Kreis drehe. Vorweg - Suchfunktion bis zum erbrechen genutzt aber irgendwie nie mein Problem gefunden, daher hoffe ich das es völlig simpel und nur meinem kranken Geist entsprungen ist :lol:

So nun zum Sachverhalt:

Ich habe ein Formular zur Eingabe von Preisen und Umsätzen erstellt. Diese eingegebenen Zahlen werden in seperaten Tabellen hinterlegt so das es zu einem Gegenstand mehrere Preise und Umsätze gibt. Soweit funktioniert das auch sehr schön. Da ich nicht möchte das man im selben Formular auch die Tabelle der Gegenstände bearbeiten kann habe ich eine Schaltfläche erstellt die ein zweites Formular aufruft. Die soll quasi die Eingabe-Maske für die Gegenstände sein. In diesem Formular hätte ich gerne oben ein paar Felder um einen Datensatz zu bearbeiten und darunter eine ( schreibgeschützte ) Tabelle oder ähnlich praktisches das alle Datensätze anzeigt und auch größere Schritte erlaubt.

Mein erster Gedanke war eines dieser Tabellen-Kontrollfelder zu benutzen jedoch kriege ich es absolut nicht hin mir mehr als einen Datensatz in der Tabelle anzeigen zu lassen. Es ist also eine einzeilige Tabelle in der ich wiederum die einzelnen Datensätze durchschalten kann :(

Das macht ja absolut keinen Sinn und geht auch bestimmt anders - aber ich raffe es nicht! Bitte macht mich schlau!

mfG CaptainCannabis
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Übersicht über alle Datensätze?

Beitrag von turtle47 »

Hallo CaptainCannabis,

verwende doch ein TableGrid, welches Du in den Formular-Steuerelementen > Schaltfläche "zusätzliche Steuerlemente" findest. Wenn der Assistent , den kann man auch bei den Formular-Steuerelementen zuschalten, eingeschaltet ist, wird auch abgefragt welche Inhalte da rein sollen. Ansonsten musst Du das nachher "zu Fuss" machen.

(Ich hoffe die Namen stimmen alle so, da ich derzeit auf einem Rechner antworte, welcher kein OOo 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
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

Also das Table Grid ist auf deutsch das Tabellen-Kontrollfeld jedoch hat mich dein Beitrag trotzdem nen großen Schritt weitergebracht. Ich habe einfach noch ein zweites Grid erstellt und dieses funktioniert genau so wie gedacht. Mein erstes ist in einem Sub–Formular, das zweite ist nun einfach unter Main eingeordnet und zeigt mir alle Datensätze. Liegt es also irgendwie an den Settings des Unterformulars? "Sieht" dieses lediglich den aktuellen Datensatz und nicht die gesamte Quelle? Kann man das ändern?

Schonmal Danke für die superschnelle Antwort. Kompetentes Forum :D

der Captain


EDIT: Grad deine Signatur gelesen - es gibt nen SP3 :mrgreen:
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Übersicht über alle Datensätze?

Beitrag von turtle47 »

Hi Captain,

jetzt auch mal so aus dem Kopf.

Entwurfmodus ist eingeschaltet.
TableGrid im Subformular ist markiert.
In der Leiste Formular-Steuerelmente das Symbol "Formular" anklicken.
Dort die Datenquelle und die Tabelle angeben.

Ich glaube das wars. Sonst mal sehen was es noch so einzustellen gibt oder nochmal fragen.


SP 3 ist drauf. Sig nicht geändert.
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
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

Ja also die Datenquelle ist eigentlich gleich eingestellt. Ich hab mal nen paar Bildchen gemacht:

So sieht das Resultat aus:

http://www.qpic.ws/images/kL116077.jpg


und hier die Einstellungen:

Main Formular:

Bild


und das Sub-Formular:

Bild
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Übersicht über alle Datensätze?

Beitrag von turtle47 »

Sorry wenn ich Dich auf eine falsche Fährte gelockt habe.
Mein jetziger Versuch in ein bestehendes Formular ein TableGrid mit dem Inhalt einer anderen Tabelle zu füllen ist kläglich gescheitert.

Aber eigentlich ist das Verhalten von Base schon logisch. Denn wenn man über die Navigationsleiste einen anderen Datensatz anwählen würde, woher weis Base dann welcher Tabelleninhalt navigiert werden soll. :(

Vielleicht hat ja noch jemand anders eine Lösung.
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: Übersicht über alle Datensätze?

Beitrag von turtle47 »

Oder meinst Du das so?
Neue DB.odb
(10.51 KiB) 44-mal heruntergeladen
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
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

Ja macht ja nix.

Wenn ich die Tabelle ins Main-Formular packe geht es ja. Dann kommt aber ganz schnell das Problem das man auch in der Tabelle rumtippen kann sobald man dies über die Formular Eigenschaften erlaubt. Das genau will ich jedoch nicht - die Liste soll lediglich einen Überblick verschaffen!

Im Moment sehe ich nur die Möglichkeiten:

1) Table Grid (weiterhin im Main Formular) über Aktivität ausschalten --> sieht nicht gut aus da ausgegraut :(

2) Table Grid (weiterhin im Main Formular) + Settings des Main Formulars verbieten Bearbeitung + Datensätze durchschalten und hinzufügen per Schaltflächen mit jeweiligen Aktionen = Klingt gut - ich scheitere jedoch an der Schaltfläche mit der Aktion "Neuer Datensatz". Die zum durchschalten funktionieren.

3) Arbeiten mit Sub-Formularen - aber das scheitert irgendwie an den Beziehungen zwischen diesen wie ja oben beschrieben.

Irgendeine dieser Möglichkeiten muss doch hinzubekommen sein oder bin ich total auf dem Holzpfad?


EDIT:
Oder meinst Du das so?

Neue DB.odb
ja meins ist ähnlich Bild
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Übersicht über alle Datensätze?

Beitrag von eBayer »

Du kannst doch im Grid bei jeder Spalte das Attribut "Editierbar=Nein" setzen. Dann ist das Grid weiterhin nicht eingegraut, Du kannst darin manövrieren, aber nicht editieren. Vielleicht denke ich zu einfach - aber falls es das ist was Du willst, brauchst Du im Grid nur den jeweiligen Spaltenkopf mit der rechten Maustaste anklicken und dann die entsprechende Auswahl treffen.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

Leck mich fett - ich habs gerade in nem Unterformular hingekriegt. Der Unterschied ist glaube ich einzig und allein das ich dieses Grid manuell eingefügt habe und das alte (welches nur enien Datensatz zeigte) noch vom Assistenten erstellt wurde.

Mein Fazit: Hängt den Assistenten! Wers zu Fus macht raffts eh besser :D


Ich melde mich bestimmt in 10 Minuten mit dem nächsten Problem :lol:


CaptainCannabis
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Übersicht über alle Datensätze?

Beitrag von turtle47 »

CaptainCannabis hat geschrieben:einzig und allein das ich dieses Grid manuell eingefügt habe
genau so habe ich das auch immer gemacht.
eBayer hat geschrieben:Du kannst doch im Grid bei jeder Spalte das Attribut "Editierbar=Nein" setzen. Dann ist das Grid weiterhin nicht eingegraut, Du kannst darin manövrieren, aber nicht editieren.

Aber Datensätze hinzufügen geht noch, was ja auch so sein soll.
CaptainCannabis hat geschrieben:Wers zu Fus macht raffts eh besser
Genau so ist es.
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
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

So Zeit für ne neue Frage:

Habe mal den Tipp mit dem Umstellen der Spalten auf "Nur lesen" befolgt da die Variante mit dem Grid im Sub-Formular den Nachteil hat, dass die grüne Markierung am Zeilenrand beim Durchschalten der Datensätze nicht mitläuft :(

Jetzt nennt mich einen Miesmacher aber bei der jetzigen Variante mit dem nur lesen stört mich noch das man bei wirrer rumklickerei aus Versehen die Zeilenhöhe verändern kann. Kann man dies sperren? In den Grid Settings finde ich nichts in der Art aber irgendwie kann man doch sicher auch ein ganzes Formular so einrichten das man die Buttons unten nicht mehr hat. Das Navigieren innerhalb der Datensätze geht ja auch mittels Schaltflächen?!

EDIT: Das mit der Navigationsleiste hab ich hinbekommen. Geht jetzt nur noch über Schaltflächen. Stören tut leider immer noch die Möglichkeit die Zeilenhöhe zu verändern.

EDIT 2: Ein weiteres Thema was mich brennend interessiert ist die Sache mit den Schaltflächen zur Navigation. Bisher habe ich 3 eingerichtet - "letzter Datensatz", "vorheriger Datensatz" und "neuer Datensatz". Die Beiden ersten funktionieren wunderbar. Was mich jedoch wundert ist das der Button für einen neuen Satz ja irgendwie sinnfrei ist in meiner Konstruktion da durch die ID als "AutoWert" immer schon eine letzte leere Zeile besteht die ich mittels "Nächster Datensatz" anwählen kann. Am liebsten wäre mir ein deppensicherer Ablauf a la "Nächster" klicken, Ausfüllen der Felder, "Speichern/bzw. Datensatz anlegen" klicken und wieder von vorne. Gibt es hierfür evtl. Beispiele die ich mir anschauen könnte?
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Übersicht über alle Datensätze?

Beitrag von turtle47 »

CaptainCannabis hat geschrieben:den Nachteil hat, dass die grüne Markierung am Zeilenrand beim Durchschalten der Datensätze nicht mitläuft
Kann ich nicht bestätigen.
CaptainCannabis hat geschrieben:Kann man dies sperren?
Nein, aber einem Ereignis diese Makro zuweisen, dann setzt sich die Zeilenhöhe autoamatisch zurück.

Code: Alles auswählen

Sub Change_RowHeight
	oDoc = thisComponent
	oForm = oDoc.drawpage.forms.getbyindex(0)
	Grid_Ctl = oForm.getByName("TableControl")
	Grid_Ctl.RowHeight = 40
End Sub
CaptainCannabis hat geschrieben:aber irgendwie kann man doch sicher auch ein ganzes Formular so einrichten das man die Buttons unten nicht mehr hat.
Ja, Menue > Ansicht > Symbolleisten > Formular-Navigation abwählen
Ok, hat sich ja erledigt.
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
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

CaptainCannabis hat geschrieben:den Nachteil hat, dass die grüne Markierung am Zeilenrand beim Durchschalten der Datensätze nicht mitläuft

Kann ich nicht bestätigen.
Bei mir wills nicht - links im Main, rechts im Sub-Formular

Bild

EDIT:

Rechts gefällt mir eigentlich besser da die auto wert Zeile nicht angezeigt wird!

EDIT 2: Habs selber hinbekommen. mit SQL Krams - IS NOT NULL Ich Fuchs :lol:
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
CaptainCannabis
**
Beiträge: 37
Registriert: Mo, 30.03.2009 13:17

Re: Übersicht über alle Datensätze?

Beitrag von CaptainCannabis »

So nun wo das gekärt wäre stellt sich mir die Frage ob ich dem Vorwärts Button eine Bedingung verpassen kann dämit er am letzten ausgefüllten Bezeichnungsfeld stoppt und man dann erst den "neuer Datensatz Button" klicken muss. Verständlich ausgedrückt?

Braucht man wahrscheinlich wieder nen Makro oder? Gibts da nen gutes Tutorial?
Sub Change_RowHeight
oDoc = thisComponent
oForm = oDoc.drawpage.forms.getbyindex(0)
Grid_Ctl = oForm.getByName("TableControl")
Grid_Ctl.RowHeight = 40
End Sub
Inwieweit muss ich das denn noch anpassen? Ich schnall die Befehle net. :shock:
WIN XP 32BIT SP3 / WIN 7 64 BIT mit OO V3.1.1
AMD Athlon X2 5000+
Geforce 8800 GT 1024MB
2GB RAM + 1TB Platte
Antworten