Alle Angaben stehen in der ersten Spalte der Tabelle.
Wenn ich jetzt einen Namen auswähle, werden alle Dateien in Matlab verarbeitet und später in einer anderen Zelle ausgegeben.
Wenn man other auswählt, soll ein neuer Kunde am Ende der Liste angelegt werden und diese anschließend sortiert werden.
Bisher habe ich nur eine Abfrage in der ich einen neuen Kunden für den aktuellen Durchlauf definiere.
Die Daten werden aber nur für den nächsten Durchlauf aufgenommen und dann verworfen.
Wie kann ich die eingetragenen Daten dauerhaft in die Liste einfügen? Also an das Ende der Liste und diese dann sortieren.
Also mein Problem ist eigentlich nur der Befehl die Daten in die letzte unbeschriftete Zeile zu schreiben.
Hoffe mir kann jemand sagen, wie ich diese Zeile finde.
Grüße Sc@r
Zuletzt bearbeitet von Sc@r am 23.05.2016, 14:27, insgesamt einmal bearbeitet
Ich verstehe die Frage nicht. Geht es um Excel, ein table oder ein uitable?
Stehen wirklich alle Angaben in der ersten Spalte? Das wäre eine seltsame Tabelle.
Zitat:
Wenn ich jetzt einen Namen auswähle,
Wo wählst Du wie einen Namen aus?
Zitat:
werden alle Dateien in Matlab verarbeitet
Welche Dateien werden verarbeitet?
Zitat:
und später in einer anderen Zelle ausgegeben.
Wie kann man Dateien in einer Zelle ausgeben und was genau meinst Du mit "Zelle"? Excel, ein Cell-Array oder ein UITABLE?
Zitat:
Wenn man other auswählt, soll ein neuer Kunde am Ende der Liste angelegt werden
Welche Liste?
Zitat:
und diese anschließend sortiert werden.
Nach welchem Kriterium soll sortiert werden?
Bitte poste mehr Details und beschränke Dich dabei auf die eigentliche Frage. Alle Details, die für eine Lösung irrelevant sind, verwirren nur.
Alle Daten stehen in einer Spalte, da ich sonst nicht alle Angaben für einen Kunden in die listdlg bekommen habe. Einiger meiner Kunden sind nämlich doppelt mit unterschiedlichen Adressen vorhanden. Als ich alle Daten in unterschiedlichen Spalten hatte, hatte ich die listdlg nur so aufstellen können, dass er mir zuerst alle Namen (Spalte A), dann alle Strassen (Spalte B), dann alle Orte (Spalte C) und zuletzt alle PLZ (Spalte D) ausgegeben hat.
Also zum Beispiel:
Hans
Hans
Universitätsweg 6
Nordring 5
Berlin
Köln
...
Aus diesem Grund habe ich alles in einer Spalte gelassen und dann die einzelnen Elemente wie Name, Strasse, Ort und PLZ in Matlab über die regexp(...) Funktion aufgesplittet. Die aufgesplitteten Elemente sind dann in
file{1,1} = {auftraggeber_firma}; --> Hans
file{2,1} = {auftraggeber_strasse}; --> Universitätsweg 6
file{3,1} = {auftraggeber_stadt}; --> D-465364 Berlin
hinterlegt.
Ich lade also die unten angehängte Excel-Tabelle mit den angegebenen Daten in Matlab ein:
Der neue Kunde Franz wird also zuerst in die letzte unbeschriftete Zeile geschrieben und dann wird die Excel-Tabelle ab der zweiten Zeile nach other alphabetisch neu sortiert. Wenn man nun das Programm neu ausführt bekommt man also direkt die listdlg:
Mein Problem ist es also den neuen Kunden in die bestehende Excel einzufügen.
Ich brauche Hilfe bei der Erstellung einer variablen Abfrage, bei der alle Einträge/neue Kunden immer an das Ende der Tabelle geschrieben und dann sortiert werden.
Meine Kundendatenbank wird also mit jedem neuen Eintrag größer und so muss der neue Kunde immer weiter unten in der Excel-Tabelle angelegt werden.
Grüße Sc@r
Test1.xls
Beschreibung:
Hier die Tabelle die eingelesen wird und dann um einen neuen Kunden erweitert werden soll
Hier dürfte es am einfachsten sein, die Excel-Datei mit readtable einzulesen, den Eintrag in den Table anzufügen, sortrows anzuwenden, und dann mit writetable die Excel-Tabelle wieder rauszuschreiben.
Hast du das versucht? Welche Probleme sind dabei aufgetreten?
Versuch das Problem doch mal separat von der GUI zu sehen. Die Romane um das an sich recht überschaubare Problem herum lenken eher ab als dass sie zur Lösung beitragen.
So blöd es klingt, aber ich bekomme es gerade nicht hin die eingegebenen Daten an das Ende der Tabelle anzufügen
bekomme immer nur Hinweise wie:
-All variables must have the same number of rows.
-S must be a scalar structure, or a structure Array with one column or one row.
Wie schaffe ich es neuerKunde in Kundendaten einzutragen, dass ich eine 10x1 Tabelle erhalte?
Das Sortieren müsste ich hinbekommen. Nur bei der Anbindung an die Tabelle habe ich meine Probleme. Das ist wahrscheinlich nur ein kleiner Befehl, aber diesen sehe ich gerade einfach nicht
ahhhhhh....
Ich glaube ich habe es. Ich probiere es gerade indem ich mit den Zellen und der cat Funktion arbeite. Ich teile euch gleich mein Ergebnis mit
Habe jetzt alle Angaben des neuen Kunden in einen cellstr gepackt,
die Arrays dann über die cat Funktion verbunden,
mit sortrows sortiert,
über array2table zu einer Tabelle gemacht
und anschließend über writetable die Tabelle als .xls ausgegeben
schwere Geburt aber es geht.
Danke für eure Hilfe
Grüße Sc@r
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.