Hallo ihr lieben - wiedermal ein Thread von mir :o)
Ich habe in meinem alten VBA Programm für jede Firma eine Datei zum erstellen von Bestellungen (über 50 Stück).
Eine solche Bestelldatei hänge ich an. Den Code habe ich leicht geändert, damit die Datei ohne bestehende Ordnerstruktur läuft. Für diejenigen, die sich diese *.xlsm nicht ansehen möchten, hier die Kurzerklärung, was die Datei kann:
Spoiler anzeigen
Dies möchte ich jetzt in Vb.Net nachbauen. Natürlich möchte ich keine 50+ Programme erstellen (ich glaube so ein Mist macht man nur einmal), sondern ein Programm.
Dann werde ich für jede Firma eine xml anlegen und das angeschlossene DataSet entsprechend füllen.
Denn das Programm soll unabhängig vom Hauptprogramm (also auf anderen PCs - ohne Hauptprogramm) laufen und es soll möglich sein, dass mehrere Leute gleichzeitig bestellen.
Deswegen die vielen DataSets.
Im Hauptpgrogramm werde ich zwei Buttons einbauen - einen zum einfachten Starten, einen zum starten und importieren von Artikeldaten.
Ich habe mir gedacht, dass ich beim Start über das Hauptrogramm den Lieferanten auswähle und diesen als Parameter übergebe. (Button einfach starten) und
ich möchte den Lieferanten auswählen und noch den Parameter " Import" übergeben (Button importieren).
Wenn mein Bestellprogramm den Parameter "Import" empfängt, werde ich einen Datenabgleich zwischen Hauptprogramm und Unterprogramm starten.
Also Artikelpreise , Ves und dergleichen abgleichen und Artikel hinzufügen, die in der Bestelldatei fehlen.
Wird das Bestellprogramm ohne Parameter gestartet (also außerhalb des Hauptprogrammes), werde ich den Ordner, welches die DataSets enthält mit einer Schleife durchgehen und entsprechend die Firmen in einer Combobox zur Auswahl anbieten.
1. Frage:
Macht mein Vorhaben bis hier her Sinn, oder gibt es etwas dass ihr anders machen würdet?
2.Frage:
Wie muss mein Datenmodell aussehen, um zu den Artikeln Bestelldaten (Datumsangaben), sowie Bestandsdaten (Datumsangaben) zu erfassen?
Neben meiner bereits erstellten DataTable für die Artikel (Name, Art.Nr, Preis, etc.) würde ich eine weitere Table erzeugen, welche die Rows Datum und Bestellung(boolean), Bestand(boolean) enthält. In die ArtikelDataTable kommt dann die Fremdschlüsselspalte mit Verweis auf die neue. Passt das so?
3. Frage:
Ich mag den tabellarischen Aufbau meiner jetzigen Bestelldateien.
Allerdings ist mit vb.net ja viel mehr möglich als mit meinem Excel Programm. Wie würdet ihr das umsetzen (grob)
Ich habe dann mal meinen Ansatz hochgeladen.
Das "Hauptprogramm" enthält die relevanten DataTables meines Hauptprogrammes. Natürlich habe ich mir keine Mühe in der Gestaltung gemacht.
Ich habe in meinem alten VBA Programm für jede Firma eine Datei zum erstellen von Bestellungen (über 50 Stück).
Eine solche Bestelldatei hänge ich an. Den Code habe ich leicht geändert, damit die Datei ohne bestehende Ordnerstruktur läuft. Für diejenigen, die sich diese *.xlsm nicht ansehen möchten, hier die Kurzerklärung, was die Datei kann:
- tabellarische Auflistung aller Artikel - links Artikeldaten (Name, Art.Nr. Bestellmenge, etc) - rechts je eine Spalte für alte Bestellungen mit entsprechender Menge
-automatische Erkennung von EAN Codes mit Artikelsuche. Also EAN Code einscannen, Artikel wird gefunden
- export der Bestellung als pdf (in halbwegs hübsch)
- Mailversand an Firma, bzw. deren Außendienst
- anzeige von verkauften Artikeln innerhalb eines auswählbaren Zeitraumes
- Möglichkeit zum speichern einer Bestellung als "Bestand" - also Inventurähnlich
-automatische Erkennung von EAN Codes mit Artikelsuche. Also EAN Code einscannen, Artikel wird gefunden
- export der Bestellung als pdf (in halbwegs hübsch)
- Mailversand an Firma, bzw. deren Außendienst
- anzeige von verkauften Artikeln innerhalb eines auswählbaren Zeitraumes
- Möglichkeit zum speichern einer Bestellung als "Bestand" - also Inventurähnlich
Dies möchte ich jetzt in Vb.Net nachbauen. Natürlich möchte ich keine 50+ Programme erstellen (ich glaube so ein Mist macht man nur einmal), sondern ein Programm.
Dann werde ich für jede Firma eine xml anlegen und das angeschlossene DataSet entsprechend füllen.
Denn das Programm soll unabhängig vom Hauptprogramm (also auf anderen PCs - ohne Hauptprogramm) laufen und es soll möglich sein, dass mehrere Leute gleichzeitig bestellen.
Deswegen die vielen DataSets.
Im Hauptpgrogramm werde ich zwei Buttons einbauen - einen zum einfachten Starten, einen zum starten und importieren von Artikeldaten.
Ich habe mir gedacht, dass ich beim Start über das Hauptrogramm den Lieferanten auswähle und diesen als Parameter übergebe. (Button einfach starten) und
ich möchte den Lieferanten auswählen und noch den Parameter " Import" übergeben (Button importieren).
Wenn mein Bestellprogramm den Parameter "Import" empfängt, werde ich einen Datenabgleich zwischen Hauptprogramm und Unterprogramm starten.
Also Artikelpreise , Ves und dergleichen abgleichen und Artikel hinzufügen, die in der Bestelldatei fehlen.
Wird das Bestellprogramm ohne Parameter gestartet (also außerhalb des Hauptprogrammes), werde ich den Ordner, welches die DataSets enthält mit einer Schleife durchgehen und entsprechend die Firmen in einer Combobox zur Auswahl anbieten.
1. Frage:
Macht mein Vorhaben bis hier her Sinn, oder gibt es etwas dass ihr anders machen würdet?
2.Frage:
Wie muss mein Datenmodell aussehen, um zu den Artikeln Bestelldaten (Datumsangaben), sowie Bestandsdaten (Datumsangaben) zu erfassen?
Neben meiner bereits erstellten DataTable für die Artikel (Name, Art.Nr, Preis, etc.) würde ich eine weitere Table erzeugen, welche die Rows Datum und Bestellung(boolean), Bestand(boolean) enthält. In die ArtikelDataTable kommt dann die Fremdschlüsselspalte mit Verweis auf die neue. Passt das so?
3. Frage:
Ich mag den tabellarischen Aufbau meiner jetzigen Bestelldateien.
Allerdings ist mit vb.net ja viel mehr möglich als mit meinem Excel Programm. Wie würdet ihr das umsetzen (grob)
Ich habe dann mal meinen Ansatz hochgeladen.
Das "Hauptprogramm" enthält die relevanten DataTables meines Hauptprogrammes. Natürlich habe ich mir keine Mühe in der Gestaltung gemacht.