Tabelle mit Datenabfrage

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Silencer
Beiträge: 5
Registriert: Sa, 22.05.2004 14:42

Tabelle mit Datenabfrage

Beitrag von Silencer »

Hallo,

da ich Servicetechniker bin, und uns unser Chef permanente Faulheit im Außendienst unterstellt, dürfen wir seit Ewigkeiten für jeden Tag einen Arbeitsbericht schreiben. Dieser ist eine Tabelle, die ich mir mittlerweile in Calc nachgebaut habe. Diese Tabelle besteht aus 2 einzelnen Tabellenblättern, wobei nur das erste ausgedruckt werden soll.
Die Tabelle sieht folgendermaßen aus:
Auf dem ersten Tabellenblatt befindet sich eine Tabelle, in die ich zur Zeit per Hand Kunde, Ort, Straße und Postleitzahl eintrage.
Auf dem zweiten Tabellenblatt befinden sich die Kundendaten. Für jeden Kunden gibt es 4 Spalten, in welchen die auf dem ersten Tabellenblatt benötigten Daten stehen (PLZ etc.)
Wie bekomme ich es hin, daß ich auf dem ersten Tabellenblatt ein Auswahlmenü habe, bei welchem ich den Kunden auswähle und Calc die restlichen, zu diesem Kunden gehörenden Daten selbst aus dem zweiten Tabellenblatt ausliest und einträgt?

Viele Grüße

Steffen
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Hi,
das ist eigentlich ein Fall für eine Verknüpfung mit einer Datenquelle.
Musst Du in dem Bericht komplizierte Berechnungen anstellen?
Ich frage deshalb, weil ich mir denken könnte, dass das Ganze bequemer im writer anzulegen wäre und einfache Tabellen mit den Grundrechen-Funktionen sind da auch möglich.
Gruss, Lib
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Hast Du schon eine Kundendatei? Wenn nicht: Du kannst Auch eine sCalcTabelle dazu benutzen.

Als erstes musst Du eine solche Datei als Datenquelle anmelden:

Extras/Datenquelle/neue Datenquelle erstellen. Je nachdem, was Du als Adressdatei hast, sieht die Definition etwas anders aus. Es gibt auch einen Hilfeknopf.

Wenn Du die Datenquelle hast, erstellst Du ein Textdokument. Mit "Bearbeiten/Datenbank austauschen" suchst Du Deine Tabelle und drückst "festlegen". Dann drückst Du F4 und klickst Deine Adresstabelle auf. Die Spalten-Titel kannst Du jetzt einfach ins Dokument ziehen.
Du kannst auch zuerst eine Tabelle einfügen (Einfügen/Tabelle) und die Felder in die Tabellenzellen ziehen.
Ich kürze jetzt mal ab, gib Bescheid, wenn Du irgendwo noch mehr INFO brauchst:
Wenn Dein Textdokument fertig gestaltet ist, speicherst Du es als Dokumentvorlage:
Datei/Dokumentvorlage/speichern.
Wenn Du jetzt einen neuen Bericht brauchst, drückst Du:
Datei/neu/Dokumente und Vorlagen und wählst Deine neue Dokumentvorlage aus. Dann drückst Du F4, suchst den benötigten Datensatz, wählst ihn aus, indem Du die Zeile markierst und drückst dasjenige Icon, das für "Daten in Felder" steht.
Den Rest füllst Du normal aus und speicherst Das Dokument zum Schluss.
Gruss, Lib
PS: unter Extras/Datenquellen solltest Du den Haken wegnehmen bei "Verbindungen aufbewahren"
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Hallo,
Das sieht allerdings anders aus, als ich mir das bisher vorgestellt hatte. Vielleicht ist dafür eine Tabelle doch besser geeignet.
2 Fragen:
Hast Du einen Kundenstamm z.B. mit eindeutigen Kundennummern?
Welche Programmversion verwendest Du?
Gruss, Lib
Silencer
Beiträge: 5
Registriert: Sa, 22.05.2004 14:42

Beitrag von Silencer »

Lib hat geschrieben: Das sieht allerdings anders aus, als ich mir das bisher vorgestellt hatte. Vielleicht ist dafür eine Tabelle doch besser geeignet.
War also keine schlechte Idee, das mal zu zeigen. ;-)
2 Fragen:
Hast Du einen Kundenstamm z.B. mit eindeutigen Kundennummern?
Welche Programmversion verwendest Du?
Gruss, Lib
Also ich habe hier unsere Kundenliste und die haben auch alle Kundennummern. Es wäre also problemlos möglich, in die Liste noch die Kundennummer aufzunehmen.
Ich habe hier von der aktuellen ct' die Version installiert. Das dürfte das aktuelle Release sein. Moment........gerade nochmal nachgesehen. Version ist 1.1.1

Grüße

Steffen
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Hallo
dann wäre vielleicht mein Lieblingsbefehl SVERWEIS etwas.
Ich habe Deine Datei mal um eine Adresstabelle erweitert und hier: http://freeweb.econophone.ch/solkasim/OO/Rapport.sxc bereitgestellt.
Im Blatt "Main" hast Du jetzt eine zusätzliche Spalte mit Kundennummern. Ueberschreibe einfach mal eine mit einer Nr. zwischen 10001 und 10072 und schau was passiert.
Der Befehl tut in etwa folgendes:
er nimmt einen Suchbegriff (die Kundenummer) und geht damit in einen Bereich, sucht dort die Zeile, die mit diesem Suchbegriff beginnt und liefert den Inhalt einer bestimmten Spalte zurück.
Der Kundentabelle habe ich einen Bereichsnamen (Kundenstamm) gegeben. Diese Version hat noch einen kleinen Schönheitsfehler: wenn keine Kundennummer eingegeben wird, wird in den Feldern mit dem SVERWEIS-Befehl ein Ersatzzeichen angezeigt.
Drum habe ich noch eine zweite Tabelle eingefügt, die das mit einer WENN-Abfrage abfängt.
Gruss, Lib
PS:
- wenn Du Maschinen-Nummern und Bezeichnungen hast, kannst Du das auf gleiche Weise einbinden.
- die Adressdatei kannst Du auch mit einer Tabelle verknüpfen, statt sie direkt einzufügen. So kannst Du auf eine Datei zugreifen, die irgendwo zentral gepflegt wird.
Silencer
Beiträge: 5
Registriert: Sa, 22.05.2004 14:42

Beitrag von Silencer »

Lib hat geschrieben:Ich habe Deine Datei mal um eine Adresstabelle erweitert und hier: http://freeweb.econophone.ch/solkasim/OO/Rapport.sxc bereitgestellt.
Da hast Du dir ja richtig Arbeit gemacht....
Der Befehl tut in etwa folgendes:
er nimmt einen Suchbegriff (die Kundenummer) und geht damit in einen Bereich, sucht dort die Zeile, die mit diesem Suchbegriff beginnt und liefert den Inhalt einer bestimmten Spalte zurück.
Der Kundentabelle habe ich einen Bereichsnamen (Kundenstamm) gegeben. Diese Version hat noch einen kleinen Schönheitsfehler: wenn keine Kundennummer eingegeben wird, wird in den Feldern mit dem SVERWEIS-Befehl ein Ersatzzeichen angezeigt.
Drum habe ich noch eine zweite Tabelle eingefügt, die das mit einer WENN-Abfrage abfängt.
Jetzt langsam, damit ich es begreife: Die Tabelle funktioniert so, wie Du beschrieben hast. Der Befehl SVERWEIS, "zeigt" ja immer auf das Feld mit der Kundennummer. Wie aber holt SVERWEIS die zugehörigen Daten aus der Kundendatentabelle?
- wenn Du Maschinen-Nummern und Bezeichnungen hast, kannst Du das auf gleiche Weise einbinden.
Das wäre auch noch eine Variante, daß ich die Maschinennummer eingebe und dann der Typ und der Kunde eingetragen wird. :-)

Steffen
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Silencer hat geschrieben:Aber jetzt verate mir noch, wo ich diesen Befehl eingebe.
In den Feldern, wo Name, PLZ und Ort ausgegeben werden.
Stell mal den Cursor auf so ein Feld, dann siehst Du in der Eingabezeile den Befehl.
http://freeweb.econophone.ch/solkasim/OO/screenShot.sxw
Gruss, Lib
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Silencer hat geschrieben:Wie aber holt SVERWEIS die zugehörigen Daten aus der Kundendatentabelle?
1. Die Tabelle mit den Kundendaten habe ich markiert und ihr über "Daten/Bereich festlegen" den Bereichsnamen "Kundenstamm" gegeben, wenn man das nicht tut, muss man den Bereich in der Formel etwas komplizierter benennen A1:AA2000 oder so
2. Der Befehl SVERWEIS funktioniert so:
er durchsucht eine Matrix (Kundenstamm) so, dass er den Suchbegriff, den man ihm mitgibt, immer in der ersten Spalte dieser Matrix, die er von oben her durchsucht, aufspürt. Hat er sie gefunden, geht er nach rechts in die Spalte, die ihm ebenfalls als Information mitgegeben wurde, und holt sich von dort den Inhalt, also:
SVERWEIS(C10;Kundenstamm;2)
heisst:
gehe mit dem Suchbegriff, der in C10 steht
zur Matrix Kundenstamm
und hol Dir von dort den Inhalt aus der 2. Spalte

Hoffe das ist einigermassen klar.
Gruss, Lib
Silencer
Beiträge: 5
Registriert: Sa, 22.05.2004 14:42

Beitrag von Silencer »

Vielen Dank für deine Ausführungen. Der Groschen ist jetzt endlich gerutscht. Ich bin gerade dabei diese Befehlsliste mal durchzugehen in der Hilfedatei, ob da irgendwas brauchbares erscheint, daß dieses #NV löscht oder nicht druckt (was auch schon ausreichen würde). Na mal sehen, es gibt ja da Unmengen Befehle...

Steffen
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Silencer hat geschrieben:Ich bin gerade dabei diese Befehlsliste mal durchzugehen in der Hilfedatei, ob da irgendwas brauchbares erscheint, daß dieses #NV löscht oder nicht druckt (was auch schon ausreichen würde).
Schau Dir mal die Befehle in der Tabelle Main_2 an, die ich geschickt habe.
#NV bedeutet, dass die Kundennummer nicht gefunden wurde (weil z.B. die Zelle, welche die liefern soll, leer ist)
mit dem Befehel ISTFEHLER kann man sowas überprüfen.
Man baut also den Befehel so auf:
Wenn der Befehel SVERWEIS(..) einen Fehler liefert,
dann " " (schreibe ein Leerzeichen)
sonst SVERWEIS(..)
Alternativ kannst Du auch in Deine Kundentabelle eine Zeile aufnehmen, in denen alle Felder ein Leerzeichen enthalten (auch die Kundennummer)
In der Vorlage schreibst Du dann in die Kundennummernfelder der Rapporttabelle auch einfach ein Leerzeichen.
Gruss, Lib
Silencer
Beiträge: 5
Registriert: Sa, 22.05.2004 14:42

Beitrag von Silencer »

Hallo Lib,

an dieser Stelle ein großes Dankeschön für Deine Hilfe, und die Zeit, die Du dir dafür genommen hast! Die Tabelle funktioniert jetzt, dank Deiner Hilfe, so wie vorgestellt und einen kleinen Einblick in die Funktionsweise der Befehle habe ich auch noch mitbekommen.
Es wäre schön, wenn es mehr hilfsbereite Linux-User gäbe wie Dich, dann wäre ich auch schon umgestiegen. ;-)

Viele Grüße

Steffen
ritrade
Beiträge: 1
Registriert: Fr, 25.06.2004 23:55
Kontaktdaten:

Wie geht das mit Daten aus einer MySQL-Datenbank ?

Beitrag von ritrade »

Hi !

Die Beispiele sind echt super und sehr gut nachvollziehbar !

Funktioniert das auch mit Daten die in einer MySQL-Datenbank liegen ?
Wenn ja wie ist dabei die Syntax ?

MySQL habe ich bereits installiert und über den Writer Felder definiert in die Daten aus der MySQL-DB übernommen werden. Soweit funktioniert das also ohne Probleme.

Aber wie greife ich mit VLOOKUP oder LOOKUP auf die MySQL-Daten zu aus einem writer oder spreadsheet Dokument?

Benutze OO Version 1.1.0

Danke schon mal !
riTrade
Antworten