[Visual Basic] Lagerverwaltungssoftware Datenspeicherung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von liftishifty, 20. April 2012 .

  1. 20. April 2012
    Lagerverwaltungssoftware Datenspeicherung

    Huhu,

    ich möchte mit Visual Studio 2010 eine Lagerverwaltungssoftware schreiben, die grundlegende dinge erfüllen kann wie Umlagerung,Lagerplatzsuche,Neue Aufträge kommissionieren etc.

    Diese Dinge selber zu Programmieren ist nicht das Problem, habe bereits innerhalb von Excel mittles VBA diese dinge realisiert aber um damit auch auf Handhelds Arbeiten zu können ist, Visual Studio doch angenehmer als mit xlsm( Excel und VBA ) Datein zu Arbeiten.

    Mein Problem ist aber nun die möglichkeit der Datenspeicherung.
    Muss ich unbedingt eine SQL Datenbank nehmen um Textdatein mit neuen Aufträgen etc einzulesen und zu verarbeiten oder gibt es auch ne möglichkeit mittels Visual Studio auf excel Datein zuzugreifen und dort alles zu Speichern? Oder gibt es gar noch eine einfachere Methode?

    Wie würde man das Normalerweise angehen?

    Ich erwarte hier KEINEN Code oder ähnliches aber es wäre Super wenn mir jemand sagen könnte was ich für Möglichkeiten habe und wo ich eventuell Tutorials finde um mich mit den jeweiligen Möglichkeiten auseinander zu setzen.
    Falls ich SQL zwingend nehmen sollte, wäre es zb Super wenn ich noch ne Seite dazu bekommen könnte, wo ich mich einlesen kann, wie das innerhalb von Visual Studio funktioniert.

    Hoffe aufjedenfall dass ich nicht alzu viel fordere

    Danke schonmal!

    // edit Eine frage nochmal vorweg. Falls ich eine SQL Datenbank nehme. Muss ich dann zwangsweise auf den Rechnern wo das Programm läuft auch SQL oder irgendetwas zusätzlich installiert haben?
     
  2. 23. April 2012
    AW: Lagerverwaltungssoftware Datenspeicherung

    servus,

    ich nehm mal an das du in visual basic.net vorhast das ganze umzusetzen... was sich ja doch sehr entwickelt hat seit VB6.0/VBA... dann wär noch die frage für "was" du das programmieren willst... WinCE, winmobile, wp7?
    da ich auch annehme, dass das "mehrbenutzer" anwendungen sind wirst du um eine zentrale speicherung in eine sql-db nicht herum kommen... jeh nach skalierbarkeit auch eine schlichte access-db (würde ich aber davon abraten, da ich auch nicht weiss ob man von wp,wm,wce übers framework funktionen hat um access-dbs zu verarbeiten)...
    von schreiben in excel-files würde ich abraten, abgsehen von performance/zugriffs problemen bei mehr als 1 nutzer isses nur unnötig code, um tabellen zu lesen/schreiben...



    Creating Connections to SQL Server
    hier mal ein kleiner auszug (schon etwas älter, geht aber noch so ) wie du die sql-connections machst(vorsicht, try/catch damit keine connections offen bleiben oder zb. "with")...

    kurze erklärung:
    du brauchst den connectionstring zu deinem server (in win umgebung vorzugsweise über trusted_connection/windowsauth und richtiger userverwaltung im netzwerk wo das ganze laufen soll). damit kannst du ein sql-connection objekt erstellen, welches du wiederum beim initialisieren des SQl-Command objekts (auch zu späteren zeitpunkten, ich hab mir das so angewöhnt) mit übergeben kannst. Mit dem sql-command objekt (auch wieder beim initialisieren, oder nachträglich mit XX.commandtext) kannst dann sql-querys ausführen... jeh nach dem ob update/delete/select gibts im command objekt funktionen wie Executenonequery (gibt keine datensätze zurück) oder Executescalar (gibt das erste des ersten datensatzes zurück)...

    hier noch ein kleiner link für eine sql tut-sammlung.
    http://archive.msdn.microsoft.com/SQLTutorials

    ansonsten die msdn/google durchstöbern, da gibts alles doppelt und dreifach auf zig verschiedenen sprachen

    zu deinem edit: Prinzipiell is es so gedacht, dass der sql-server auf einem server im netzwerk läuft. und alle die das programm verwenden wollen, müssen verbindung dazu haben... (für wince/winmob könnte man auch eine lokale datenbank machen, um dann, wenn man wieder wlan verbindung hat, diese mit der serverdatenbank abzugleichen)
    "der einfacheren verwendung in .net halber" würde ich den mssql server empfehlen (die gratis express version darf mittlerweile datenbanken bis 10gig verwalten)

    hast dir ja was was vorgenommen... falls du noch keine erfahrung in .Net / (MS)SQL hast wird das wohl ein riesiger brocken arbeit

    ps: für rechtschreibfehler wird nicht gehaftet

    mfg dutty
     
    1 Person gefällt das.
  3. 23. April 2012
    AW: Lagerverwaltungssoftware Datenspeicherung

    Erstmal danke für deine Ausführliche Antwort!

    Erfahrungen mit SQL habe ich insofern schon gehabt als das ich vor ca 5 Jahren mal ne Datenbank Anwendung Programmiert habe mit Access als Frontend und Mysql als Backend.
    Ist aber wie gesagt schon ein weilchen her, deshalb würde ich das gerne umgehen^^

    Grundsätzlich ist noch folgendes zu sagen:

    Der Handheld wählt sich mittels Remotedesktop ( W-Lan ) auf unserem Firmen-Internen Netzwerk ein und hat dort ein ganz Normalen Account. ( Terminaluser/Server )!

    Der Server selber isn Windows Server 2008 R2. Weiss gerade nicht welche Terminalumgebung dann läuft aber Optisch würde ich Sagen Windows 98
    Ich denke aber mal es ist schlichtes XP!

    Insgesamt mit dem Programm Arbeiten wird immer nur 1 User also quasi immernur das eine Handheld, welches sich mit seinem Account auf dem Server einwählt.

    Würde halt gerne mit Access als Backend Arbeiten um dem SQl zu entgehen. Allerdings finde ich auch mit google kaum beispiele die mal vernünftig erklären wie ich die Access DB in mein Projekt einbinde. Die Datenverbindung selber habe ich mal mit dem Designer angelegt und anscheinend auch erfolgreich die Verbindung hergestellt aber wie ich nun an meine Tabellen etc. rankomme bzw an die Daten , bleibt mir leider ein Rätsel.

    Möchte SQL nicht vollständig ausschließend und bin dir wirklich dankbar für deine Hilfe aber wenn es nach mir geht, würde ich Access als DB nehmen. Hier brauch ich allerdings nen kleinen Leitfaden, falls das nicht zuviel verlangt ist.

    Danke nochmal!
     
  4. 23. April 2012
    Zuletzt bearbeitet: 23. April 2012
    AW: Lagerverwaltungssoftware Datenspeicherung

    die terminalserver lösung macht das ganze natürlich einfacher

    einfach eine Access *.mdb/accdb erstellen. die datenbank designen...
    und hier relativ einfach erklärt wie du auf eine accessdb zugreifen kannst...

    Walkthrough: Editing an Access Database with ADO.NET

    im prinzip ändert sich nur der connection string...
    Code:
    OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[PfadzurMDB]"));
    (in c#, vb.bet is die syntax nur bissl anders) um eine sqlconnection zu initialisieren.

    sonst gewöhnliche sql-queries --> zb. "SELECT l_nummer FROM tbl_lager INNER JOIN tbl_artikel ON tbl_lager.pk_guid = tbl_artikel.fs_lager_guid" WHERE tbl_artikel.ean = '1251251125'"
    um die lagernummer eines artikels mit eancode zu finden

    also im code so

    Code:
    OleDBCommand cmd = new OleDBCommand([sql], conn)
    und dann execute...

    Code:
     result = cmd.ExecuteScalar()
    --> im result ist jetzt die nummer (vorsicht! auf typen aufpassen!)


    hoffe ich konnte helfen

    mfg dutty

    //edit: conn.open() natürlich net vergessen
     
  5. 25. April 2012
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Lagerverwaltungssoftware Datenspeicherung

    Tut mir leid dass du dir die Mühe jetzt quasi umsonst gemacht hast. Aber ich habe das Ganze dann jetzt doch über Excel gelöst. Is erheblich einfacher so, zumal es am Tag maximal 50 Datensätze sind.

    Versteh auch irgendwie im nachhinein garnicht, warum man für sowas nicht öfter Excel verwendet.
    Ok Relationale Datenbank blabla aber wenn man vernünftig Programmiert, is Excel meiner Meinung nach viel einfacher und Anpassungsfähiger als so manche SQL Datenbank auf die mittels VB.Net oder so zugegriffen wird...

    Najaaa^^

    Hab hier nochmal nen Paar Screenshots wie mein Proggi aussieht
    Möchte auch nochmal betonen, dass es ne ganz poplige Excel Datei bzw Excel Datei mit Makros ist (xlsm).

    Falls irgendwer dazu noch fragen hat oder vielleicht Hilfe benötigt um selber irgendwelche Projekte dieser Art zu erstellen, darf man mir gerne ne PN zukommen lassen

    Bild

    Bild
    Man kann auf die einzelnen Aufträge doppelklicken, bekommt dann nochmal infos zum Kunden und muss anschließend die richtige Artikelnummer einscannen.Wenn diese richtig ist muss die Seriennummer gescannt werden und anschließend kommt der Auftrag bzw der Lieferschein ausm Drucker

    Bild

    Bild
    Bei der Eingabe der Artikelnummer werden Automatisch die aktuellen Lagerplätze angezeigt,diese kann man dann Ändern und wieder Speichern.

    Man darf sich das ganze in der Größe eines Normalen Handheld Displays vorstellen (170*200 ca)
    Das Programm wird beim Starten des Handhelds automatisch geladen und beim klicken auf Abmelden wird das Handheld wieder ausgeschaltet. So kann man verhindern, dass benutzer irgendwas machen, was sie nicht sollen
    Aus den Screens werden vermutlich nicht viele schlau, weil das meiste im Hintergrund passiert und natürlich auf die Firma abgestimmt ist aber der ein oder andere denkt sich vielleicht hey cool, wie haste denn dieses oder jenes realisiert.!? Deshalb schreibe ich das jetzt mal dazu.

    Natürlich möchte ich auch ein wenig Angeben :lol: :lol:

    Und danke trotzdem an duddl, du hast mir iwie den richtigen Denkanstoß gegeben,wenn auch ungewollt ^^
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.