[GELÖST] How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [GELÖST] How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » Sa, 01.08.2020 22:44

Hallo Robert,

vielen vielen Dank!! Auf die Lösung wär ich wahrscheinlich im Leben nicht gekommen...

Hab die zusätzliche Abfrage & Dein bearbeitetes Formular rüberkopiert und es funktioniert :-) Alles bestens :-)

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von RobertG » Sa, 01.08.2020 15:18

Ich habe eine Abfrage hinzugefügt und das Formular auf die Abfrage bezogen. Jetzt klappt es mit der Preisanzeige.
Dateianhänge
Produkte_Lieferanten - Kopie f. Forum.odb
(41.07 KiB) 154-mal heruntergeladen

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » Sa, 01.08.2020 13:53

Hallo,

also, das Hauptformular basiert auf der Tabelle "Produkte", in diesem Formular gebe ich Produktname, Kategorie, Lieferant, Preis, Menge, etc. ein.

Eine Abfrage ("Abfrage_Produke") habe ich erstellt, in der Infos von Produkten mit Infos von den Lieferanten kombiniert werden. Ausserdem habe ich in dieser Abfrage ein Feld "Preis pro 100g", in dem der Preis durch die Menge geteilt wird.

Füge ich nun ein Feld im Hauptformular ein, dann kann ich im entsprechenden Kontrollfeld unter Daten nur die Felder aus der Produkte-Tabelle auswählen.
Okay, in einem Listenfeld kann ich einen SQL-Befehl ausführen. Das hat aber auch nicht hingehauen.

Also hab ich ein Unterformular erstellt, welches sich auf die Produkte-Abfrage bezieht. Und dort ein Feld eingefügt, welches mir nun den Inhalt vom Feld "Preis/100g" in der Produkte-Abfrage anzeigen soll. Klappt auch nicht.

Dieses "Preis/100g"-Feld im Formular muss sich nicht unbedingt während der Eingabe von Preis & Menge automatisch aktualisieren- auch wenn das natürlich super komfortabel wäre. Es wäre ausreichend, wenn sich das per Button oder per Datensatz speichern, o.ä. aktualisieren würde.
Es sind schon Datensätze mit Preis & Menge gespeichert, in der Abfrage wird entsprechend der "Preis/100g" korrekt angezeigt. Nur halt nicht im Formular.

Ich lade gleich mal die (verkleinerte, anonymisierte) Datenbank hoch zum Angucken.

Datensätze weg beim Aktualisieren: Ich hatte einen Button im Formular hinzugefügt, der das Formular aktualisiert, um den "Preis/100g"-Inhalt anzeigen zu lassen. So hatte ich das in diversen Tutorials verstanden. Als ich auf diesen Button geklickt habe, wurde mir am unteren Formularrand, wo die Anzahl der Datensätze angezeigt wird, nur noch die halbe Anzahl angezeigt. Auch konnte ich auf die fehlenden Datensätze im Formular nicht mehr zugreifen. Ich war erschrocken und schaute mir sowohl die entsprechende Tabelle als auch die entsprechende Abfrage an: Auch dort wurde mir nur noch die Hälfte der Datensätze angezeigt. Ich hatte die Bearbeitung im Formular zum Glück nicht gespeichert und konnte somit diese Bearbeitung wieder rückgängig machen >>Alle Datensätze waren wieder vorhanden. Was genau passiert ist & warum, weiß ich nicht.
Dateianhänge
Produkte_Lieferanten - Kopie f. Forum.odb
(40.22 KiB) 140-mal heruntergeladen

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von RobertG » Sa, 01.08.2020 08:09

Du kannst jede Abfrage als Grundlage für ein Formular machen. Die Ansicht auf irgendwelche Berechnungen hast Du bei Abfragen aber nur für Datensätze, die bereits existieren. Warum Du die Berechnung in ein Unterformular packst ist mir unklar.

Wenn Du Die Ansicht auf Berechnungen während der Eingabe haben willst, dann kommst Du um ein Makro nicht rum. Die Datenbank weiß ja nichts von dem, was im Formular steht und noch nicht abgespeichert wurde.

Wenn Du ein Formular aktualisieren lässt, dann verschwinden nicht die Datensätze. Wenn das der Fall wäre, dann gehört das Programm auf den Müll. Vermutlich werden sie nur nicht mehr angezeigt, weil Du z.B. im Hauptformular auf einen anderen datensatz springst und damit davon abhängige Formulare natürlich etwas anderes (oder eben nichts) anzeigen.

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Hiker » Sa, 01.08.2020 08:08

Hallo,

ich nehme Mal an, dass die Grundlage/Datenquelle des Formulars schon die erweiterte Abfrage ist.
Die Abfrage enthält dann so etwas wie

Code: Alles auswählen

 SELECT ... , Menge / Preis AS MengedurchPreis ...
Dann brauchst Du kein Unterformular, sondern nur ein weiteres Feld, das an MengedurchPreis gebunden wird.

Mfg, Jörn

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » Sa, 01.08.2020 01:59

Hallo,

ich habe nun doch noch eine weitere Frage zu Formularen.
Und zwar habe ich 2 weitere Felder eingefügt: Menge & Preis.
In einer Abfrage habe ich anhand von Menge & Preis eine Berechnung drin (Preis / Menge). Das Ergebnis dieser Rechnung wird also in der Abfrage angezeigt.
Nun möchte ich dieses Ergebnis auch im Formular anzeigen lassen.
Dazu habe ich ein Unterformular erstellt. Und den Rest bekomme ich einfach nicht hin. Hatte auch einen Aktualisierungsbutton hinzugefügt. Als ich den betätigte war die Hälfte der Datensätze weg... Zum Glück hatte ich vorher nicht gespeichert. So konnte ich das fix wieder rückgängig machen.

Wie kann ich das Berechnungs-Ergebnis im Formular bzw. Unterformular anzeigen lassen? Das müsste doch eigentlich relativ einfach sein, da ich ja nichts reinschreiben möchte...
Herzlichen nächtlichen Gruß von der Nachteule ;-)

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » So, 26.07.2020 22:34

Also, ich hab mich jetzt entschieden - gegen eine n:m-Beziehung. Mir würde das letztlich -glaube ich- kaum oder sogar gar keine Vorteile bringen.

Und ich vermute, dass ich letztlich Calc zur Auswertung hernehmen werde- wesentlich komfortabler, schneller, angenehmer, effektiver. Das geht ja relativ fix- gewünschte Datensätze rüberkopieren und dort dann auswerten.

Nun fängt meine eigentliche Arbeit an- die Produkte im Formular erstellen :-)

Ich markiere das Thema noch nicht als gelöst, denn bestimmt kommen mir noch Fragen oder Probleme. Falls nicht, markiere ich es in den nächsten Tagen als gelöst.

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » So, 26.07.2020 21:26

Hmmm, genau das hatte ich nämlich befürchtet- hatte sowas nämlich nirgends gefunden. Da muss ich dann erstmal genauer drüber grübeln, ob ohne Auf-/Zuklapp-Möglichkeit für mich überhaupt so eine n:m Beziehungsverknüpfung Sinn macht....

TrioOffice ist für mich bisher perfekt. Ich mag es, wenn ich viel personalisieren kann, z.B. Symbolleisten. Und da ist TrioOffice einfach super. Das macht das Arbeiten für mich wesentlich schneller, einfacher, effektiver, angenehmer :-)
Bisher hatte ich auch nur Writer & Calc gebraucht, also fehlten mir keine weiteren Programme.
Nur eine Datenbank ist halt mit TrioOffice nicht möglich. Also habe ich gesucht. Base war die einzige, wozu ich auch gründliche Anleitungen gefunden hatte, also habe ich mich für Base entschieden. Base Datenbank Software gegoogelt- und da kamen nur lauter Ergebnisse, die sich auf OpenOffice bezogen. Da ich bisher nichts schlechtes von OpenOffice wusste, hab ich mir also das installiert.

Wenn es allerdings in LibreOffice möglich ist, einen Tabellen-Zelleninhalt extra sichtbar zu machen, wäre das durchaus ein Grund, zu wechseln...
Wie sieht das denn optisch aus, dieses "Datenquelle als Tabelle", also wenn ich damit einen längeren Zelleninhalt sichtbar machen will?

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von RobertG » So, 26.07.2020 20:48

Hallo Anoushka,

aufklappen und Zuklappen wie in Calc kannst Du da nichts. Die Formulare, die Du erstellst, sind vom Prinzip her Writer-Dokumente.
Aber natürlich kannst Du in der Lieferantentabelle alle möglichen Anmerkungen zum Lieferanten machen und in der Verbindungstabelle alle möglichen Anmerkungen, die nur genau das Produkt bei dem Lieferanten betreffen.

Zu Trio Office: Das Ganze sieht mir nach dem Screenshot verdammt nach einer schlichten Kopie einer älteren LibreOffice-Version aus. Die ist dann auch noch begrenzt auf ein paar wenige Grundprogramme (Writer, Calc und Impress) und das war's. Zuerst stutzig gemacht hat mich der Button mit dem Diskettensymbol, auf dem ein Sternchen prangt. Weiß im Moment nicht, wann der dazu gekommen ist. Der war notwendig, weil dahinter ein Kontextmenü entstand und sonst nicht klar werden konnte, wenn einfach über den Button gespeichert wurde, dass eine Speicherung erfolgt war. In den ersten 5er-Versionen ist er jedenfalls so schon vorhanden. Und mittlerweile kommt hier die erste 7er-Version raus.

Warum Du Dir für Datenbanken dann OpenOffice zusätzlich geholt hast ist mir ein Rätsel. OpenOffice hat schon seit langem keine weiteren Updates mehr erfahren.

Ich nutze hier nur LibreOffice - ist aber bei Linux auch kein Wunder, da das eben dort standardmäßig auch von den Distributionen her dabei ist.

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » So, 26.07.2020 19:24

Hallo Robert,

das weiß ich doch im Prinzip schon- hatte ich mir schon (grob) durchgelesen. Grob deshalb, da ich Step-by-Step vorgehen wollte. Alles auf einmal kann ich nicht.
Also, dass ich ein Produkt mit mehreren Lieferanten kombinieren kann und einen Lieferanten auch mit mehreren Produkten, weiß ich.
Mir ging es eher um die Frage, ob mein gewünschtes Komplettpaket realisierbar ist.
Also auch, dass ich in einer Tabelle oder Abfrage Gruppierungen auf- & zuklappen kann.
Und auch, ob ich innerhalb des Formulars für ein Produkt schreiben kann "Bei Lieferant A Anmerkung blabla". Und "bei Lieferant B Anmerkung blubbblubb". Und diese Anmerkungen entsprechend den Lieferanten zuweisen kann.

Eine solche n:m-Beziehung macht für mich eigenlich nur Sinn, wenn diese beiden Funktionen realisierbar sind.


Trio Office hab ich bisher für alles verwendet (Writer, Calc,...). Nur Datenbanken sind damit nicht möglich. Deshalb hatte ich mir nun zusätzlich OpenOffice installiert, was ich aber nur für die Datenbank verwende.
Das Bild zeigt nur eine Beispiel-Tabelle, erstellt in Trio Office. Diese hab ich nur erstellt, um deutlich zu machen, was mein Wunschergebnis ist. Danach hab ich sie wieder gelöscht. Sie hat also nichts mit der Datenbank zu tun. OpenOffice (mit der Datenbank) ist Apache OpenOffice 4.1.7.

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von RobertG » So, 26.07.2020 18:41

Hallo Anoushka,

so etwas wie mehrere Lieferanten einem Produkt zuzuordnen und auch mehrere Produkte einem Lieferanten zuzuordnen gibt es sogenannte n:m-Beziehungen. Das geht über Unterformulare und Listenfelder. deswegen noch einmal der Verweis auf das einführende Beispiel im Handbuch. Da habe ich das am Beispiel Sport mit beschrieben: Teilnahme an so etwas wie dem Sportabzeichen. Einem Teilnehmer werden mehrere Sportarten zugeordnet. Aber auch eine Sportart hat natürlich viele TeilnehmerInnen.

Eine Frage am Rande: was für eine Office-Version verwendest Du denn eigentlich. Ich lese auf dem Screenshot so etwas wie Trio Office Calc. Dass die "Datenquelle als Tabelle" nicht ganz normal in der Navigationsleiste steht und auch alles anzeigt, was in der aktuellen Datenquelle steht macht mich da etwas misstrauisch.

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » So, 26.07.2020 16:48

Hallo Robert,

hm, beides klappt nicht:

"Datenquelle als Tabelle" unten in der Navigationsleiste ganz rechts- wird mir nicht angezeigt. Hab es über Symbolleiste anpassen eingefügt. Doch es ist immer ausgegraut, egal ob ich eine einzelne Zelle anklicke oder eine ganze Spalte oder mehrere Spalten.

Mehrzeiliges Feld: Es ist ja hauptsächlich das Anmerkungsfeld davon betroffen. Dieses ist im Formular schon als mehrzeilig definiert.
Wenn ich in Tabellen wie auch in Abfragen die Zeilenhöhe einer Zeile ändere, ändern sich ja leider alle Zeilenhöhen.

Evtl. erledigt sich das Problem aber auch von selbst- zumindest ein bisschen. Nämlich durch meine nächste Frage, wie ich die Lieferanten am besten einbinde. Bzw. welches Ergebnis ich mir davon erhoffen kann. Denn dann steht im Anmerkungsfeld wesentlich weniger Text.
Also, mein Wunsch wäre:
Ein Produkt hat mehrere Lieferanten. Bei Lieferant A kostet es 2€ und ist in verschiedenen Größen lieferbar. Bei Lieferant B kostet es 3€ und is nur in einer Größe lieferbar.
So soll es dann in der Abfrage letztlich aussehen:
Screenshot (20200726-162148).jpg
Screenshot (20200726-162148).jpg (70.08 KiB) 5832 mal betrachtet
.
Ich habe dort die Lieferanten mit Produktanmerkung, Lieferantendistanz, Lieferantenanmerkung & Lieferantenfavorit gruppiert. Oben in ausgeklappter Ansicht, unten in zusammengeklappter Gruppierung.
Lieferantendistanz, Lieferantenanmerkung (orange markiert) sind in der Abfrage automatisch hinzugefügt (durch Lieferanten-Tabelle-Integration).
Die Spalte Favorit würde ich erst später mit Sternchen ausfüllen.

Ist soetwas in Base möglich?? Also, dass es das Produk nur 1x als Datensatz gibt und die jeweiligen Lieferanten mit Produktanmerkung, Lieferantenanmerkung, usw. dadrunter gruppiert werden?

Falls das nicht möglich ist, dann müsste ich halt für jeden Lieferanten das Produkt extra erstellen...

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von RobertG » So, 26.07.2020 15:21

Hallo Anoushka,

Wenn Du Inhalt aufgrund seiner Länge nicht ganz sehen kannst, dann kannst Du gegebenenfalls "Datenquelle als Tabelle" unten in der Navigationsleiste ganz rechts nutzen. Da ist dann aber wieder alles drin.

Kommt das häufiger vor, dann musst Du das Feld besser als mehrzeiliges Feld definieren.

Gruß

Robert

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von Anoushka » So, 26.07.2020 14:58

Hallo Robert,

Es wird, es wird... :-))

*Grins* Auch, wenn Du nicht verstanden hattest, was mein Problem war / in welchem Formular ich was geändert haben wollte, hattest Du genau das Richtige geändert ;-)
Nämlich, dass der Datensatz im Tabellen-Kontrollfeld sich mit dem Datensatz der anderen Felder (Produktname, Anmerkung, etc.) mit aktualisiert.
Ich habe mein Formular mit Deinem in allen Aspekten (Einstellungen, Daten,...),
wie auch alle meine Kontrollfelder mit Deinen in allen Aspekten (Einstellungen, Daten,...),
wie auch alle mein Tabellen-Kontrollfeld mit Deinem in allen Aspekten (Einstellungen, Daten,...),
wie auch alle Spalten in meinem Tabellen-Kontrollfeld mit Deinen Spalten in allen Aspekten (Einstellungen, Daten,...)
miteinander verglichen und konnte absolut keinen Unterschied feststellen.
Und trotzdem hat Deines richtig funktioniert und meines hatte diesen Fehler.
Also hab ich schlichtweg Dein Tabellen-Kontrollfeld in mein Formular reinkopiert, alle Spalten, die ich nicht in diesem Kontrollfeld haben will (sondern extra im Formular), rausgelöscht.
Und es funktioniert wunderbar :-)

Und ich habe es nun auch endlich hinbekommen, dass ich in der Abfrage nicht jedesmal die Spaltenbreiten korrigieren muss, sondern diese gespeichert bleiben - Juhuu :-)

Und das Einbinden der Kategorie-Tabellen in die Abfrage (und Ausblenden der Kategorie-ID) hab ich auch hinbekommen :-)

Deinen SQL-Befehl habe ich ausgeführt.

Noch eine Frage zu Abfragen (und in den Tabellen ist es das gleiche): In Calc gibt es ja oben diese Leiste, wo der Inhalt einer Zelle gezeigt wird- was sehr von Vorteil ist, wenn aufgrund der Spaltenbreite nicht der gesamte Zelleninhalt innerhalb der Tabelle sichtbar ist.
Ich habe versucht, in der Abfrage, wie auch in der Tabelle so eine Leiste einzufügen, finde aber eine solche Funktion nicht. Gibt es dafür irgendeine Möglichkeit?

Re: How to?: Datenbank für Produkte (mit Kategorien+Subkategorien) & Lieferanten

von RobertG » So, 26.07.2020 08:10

Hallo Anoushka,

ich habe mir Deine letzte Datenbank runter geladen und bin da nicht klar gekommen, in welchem Formular Du da etwas geändert haben wolltest.
Zur Frage, ob auch Felder aus dem Tabellenkontrollfeld raus können:

Das geht. Sie zeigen dann natürlich nur den Inhalt zum aktuellen Datensatz an. Auf diese Art lese ich z.B. Bilder mit ein. Ich habe das einmal in Formular3 für die Anmerkung gemacht.

Zur Abfrage: Die Feldreihenfolge in Abfragen sortierst Du beim Erstellen der Abfrage, nicht anschließend. Und wenn in Abfragen nicht die Fremdschlüssel enthalten sein sollen, sondern die entsprechenden Bezeichnungen, dann musst Du dazu auch die Tabellen einbinden.

Noch etwas: Schau Dir einmal die Größe Deiner Dateien an. Wenn ich die Öffne und schließe schrumpfen die ziemlich, weil Du noch OpenOffice nutzt. Dort wird nicht zum Schluss der Befehl SHUTDOWN COMPACT ausgeführt. Öffne einmal Extras → SQL und gebe dort

Code: Alles auswählen

SHUTDOWN COMPACT
ein. Schließe danach die Datenbankdatei und öffne sie wieder. Die Datei ist dann entsprechend verkleinert, enthält aber weiterhin alle Daten.

Gruß

Robert
Dateianhänge
Lieferanten - Kopie.odb
(71.81 KiB) 139-mal heruntergeladen

Nach oben