KlickTool zum Daten erfassen

  • Hallo liebe Gemeinde,

    ich habe mir in Excel Mühsam ein Klicktool zur Datenerfassung erstellt. Da dieses leider nicht mir mehrere Nutzer in VBA im Freigabemodus läuft, war die ganze Arbeit leider für die Füße. Auch die Erstellung des Formular in Access brachte bedingt Erfolg, nach 3000 Datensätze wurde das Tool so langsam das ein arbeiten nicht mehr möglich war. Da ich leider kein Profi in autoit bin würde ich mich über jede kleine Hilfe freuen. Die Oberfläche für das Klicktool habe ich bereits erstellt. Leider bekomme ich es nicht auf die Reihe diese Daten der Tabelle Rohdaten beim Speichern/neu in der Zeile. Vielleicht kann sich das bitte einer mal anschauen von euch. Ich danke schon mal für eure Geduld.

    Beschreibung zum Projekt.
    Es handelt sich zur reinen Datenerfassung und Kontrolle. Es kommt ein Anruf und die ausgewählten Optionsfelder und Rufnummer soll in einer CSV gespeichert werden. Mehrere User sollen damit gleichzeitig arbeiten.

    Bei Beendigung bin ich auch gern bereit einen kleinen Obolus zu zahlen.

    Edit Raupi: Thread in das richtige Forum verschoben

  • Falscher Forenbereich. Bitte verschieben.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Allgemein: Zur Kontrolle wäre die Excel UDF von @water geeignet.
    Siehe dazu in der Hilfe: User Defined Functions Reference (ganz unten) unter Excel Management.
    Dort sind Befehle, mit denen du sicher und sehr schnell mit Excel arbeiten kannst.
    Falls dir das auch zu kompliziert ist, kannst du ja nochmal hier Posten. Dabei würden mir dann allerdings noch Infos fehlen, was genau, bzw. wie genau das funktionieren soll. Mit den Kürzeln in deiner Oberfläche kann ich nicht unbedingt was anfangen.

  • owei ich habs mir es grad angeschaut. Ich hab gedacht VBA ist schon heftig nur das ist ja noch nen Zacken schärfer. Die Kürzel sind schnell erklärt, dazu würde ich später etwas schreiben. Es geht erstmal darum das wir die Anrufer in einer CSV speichern. Gespeichert werden soll das
    Datum; Name vom Rechner; Call oder Schrift;Rufnummer; SaveQ; Optin; Produkt1; Produkt2; Produkt3;...........

    Jetzt meine Frage: Wie bekomme ich die Werte wenn ich auf speichern neu gehe in einer Excel Datei ?

    Einmal editiert, zuletzt von Wolfsblut (4. April 2015 um 12:27)

  • Wenn die Excel als CSV vorliegt, und einfach eine neue Spalte erstellt werden soll wäre das hier am einfachsten:
    FileWriteLine("deine.csv","Datum; Name vom Rechner; Call oder Schrift;Rufnummer; SaveQ; Optin; Produkt1; Produkt2; Produkt3;...........")
    Sehr schnell, sodass eigentlich keine Probleme mit andern nutzern auftreten können. Falls doch einfach den @error code abfragen und ne schleife mit dem passenden Error-Code drumbauen.

    Falls Spalten geändert werden sollen, kann die CSV auch komplett als Array eingelesen werden, die Änderungen in dem Array vorgenommen werden und dann das Array gespeichert werden.
    Dabei wäre natürlich auch interessant zu wissen, wie viele Einträge du ~hast (100/1000/10000/100000?).

  • Vielen Dank für Deine Antwort. Muss ich das direkt beim Speicher/neu eintragen ? So richtig funktioniert das leider nicht bei mir.


    Code
    $Progress1 = GUICtrlCreateProgress(560, 592, 123, 17)
    $speichernneuButton = GUICtrlCreateButton("speichern/neu", 560, 616, 123, 41)
    FileWriteLine("Rohdaten.csv","Datum; Name vom Rechner; Call ....")
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
  • Dein Speichernbutton wird ja irgendwo abgefragt, wo er gedrückt würde. (Empfehle den OnEventMode)
    Dort schreibst du dann dies FileWriteLine,... Das FileWriteLine schreibt an das Ende einer Datei. Ich vermute, dass du die alte ersetzen willst. Daher solltest du ein fileopen() mit den replace parametern nutzen und den handle, den die funktion zurückgibt als 1 parameter für das filewriteline nutzen.

    [autoit]


    Case $speichernneuButton
    $file=FileOpen("Rohdaten.csv",2)
    FileWriteLine($file,"Datum; Name vom Rechner; Call ....")
    FileClose($file)

    [/autoit]


    Wenn du das in deine Hauptschleife einfügst müsste es funktionieren.