Visual Studio | Visual Basic eine gute Wahl? / VBA & SQL in Excel

alea

Neu angemeldet
Registriert
19 März 2016
Beiträge
105
Hallo

Ich möchte eine Idee programmieren, habe aber soweit erst einmal keine Ahnung.
Bei der Idee handelt es sich um ein Reporting-Tool, sprich, es werden sehr viele Zahlen verarbeitet. :)

Es geht um folgendes:
Eine Exceldatei soll sich mit einer Datenbank verbinden - bevorzugt wäre XAMPP / MySQL. Die Datei soll dabei auch die Möglichkeit haben, Daten hochzuladen und ggf. auch runterzuladen.

Zu dieser Excel-Datei soll es eine Ausgabe als Website geben (deshalb XAMPP).

Dazu soll es aber noch ein Datenbanktool geben, welches zum Beispiel auf Basis von Visual Basic programmiert wurde. Ich nutze nur Windows zuhause und suche etwas, womit ich mir einfach eine Oberfläche zusammenklicken kann und mich dann nur mit dem Code beschäftigen muss, welcher aber nicht zu "komplex" sein sollte. VB erscheint mir da gut geeignet - vor allem, weil auch VBA für Excel notwendig ist und ich mir da durchaus gewisse Vorteile verspreche.

Ist das, was ich so vorhabe damit machbar?
Oder eher ungeeignet - habt ihr dann eine andere Lösung für mich?

Bitte daran denken, dass ich kein "Coder" bin und ich mehr mit dem Inhalt, als dem programmieren beschäftigen möchte.

#Datenbank #Excel #VBA #Visual Basic

Grüße
-alea-
 
Es ist spät. Aber noch angemerkt: VBA und VB haben weniger gemein, als ihre Bezeichnungen. Einfach zusammen klicken läßt sich grundsätzlich nichts.

Ist das, was ich so vorhabe damit machbar?
Oder eher ungeeignet - habt ihr dann eine andere Lösung für mich?

ja

nein
 
Hallo Würfel,

ich hätte es nicht gedacht, aber tatsächlich existiert für Excel ein , womit die Kommunikation hergestellt werden kann.

Wie du jetzt die Excel-Tabelle automatisiert ins Web bekommst, weiß ich nicht. Vor 10 Jahren hätte ich das wohl über PHP gemacht, dabei aber die MySQL-Datenbank ausgelesen anstatt die Excel-Tabelle. Über ASP kannst du bestimmt irgendwie auch die Exceltabelle konvertieren bzw. ins Web publizieren. Ich bin an sowas mal vor vielen Jahren gescheitert.

Bitte daran denken, dass ich kein "Coder" bin und ich mehr mit dem Inhalt, als dem programmieren beschäftigen möchte.
Das erhöht nicht gerade die Erfolgsaussichten.
 
Die Frage wäre, welchen Vorteil hat die MySQL-Datenbank gegenüber Excel? Mit Power Queries / Excel M Language gibt dir Excel genau die Tools, die eine MySQL-Datenbank auch hat und du kannst damit auch neue Zeilen in der DB auf dein excel File ablegen.

Edit: Ich hab nicht richtig gelesen, es soll eine Website-Ausgabe geben... ich würde Downloads in die Excel trotzdem über Queries und Uploads über VBA machen, dann brauchst du kein VB.NET
 
Im Grunde genommen gibt's das auch schon fertig von diversen Anbietern, z.B. .

Ein Konkurrenzanbieter auf Open-Source-Absis . Die Software kannst du Dir runterladen (weiß nicht, ob das noch funktioniert).

Technisch funktioniert das so, dass eine über ein Excel-Addon angesprochen wird. Der Vorteil gegenüber der reinen Excel-Lösung ist halt, dass du wesentlich höhere Datenbestände damit sehr effizient speichern und abrufen und daraus verschiedene Reports generieren kannst.

Das Ganze gehört allerdings in den Enterprisebereich. Für private Sachen dürfte das stark überdimensioniert sein.
 
  • Thread Starter Thread Starter
  • #6
Hi

Danke für eure Antworten. Ich werde mir dann die Tage die Links gerne anschauen. Ich kann ja erst einmal nur vom bekannten ausgehen und das ist MySQL, etwas VBA und etwas VB. Datenbankanbindungen mit VB habe ich auch schon mal erstellt. Wahr sicherlich kein Pro-Level, aber das ist erst einmal sekundär.


Ich sage euch mal, wie das gerade in der Firma so ist:
Bis jetzt nutzen wir bei uns nur Exceldateien, welche hin und her kopiert und verschickt werden. Fehleranfällig und es kostet zu viel Zeit, weil die Daten ja gesammelt werden müssen und das nervt mich. Da Reaktionen dagegen etwas zu machen sind nicht vorhanden, also will ich das jetzt selbst in die Hand nehmen. Ein Tool vorbereiten, dann präsentieren und hoffen, es wird so akzeptiert. Die IT würde mir eine Datenbank zur Verfügung stellen, welche nur über das VPN verfügbar wäre. Sicherheitseinstellungen müsste ich nicht machen, ein einfaches Login-Script reicht aus (ggf. würde es jemand aus der IT dann "sicher" machen).

Wieso eine DB?
Bei uns werden vorwiegend Macs genutzt und nur das Finance nutzt Windows. Die Exceldateien haben teilweise Makros und stürzen oft auf den Macs ab oder sind sehr langsam. Ich weiß nicht woran das liegt und um das irgendwie zu lösen, dachte ich an folgendes:

Außerhalb vom Finance soll eine Website genutzt werden, wo die Daten eingetragen werden. Diese landen in der DB, sind unabhängig vom Gerät, OS und würden man könnte sogar direkt über die Website das ganze so konfigurieren, dass zu bestimmten Zeiten bestimmte Sachen ausgeführt werden. Finance soll sich die Daten per Datenbankanbindung in Excel ziehen und dann weiterverarbeiten - je nach Bedarf. Diese Dateien kann man auch verschicken, etc.

Ähnliches dachte ich auch für Mac an, aber wie ich dann noch gestern gelesen habe wird das wohl nciht ganz funktionieren.
Ursprünglich war der Gedanke, die Exceldatei bekommt ein eigenes Menüband für den Report und der User kann (unabhängig vom Mac oder PC) seine Daten bearbeiten, hochladen oder ggf. runterladen. Diese werden dann von der Gegenseite runtergeladen und verarbeitet. Excel bietet ja sehr viele Möglichkeiten.

Aber das wird, wie gerade geschrieben, wohl nichts. VBA funktioniert nicht so richtig auf dem Mac und auch ist das eigenes Menütab in Excel unter Mac nicht machbar.
Damit ist Excel sehr beschränkt und zwar nur auf Windows. Eigenes Menütab deshalb, weil ich dort die ganzen Button, etc. unterbringen möchte. Trennung vom restlichen Excel.

Dass der Report auch eine Windows Software über VB erhalten sollte, liegt daran, dass ich mich dann auch etwas "bilden" wollte und wenn das Ganze dann doch vom Unternehmen angenommen wird, ich entsprechend in dieser Richtung Forderungen stellen kann. Für die aktuelle Problematik kann das aber erst einmal als zweitrangig betrachtet werden.


Wenn ihr für mein Problem noch andere Ideen habt - nun, ich bin offen für alles. :)

Zum Thema "kein Coder".
Damit meinte ich nur so etwas wie: " Nimm nicht VB, sondern erst Python, dann JavaScript und dann lernst du Java und am schluss C++" ;)
Ich will ein bestimmtes Tool programmieren, komme mit VB und VBA zurecht (kenne das etwas), kann etwas für das Web erstellen. Mehr nicht und mehr ist nciht gewollt. Programmieren ist nur das Mittel zum Zweck (für ein Berufsleben unter Windows 10:D).


Danke fürs lesen und helfen.

Alea
 
Danke für die Erklärung. Hättest du das gleich am Anfang geschrieben, wäre die Antwort viel einfacher gewesen. Umso treffender ist deswegen meine Antwort darüber. Was du suchst, nennt sich . Denn das erledigt genau die Aufgaben richtig, die ihr in eurer Firma derzeitig über Excel mehr schlecht als recht zu realisieren versucht.

Der Ansatz Excel + Datenbank ist daher vollkommen korrekt. Allerdings kann ich Dir versprechen, dass du mit VB+VBA+Excel recht schnell scheitern wirst. Das Thema ist wesentlich komplexer als du Dir das vorstellst.

Und wenn du noch dazu eine gemischte Umgebung hast, dann willst du auch definitiv keine proprietären Microsoft-Technologien nutzen, d.h. VB und VBA.Windows-Zeug funktioniert am besten unter Windows. Willst du plattformunabhängig, dann nimm Open-Source-Technologien. Btw. . Sowas verwendet man nicht. Das war schon immer das Haupteinfallstor für Viren im Redmond-OS.

Aber wie schon erwähnt, würde ich an Deiner Stelle keine Zeit mit der Programmierung verschwenden. Such Dir eine professionelle Lösung. Von welcher Größenordnung (Anzahl Mitarbeiter) reden wir denn überhaupt?

Etwas Lesestoff:





Die Links sollen keine Kaufempfehlung sein. Soll mehr dazu dienen, damit du begreifst, worum es eigentlich geht und dass eine selbstprogrammierte Lösung da schnell auf der Strecke bleibt.
 
  • Thread Starter Thread Starter
  • #8
Hi

Danke für die Links. Ich werde diese mir die Tage durchlesen. DAs ganze verschiebt sich etwas - aber damit habe ich kein Problem. :)

Power BI kenne ich - sind dabei das bei uns einzuführen, aber das dauert noch etwas.
Längerfristig würde doch auch hier eine Datenbank sinn machen, oder? Dann sind die Daten zentral an einem Ort.

Die Programmierung soll aber erst einmal nur das Daten "einsammeln" vorwiegend betreffen. Ich denke, die Auswertung kann weiterhin dann per Excel laufen. Unsere Abteilung ist da mit den Daten etwas qualitativ besser unterwegs, als der ganze Rest.


Also *neue* Idee:
Input: Webseite, Systemunabhängig
Datenbank speichert Daten

per Excel holt man sich was benötigt wird und verarbeitet die Daten entsprechend
oder / und PowerBi wertet die Daten anhand selbstgebauter Reports aus (Input kommt ebenfalls aus der DB). Auch hier kann man die Reports später noch ziehen und in Excel "weiterverarbeiten".

Sinnvoller?
Ich möchte das Daten einholen auf ein Minimum beschränken. Die Datenbank hat auch den Vorteil, dass eine Excel-Datei nicht zum Beispiel "2x" verarbeitet wird oder das mehrere Versionen per Mail verschickt werden. Es gibt nur die eine Version :)

- alea -
 
Der Ansatz Excel + Datenbank ist daher vollkommen korrekt. Allerdings kann ich Dir versprechen, dass du mit VB+VBA+Excel recht schnell scheitern wirst.
Hatte 2000-2002 bei einem Leiterplatten-Hersteller gearbeitet, da wurde ALLES im Excel gemacht. Prüfmittelverwaltung, Produktionsaufträge , Analysenergebnisse , wirklich alles.
Selbst die Gerber-Files wurden mittel Excel/VBA vom Server geholt und in die Maschinen gespeisst.

Da ihr das ja bisher sowieso in Excel macht, würde ich den Weg gehen, den du Dir vorgestellt hast.
Eingabe-Maske als Webformular, dahinter nen MySQL.
Excel mit dem mysql-connector ausstatten und die Daten dann AdHoc in Excel laden und auswerten.
 
  • Thread Starter Thread Starter
  • #11
Ähm, die ganzen BI-Lösungen haben eigentlich immer eine Datenbank integriert. Und dafür nimmt man eben besondere Datenbanken ( ).


Das Läuft bei uns nicht über eine Datenbank - oder diese Datei ist eine Art "Datenbank".
Läuft erst einmal als Test intern, aber nicht meine Baustelle.


Hatte 2000-2002 bei einem Leiterplatten-Hersteller gearbeitet, da wurde ALLES im Excel gemacht. Prüfmittelverwaltung, Produktionsaufträge , Analysenergebnisse , wirklich alles.
Selbst die Gerber-Files wurden mittel Excel/VBA vom Server geholt und in die Maschinen gespeisst.

Da ihr das ja bisher sowieso in Excel macht, würde ich den Weg gehen, den du Dir vorgestellt hast.
Eingabe-Maske als Webformular, dahinter nen MySQL.
Excel mit dem mysql-connector ausstatten und die Daten dann AdHoc in Excel laden und auswerten.

Ich kann ja mit Testdaten ausprobieren, ob das so funktioniert, wie ich mir das vorstelle. Solle Excel / MySQL nicht so ganz funktionieren, habe ich ja immer noch die Weblösung, die dann etwas erweitert werden kann. csv-Export und dann kann ja jeder mit Excel weiterarbeiten. Und da ich mich nciht wirklich um das Loginscript kümmern muss (wäre mein größte Gefahr), sollte der Rest schon irgendwie funktionieren.

Werde hier öfters fragen ;)
 
  • Thread Starter Thread Starter
  • #12
Hi

Ich habe das ganze nochmal überdacht und werde das nur mit einem Webservice und direkter Anbindung von Excel an die SQL-Datenbank machen.
Die Website würde ich als "Progressive Webapp" planen. Ich hab noch nie was mit JavaScript gemacht. Braucht man wohl dafür.

Was ich jetzt ergoogelt habe ist irgendwie bescheiden. Stelle ich mir das gerade komplizierter vor als es ist oder wieso "finde" ich gerade wenig Tutorials dafür? Ich habe jetzt irgendwie das nur dafür:

Kennt ihr noch mehr interessante Seiten?
Wollte da keinen extra Thread aufmachen - ich hoffe, es ist okay :)

Grüße
 
Zurück
Oben