Frage zum Fahrtenbuch von T. Krumbein
Moderator: Moderatoren
-
- *
- Beiträge: 15
- Registriert: Fr, 08.07.2005 20:06
- Wohnort: Lüdenscheid
Frage zum Fahrtenbuch von T. Krumbein
Hallo zusammen,
ich habe das Listing von dem Programm 'Fahrtenbuch' (von T. Krumbein) abgeschrieben sowie die Tabellen 'Main', 'Liste' und 'Daten' angelegt und mit Inhalten einschließlich Formeln gefüllt.
Nun habe ich noch einen Fehler in der Tabelle 'Main'. In Zelle C8 (hinter 'Kilometer gesamt') wird ein falscher Wert ausgegeben. Es heißt: Die Gesamtkilometer werden berechnet aus der Datenbank (Tabelle 'Liste'), und zwar aus dem maximalen Wert der Spalte Km-Ankunft (Spalte H) abzüglich dem ersten Wert in Km-Abfahrt (Zelle C11). Das ist bei mir 1065 (Spalte H) minus 1000 (Zelle C11). Statt 65 steht bei mir -1000.
Dann verstehe ich die Formel in Zelle C8 in der Tabelle 'Main' nicht. Da steht u.a. Liste.H2:H3. Wie kann der maximale Wert ermittelt werden, wenn in H2:H3 nichts drinsteht?
Für Hilfe vielen Dank im Voraus.
Volker
ich habe das Listing von dem Programm 'Fahrtenbuch' (von T. Krumbein) abgeschrieben sowie die Tabellen 'Main', 'Liste' und 'Daten' angelegt und mit Inhalten einschließlich Formeln gefüllt.
Nun habe ich noch einen Fehler in der Tabelle 'Main'. In Zelle C8 (hinter 'Kilometer gesamt') wird ein falscher Wert ausgegeben. Es heißt: Die Gesamtkilometer werden berechnet aus der Datenbank (Tabelle 'Liste'), und zwar aus dem maximalen Wert der Spalte Km-Ankunft (Spalte H) abzüglich dem ersten Wert in Km-Abfahrt (Zelle C11). Das ist bei mir 1065 (Spalte H) minus 1000 (Zelle C11). Statt 65 steht bei mir -1000.
Dann verstehe ich die Formel in Zelle C8 in der Tabelle 'Main' nicht. Da steht u.a. Liste.H2:H3. Wie kann der maximale Wert ermittelt werden, wenn in H2:H3 nichts drinsteht?
Für Hilfe vielen Dank im Voraus.
Volker
Hey Volker,
da das "Ding" von mir stammt, werde ich dir wohl auch am besten helfen können. Schaun wir mal.
OK, zu der ersten Frage :
Die Formel in der Celle c8 sollte lauten
d.h. die Datenbank in der Tabelle "Liste" trägt den Namen "Datenbank" (über Namen - festlegen), die Formel definiert nun den maximalen Wert der Spalte H (Tabelle Liste) fixiwert durch den Startwert H10, wobei dadurch lediglich die Spalte definiert wird. Wichtig ist jetzt der Kriterienbereich (Liste.H2:H3), welcher erstens existiern muss und zweitens identische Feldüberschriften tragen muss (am besten durch Kopieren erzeugen). Im Kriterienbereich muss kein Wert eingetragen werden - nur die Überschrift muss richtig sein!
Dein -1000 Wert deutet darauf hin, dass der erste Teil der Formel nicht in Ordnung ist.
Die Formel ermittelt den Maximalen Wert der durch den Kriterienbereich eingegrenzten Liste. In Liste.H2 steht was drin, nämlich der Spaltenname, in Liste.H3 steht nichts drin, da die Liste ja nicht eingegrenzt werden soll. Sprich: der Kriterienbereich erlaubt alle Datensätze.
Dennoch ist der Bereich notwendig, sondt funktioniert die Formel (DBMAX) nicht.
Schau auch mal in der Hilfe nach unter DBMAX.
Viele Grüße
Thomas
da das "Ding" von mir stammt, werde ich dir wohl auch am besten helfen können. Schaun wir mal.
OK, zu der ersten Frage :
Die Formel in der Celle c8 sollte lauten
Code: Alles auswählen
=DBMAX(Datenbank;Liste.H10;Liste.H2:H3)-Liste.C11
Dein -1000 Wert deutet darauf hin, dass der erste Teil der Formel nicht in Ordnung ist.
Die Formel ermittelt den Maximalen Wert der durch den Kriterienbereich eingegrenzten Liste. In Liste.H2 steht was drin, nämlich der Spaltenname, in Liste.H3 steht nichts drin, da die Liste ja nicht eingegrenzt werden soll. Sprich: der Kriterienbereich erlaubt alle Datensätze.
Dennoch ist der Bereich notwendig, sondt funktioniert die Formel (DBMAX) nicht.
Schau auch mal in der Hilfe nach unter DBMAX.
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- *
- Beiträge: 15
- Registriert: Fr, 08.07.2005 20:06
- Wohnort: Lüdenscheid
Hallo Thomas,
ich habe diverse Test's gemacht, u.a. indem ich auf einer leeren Tabelle die Formel für DBMAX eingegeben, und in einer anderen leeren Tabelle in Zelle H2 und H10 einen Namen, sowie in Zelle H11 einen Wert eingegeben habe.
Dann den Bereich A10 bis H11 mit Namen 'Datenbank' benannt.
So hat alles geklappt.
Auch ein Hinzufügen einer weiteren Spalte (N) bei deine Tabelle 'Liste' mit Namen in N2 und N10 sowie einem Wert in N11 bei Vergrößerung der Datenbank hat mir in Tabelle 'Main' den Wert aus N11 angezeigt.
Aber das Problem in Spalte H in Tabelle 'Liste' und der zugehörigen Formel von DBMAX in Tabelle 'Main' konnte ich nicht lösen.
Ich habe es versucht durch löschen der Spalte H und neu anlegen, oder Löschen der Zeile 2 und neu anlegen usw.
Ich denke, daß alle anfangs angelegten Spalten A bis M nicht mit dieser Formel funktionieren würden.
Vielleicht muß ich die Tabelle 'Liste' löschen und noch einmal neu anlegen.
Gruß Volker.
ich habe diverse Test's gemacht, u.a. indem ich auf einer leeren Tabelle die Formel für DBMAX eingegeben, und in einer anderen leeren Tabelle in Zelle H2 und H10 einen Namen, sowie in Zelle H11 einen Wert eingegeben habe.
Dann den Bereich A10 bis H11 mit Namen 'Datenbank' benannt.
So hat alles geklappt.
Auch ein Hinzufügen einer weiteren Spalte (N) bei deine Tabelle 'Liste' mit Namen in N2 und N10 sowie einem Wert in N11 bei Vergrößerung der Datenbank hat mir in Tabelle 'Main' den Wert aus N11 angezeigt.
Aber das Problem in Spalte H in Tabelle 'Liste' und der zugehörigen Formel von DBMAX in Tabelle 'Main' konnte ich nicht lösen.
Ich habe es versucht durch löschen der Spalte H und neu anlegen, oder Löschen der Zeile 2 und neu anlegen usw.
Ich denke, daß alle anfangs angelegten Spalten A bis M nicht mit dieser Formel funktionieren würden.
Vielleicht muß ich die Tabelle 'Liste' löschen und noch einmal neu anlegen.
Gruß Volker.
Hallo Volker,
Die Feldnamen (also die Überschriften der jeweiligen Tabellen) müssen 1. eindeutig und 2. identisch sein. Nicht alles, was du als Feldnamen verwendest, wird von OpenOffice.org akzeptiert. Nur - es erfolgt keine fehlermeldung, vielmehr schneidet OOo einfach den ungültigen Teil der Feldnamen ab und nutzt nur den gültigen Namen. Dann kann es schnell passieren, dass dieser plötzlich nicht mehr eindeutig ist!
Auch mit dem Abschreiben habe ich so eine Erfahrung gemacht: Besser, die Zellen mit den Feldnamen kopieren und als Kriterienbereich wieder einfügen. Jetzt stimmt die Schreibweise 100%ig.
Ich glaube, da würde ich suchen. Wenn es nicht klappt, schick mir doch deien Datei mal mit PM, ich schau gern mal drüber.
Viele Grüße
Thomas
Unwahrscheinlich. Erfahrungsgemäß sind die Funktionen DB... recht empfindlich, was die Feldnamen angeht. Ich glaube, hier würde ich ansetzen.Vielleicht muß ich die Tabelle 'Liste' löschen und noch einmal neu anlegen.
Die Feldnamen (also die Überschriften der jeweiligen Tabellen) müssen 1. eindeutig und 2. identisch sein. Nicht alles, was du als Feldnamen verwendest, wird von OpenOffice.org akzeptiert. Nur - es erfolgt keine fehlermeldung, vielmehr schneidet OOo einfach den ungültigen Teil der Feldnamen ab und nutzt nur den gültigen Namen. Dann kann es schnell passieren, dass dieser plötzlich nicht mehr eindeutig ist!
Auch mit dem Abschreiben habe ich so eine Erfahrung gemacht: Besser, die Zellen mit den Feldnamen kopieren und als Kriterienbereich wieder einfügen. Jetzt stimmt die Schreibweise 100%ig.
Ich glaube, da würde ich suchen. Wenn es nicht klappt, schick mir doch deien Datei mal mit PM, ich schau gern mal drüber.
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- *
- Beiträge: 15
- Registriert: Fr, 08.07.2005 20:06
- Wohnort: Lüdenscheid
Hallo zusammen,
ich habe immer noch keine Lösung für das Problem.
Aus diesem Grund bitte ich Euch, mir dabei zu helfen, und zwar durch wenige Eingaben, die zur Ergebnisfindung reichen können.
Folgendes Vorgehen:
Tabelle 'Main' anlegen
Tabelle 'Liste' anlegen
In Tabelle 'Liste' folgende Eintragungen vornehmen:
In 'Zeile 2' von links nach rechts unter Spalte A = 'A' eingeben, unter Spalte B = 'B' eingeben. Weiter so verfahren in den Spalten C, D, E, F, G, H, I, J, K, L und M.
Die Zeile 2 kopieren und an Zeile 10 neu einfügen.
In 'Zeile 11' in 'Spalte C' die Zahl '5000' eingeben.
In 'Zeile 11' in 'Spalte H' die Zahl '5050' eingeben.
Bereich A10 bis M11 markieren und dem Bereich den Namen 'Datenbank' geben(Einfügen-Namen-Festlegen).
Dokument speichern und dann auf Tabelle 'Main' wechseln.
Hier in Zelle A1 folgende Formel eingeben:
=DBMAX(Datenbank;Liste.H10;Liste.H2:H3)-Liste.C11
Jetzt müßte in dieser Zelle das Ergebnis 50 stehen.
Bei mir erscheint '-5000'.
Was habt Ihr für ein Ergebnis.
Was könnte ich falsch machen?
Vielen Dank im Voraus.
Gruß Volker.
Ich verwende OpenOffice 1.1.4 mit dem Sicherheitspatch unter MS98
ich habe immer noch keine Lösung für das Problem.
Aus diesem Grund bitte ich Euch, mir dabei zu helfen, und zwar durch wenige Eingaben, die zur Ergebnisfindung reichen können.
Folgendes Vorgehen:
Tabelle 'Main' anlegen
Tabelle 'Liste' anlegen
In Tabelle 'Liste' folgende Eintragungen vornehmen:
In 'Zeile 2' von links nach rechts unter Spalte A = 'A' eingeben, unter Spalte B = 'B' eingeben. Weiter so verfahren in den Spalten C, D, E, F, G, H, I, J, K, L und M.
Die Zeile 2 kopieren und an Zeile 10 neu einfügen.
In 'Zeile 11' in 'Spalte C' die Zahl '5000' eingeben.
In 'Zeile 11' in 'Spalte H' die Zahl '5050' eingeben.
Bereich A10 bis M11 markieren und dem Bereich den Namen 'Datenbank' geben(Einfügen-Namen-Festlegen).
Dokument speichern und dann auf Tabelle 'Main' wechseln.
Hier in Zelle A1 folgende Formel eingeben:
=DBMAX(Datenbank;Liste.H10;Liste.H2:H3)-Liste.C11
Jetzt müßte in dieser Zelle das Ergebnis 50 stehen.
Bei mir erscheint '-5000'.
Was habt Ihr für ein Ergebnis.
Was könnte ich falsch machen?
Vielen Dank im Voraus.
Gruß Volker.
Ich verwende OpenOffice 1.1.4 mit dem Sicherheitspatch unter MS98
Wieso?Jetzt müßte in dieser Zelle das Ergebnis 50 stehen.
Der einzige Datensatz der Datenbank steht in Zeile 11, gesucht werden soll nach Deiner Vorgehensweise der Datensatz aller Datensätze die das Suchkriterium "ist leer" erfüllen in Spalte H.
Es gibt nur einen Datensatz, der ist jedoch in Spalte H nicht leer, wird also garnicht berücksichtigt wenn der Datensatz mit dem Maximalwert gefunden werden soll.
Ja und so würde ich meinethalben in H3 '>0' schreiben und die Sache hat sich erledigt.
Nach Deiner Beschreibung würde ich wohl auch auf -5000 kommen, getestet habe ich es nicht, weil mir der Fehler offensichtlich schien.Was habt Ihr für ein Ergebnis
Gruß
Stephan
-
- *
- Beiträge: 15
- Registriert: Fr, 08.07.2005 20:06
- Wohnort: Lüdenscheid