Datenbank-Anwendung für Profi-Köche: VBA-Prototyp in professionelle Anwendung umsetzen

  • Suche

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von cmdrcook.

    Datenbank-Anwendung für Profi-Köche: VBA-Prototyp in professionelle Anwendung umsetzen

    Hallo zusammen,

    ich bin ein programmierender Koch (programmieren = Hobby, Koch = Profi) und wende mich jetzt mal ganz unbedarft an dieses Forum.

    Ich bin dabei, unter VBA für Excel eine Anwendung zu entwickeln, mit welcher ich einen wesentlichen Prozess meiner beruflichen Aufgabe abbilden und unterstützen möchte: Rezeptverwaltung, Speiseplan-Erstellung, Produktionsplanung, Einkauf, Deklaration der Allergene und Zusatzstoffe.

    Ich komme, soweit es meine Freizeit zulässt, ganz gut voran und habe diverse Grundlagen (bis auf kleinere Fehler) fertig entwickelt: die Verwaltungen für Einheiten, Lieferanten, Rohstoffe und Einkaufsartikel stehen, die Konzepte für das Erstellen von Rezepten und Speiseplänen ebenfalls.

    Wenn ich unter VBA weitermache, bekomme ich ziemlich sicher eine fertige Anwendung zum Laufen, die ich aber höchstens für den Eigengebrauch in meinem Beruf verwenden kann. Ich habe jedoch die Vorstellung, daraus eine Anwendung zu entwickeln, die sich auch professionell vermarkten lässt.

    Aber leider bin ich "nur" ein Koch und habe von all dem nicht wirklich Ahnung.

    Hat jemand im Forum Tipps, ob und wie man Programmierer findet, die so ein Projekt gemeinsam mit mir anpacken würden? Unentgeltlich. Verdienen würde man erst daran, wenn es ans Vermarkten geht.

    Viele Grüße und schon mal vielen Dank für Eure Antworten! :)
    Es handelt sich hierbei um eine Einfache Daten Verwaltungs Software. Dank VB ist dies einfach zu realisieren.

    Ich habe generell Interesse an sowas und würde dir bei Seite stehen.
    Meld dich einfach mal per Mail an mich
    @tomtombusiness: vielen Dank für Dein Interesse. Ich melde mich demnächst per Mail bei Dir. Ich würde mich gern langsam an eine mögliche Zusammenarbeit rantasten und zuerst mal schauen wollen, ob unsere Denkansätze und Herangehensweise grundsätzlich harmonieren. Und dann zum Beispiel als Einstieg das kleinste Modul der geplanten Anwendung gemeinsam entwickeln: die Einheiten-Verwaltung. Gruß, Dirk.

    @ r0tzi: eine VBA-Anwendung reicht wohl für den Eigengebrauch. Wenn das Ding einsetzbar ist, soll es aber auch von meinen Kollegen und Mitarbeitern genutzt werden. Dann müsste ich das Projekt in diesem Personenkreis veröffentlichen. Und damit wäre das Projekt im Umlauf und jeder hätte den Code. Auch wenn ich Datei und Projekt mit Passwort schütze... ist bei Excel ja nun kein Hindernis.

    Ich sehe das wirklich nur als Prototyp, wenn ich könnte, würde ich gleich in VB.NET entwickeln. Leider fehlt mir da einiges an Wissen ... Unter VBA bekomme ich wenigstens Ergebnisse Der Prototyp ermöglicht mir z. B., anhand der echten Praxisanforderungen das Datenmodell zu entwickeln, die nötigen Funktionen des Programms zu identifizieren und Funktionsweise und Zusammenspiel der einzelnen Module festzulegen.

    Letztlich ist die Aufgabe doch recht umfangreich. Alles im Vorfeld zu planen und alle Anforderungen vorauszusehen ist unmöglich. Viele große und kleine Probleme und Aufgaben sieht man erst, wenn man davor steht. Und erst dann kann ich mir überlegen, wie ich das jeweils löse. Und wenn ich mir dann erst noch 1 Jahr die Grundlagen im Selbststudium aneignen muss ... komme ich ja nie voran. So dachte ich, am Anfang.

    Wie auch immer, sollte meine Anwendung jemals im Kollegenkreis veröffentlicht werden, muss es eine kompilierte .exe sein, mit allem Drum&Dran. Keiner kann den Code sehen. Benutzerkonten mit unterschiedlichen Rechten. Update-Funktion der Software. Fehlerprotokollierung zur Verbesserung folgender Versionen. Usw.

    Aus diesen Gründen denke ich, dass VBA und Excel nicht mehr ausreichend sind.

    Allein die "Datenbank" - die ja keine ist. Ich habe eine Ansammlung von Tabellen, in denen die Daten "relational" abgelegt sind. Die Tabellen speichere ich extern als CSV und lese sie jeweils in die Excelmappe ein. "Datenbank-Abfragen" sind bei mir nacheinander ausgeführte Range.Find-Methoden, diverse AutoFilter-Aktionen oder Kombinationen davon.

    Auch tue ich mich sehr schwer, objektorientiert zu programmieren. Ich habe eine Klasse, um zentral auf Ereignisse der diversen Controls zu reagieren und eine Klasse, um meine UserForms mit MinMax-Buttons zu versehen. Beide aus Foren abgekupfert ... Ich sollte aber wohl auch meine Objekte der realen Welt (z.B. die Rohstoffe) als Klassen und Objekte im Programm haben. Aber ich kriegs einfach nicht hin.

    Deshalb suche ich hier im Forum Helfer oder Partner. Wenn mir jemand bei konkreten Teilaufgaben Hilfestellung gibt und mich so befähigt, alleine weiter zu kommen: wäre super! Wenn jemand mehr KnowHow hat als ich, und ein lohnendes Projekt sucht, um dieses auch anzuwenden: ich bin durchaus an einer gemeinsamen Arbeit daran interessiert und letztlich gern bereit, mögliche Früchte dieser Arbeit auch zu teilen. Aber das steht in den Sternen

    Aktuell stehe ich vor solchen Fragen: welche Datenbank: Access, SQL oder was? Wie muss diese (aus den bereits bestehenden Tabellen) aufgebaut sein? Welche Beziehungen sind wie zu setzen? Wie bekomme ich die Verbindung zur Datenbank und die Daten in die Formulare und Controls? Wie bekomme ich die Daten nach der Bearbeitung zurück in die Datenbank? Ständig neue Zugriffe auf die Datensätze oder alles in ein DataSet? Undsoweiterundsofort.

    So, jetzt brauche ich mal wieder ein Erfolgserlebnis und verziehe mich in meine VBA-Ecke. Ich muss in der Rezeptansicht die Zusatzstoffe der verwendeten Rohstoffe korrekt anzeigen ...

    Viele Grüße, Dirk






    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „cmdrcook“ ()

    was ist denn so schlimm daran dass jeder den code hat?
    es ist letztendlich nichts anderes als kopieren, auswählen usw...code ist nichts geheimes.. fürchtest du das jmd deine arbeit kopiert? exe kann man auch decombilieren.. sollte jmd dein passwort knacken ist das genauso eine urheberechtsverletzung wie alles anderes :)
    Schöne Idee. Hab nur keine Zeit um sowas umzusetzen. An sich ist das Grundgerüst aber relativ schnell umgesetzt, wenn man fit ist... Erweitern nachher auch kein Problem, wenn man sauber gearbeitet hat.

    @cmdrcook Vielleicht ja ein Anlass, VB.Net oder C# zu lernen ;)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    r0tzi schrieb:

    so eine tabelle, quasi eine datenbank ist in excel


    Eine Tabelle ist keine Datenbank!
    Zumal bei Excel noch die Gefahr besteht das mit einer anderen Excelversion ein anderes Verhalten auftritt.
    Und wenn es nicht kostenpflichtig verteilt wird, sondern irgendwann als OpenSource auf github landet, besser als Excel allemal. Wenn man auch mal daran denkt das die Anwendung Mulituser fähig wird.

    @cmdrcook
    Ich würde sogar noch einen Schritt weiter gehen und sagen: Mach eine Multiuser-fähige Anwendung. So das mehrere Personen, an mehreren Rechnern gleichzeitig arbeiten können. Der Küchenmeister kann eintragen, die Person die Einkaufen muss kann sich entweder einen PDF Einkaufszettel raus lassen oder gar direkt mit einer App los ziehen. Wenn aus dem Programm direkt ein HTML Speiseplan raus käme wäre für eine Verbreitung auch sicher Hilfreich. Gott was kommen mir da Ideen ;)

    Leider habe ich auch keine Zeit für eine Umsetzung, mein Rat in die Richtung: Suche dir jemanden der schon als Entwickler tätig ist. Macht einen Vertrag über Urheberrechte, Coderechte und wie bei einer potentiellen Vermarktung die Gewinnausschüttung aussieht.
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    @ MrTrebron: auch wenn Du keine Zeit hast, mir zu helfen ... für solche Tipps und Infos, was die Rechte am späteren Gemeinschaftswerk betrifft, bin ich auch sehr dankbar ☺️ .

    Multiuser-Fähigkeit soll auf jeden Fall da sein. Ansatzweise ist das in meinem Prototyp gegeben: beim Öffnen der Mappe muss man Makros zulassen, anderenfalls kann man in der Mappe nix machen. In der Workbook_Open-Routine werden dann die Daten aus den CSV-Dateien in die Tabellen gelesen. In der Mappe ist eine Tabelle, die ich als "Arbeitsspeicher" verwende, um diverse, für die jeweilige Sitzung gültige, Einstellungen zu speichern. Dort wird eingetragen, dass die Mappe von User xy geöffnet wurde und direkt wieder gespeichert. Wenn nun ein zweiter User die Mappe öffnet, kann er zwar alle Daten sehen, aber nichts bearbeiten. Erst wenn der erste User die Mappe schließt, wird der Eintrag entfernt. Jetzt könnte der zweite User (oder ein dritter) die Mappe öffnen und bekäme Vollzugriff. So kann zwar immer nur einer die Daten verändern, aber wenigstens mehrere die Daten gleichzeitig lesen und nutzen (die Mappe ist zentral im Netzwerk abgelegt).

    Und die Ideen, die Du da hast, sind tatsächlich einige der Funktionen, die ich im Programm benötige, wenn auch in anderer Form. So geht z.B. niemand einkaufen, es wird alles geliefert. Aber die Bestellungen sollen anhand der Rezepte und des Speiseplanes automatisch erzeugt und als PDF an die Lieferanten gemailt werden. Für Lieferanten, die entsprechende Schnittstellen anbieten, könnten die Order-Daten auch direkt im passenden Format bereitgestellt werden und es müssten keine Aufträge manuell ins System getippt werden. Speisepläne müssen aktuell nur nach Excel exportiert bzw. als PDF bereitgestellt werden. Aber auch diese Anforderung kann sich ja mal ändern.

    Für den Fall, dass sich niemand für eine Zusammenarbeit findet: ich mache mal ein Thema unter einer anderen Rubrik auf. Dort werde ich, angefangen beim Datenmodell, eine konkrete Problemstellung posten, zusammen mit meinem Lösungsansatz, in der Hoffnung, dass mir jemand erklärt, ob das so richtig ist bzw. wie es besser geht.

    @ MrMo: das kommt für mich nämlich noch vor dem Erlernen von VB.Net: erstmal die Grundlagen Datenmodell und Datenbank besser verstehen und sicher beherrschen.

    Trotzdem: vielen Dank für alle Beiträge. Und wenn sich doch jemand für dieses Projekt interessiert: sehr gerne melden