# arbeitszeiterfassung



## cyberking (23. Februar 2002)

hallöchen, ich hätte da mal zig probleme.

in planung ist ein kleines programm, mit dem man arbeitszeiten erfassen kann. es soll ungefähr so ablaufen:

datum eingeben
zeit in stunden eingeben
ort, an dem man gearbeitet hat, eingeebn
die arbeiten, die man an diesem ort ausgeführt hat eingeben
die zeit, die man an diesem einen ort gearbeitet hat eingeben
diese daten in eine txt datei reinschreiben

ausserdem sollte es möglich sein, an mehreren orten pro tag zu arbeiten und diese dann als ein eintrag in die txt datei schreiben. 
die txt datei soll dann ungefähr so aussehen:

datum: 22.02.2002
   ort: trier
   zeit: 3,5 h
   arbeiten: blablabla
##########################
   ort: kaiserslautern
   zeit: 5 h
   arbeiten: blablabla

zeit gesamt: 8,5 h

_________________________-
datum: 23.02.2002
   ort: 



usw....

wenn es möglich wäre sollte man beim start des programmes zusätzlich benutzer angeben können, also jeder benutzer seine eigene txt datei.


ich denke, dass ist eigentlich kein problem. nur kann ich vb nicht wirklich, das fenster bzw. den frame mit buttons, eingabefeldern usw habe ich mir schon "gemalt", abe wie ich das jetzt alles zusammenbaue ist die nächste frage. und wie ich das mit mehreren benutzern machekann weiss ich auch nicht.

also, wäre toll, wenn mir da jemand helfen könnte.

thx


----------



## Dario Linsky (23. Februar 2002)

ich weiss nicht, ob das fuer dich zu kompliziert ist, aber ich wuerd das mit einer datenbank machen, in der jeder benutzer seine eigene tabelle hat, die immer gleich aufgebaut ist (also die gleichen felder)

ansonsten wuerd ich das problem mit dem mehrbenutzerzugriff so loesen, dass du ein verzeichnis fuer die dateien erstellst und die dateien nach dem jeweiligen benutzer benennst. den benutzernamen kannst du beim starten des programms eingeben lassen.
naja, und wie die datei aufgebaut ist, liegt auch bei dir. das sind ganz normale dateioperationen (am besten mal nen blick in die msdn werfen).

regards


----------



## cyberking (23. Februar 2002)

tsja, des ist wirklich zu hoch für mich mit datenbanken. war so froh, als ich html gepeilt hatte... html "kann"ich jetzt seit ca. 2 jahren, mein nächstes ziel ist mal sowas wie vb. das ist denke ich mal nicht ganz so schwer (??)
werde mal noch mehr tutorals suchen, habe zwar schon einige durchgearbeitet, aber man lernt ja nie aus. 

wäre trotzdem toll, wenn sowas evtl. schonmal jemand gemacht hat und mir das zur verfügung stellen würde. 

mfg: ck


----------



## Daniel Toplak (24. Februar 2002)

Also das ganze klingt für mich nach einer Datenbank. Ich würde das an deiner Stelle mit ACCESS machen (sollte für deine Anforderungen genügen). Du kannst natürlich die dort die Datenbank erstellen und dann mit VB eine Anbindung programmieren. Aber wenn du, wie du sagst, keine Kenntnisse in VB hast, würde ich es nur mit ACCESS machen. So ganz ohne Datenbank geht das natürlich auch. Du kannst die Textdateien mit Word erstellen *g*. Aber selbst wenn du das mit VB machst, würde ich mich an das System von relationalen Datenbanken halten, sonst wird das ein einziges durcheinnander.

Gruss Homer


----------



## Justus (24. Februar 2002)

Mal ne andere Frage:
Weiss jemand wo ich ein tut über datenbanken find?

-=Justus=-


----------



## cyberking (24. Februar 2002)

hallöchen,

ich habe jetzt soweit alles fertig und auch funktionierend hinbekommen. die ausgabe erfolgt jetzt in eine html datei, genauer in eine tabelle. nur ein problemchen habe ich jetzt noch: jedes mal, wenn ich im programm sage, es soll die daten in die datei schreiben, werden die alten daten überschrieben. es soll aber so sein, dass die neuen daten einfach hinten angehängt werden. hier mal der quelltext (wenn man das so nennt):



> Private Sub buteintragen_Click()
> Dim Daten As String
> Daten = "<html>" & "<head>" & "<title>test.html</title><body bgcolor=white><table width=80% border=1 bordercolor=blue><tr><td align=center width=15%><font color=red>" & Calendar1.Month & "." & Calendar1.Year & "</tr></td><tr><td align=left width=10%><font color=red>" & Calendar1.Day & "</td><td align=left width=10%><font color=red>" & Text1.Text & "</td><td align=left width=10%><font color=red>" & comtime.Text & "</td><td align=left width=70%><font color=red>" & work.Text & "</td></tr></table>" & "</font></body></html>"
> Open "c:\arbeitszeit\red.html" For Output As #1
> ...



kann mir da wer helfen?

ps: oppala, das sieht ziemlich durcheinander aus wenn ich das einfach hierher kopiere ;-) sorry!
ich habe das ganze teil mal online zum download bereitgestellt, vielleicht sieht es sich mal jemand durch der mehr plan von der sache hat als ich und kann ggf. verbesserungen vornehmen / vorschlagen. also die .zip liegt hier


----------



## Daniel Toplak (24. Februar 2002)

Also warum willst du die Daten unbedingt in eine HTML-Seite ausgeben?
Und warum machst du das nicht mit einer Datenbank? Hast erlich mehr Möglichkeiten und Kontrolle. Und wenn schon in eine Datei ausgeben dann in eine Textdatei und zwar mit einem FileSystemObject, da hast du mehr kontrolle über die Dateioperationen.

Gruss Homer


----------



## cyberking (24. Februar 2002)

...das ist kein problem! wenn mir jemand verraten kann, wie das funktioniert.. bin für jede hilfe offen. es it jetzt so wie es ist einfach nur eine aneinanderreihung hunderter zufälle. mit hilfe eines buches, zig tutorials usw. habe ich das hinbekommen. und für mich reicht das so eigentlich vollkommen aus. nur wie gesagt stehe ich immernoch vor einem einzigen ungelöstem problem: wenn ich dem programm sage, dass es die werte in die und die datei reinschreiben soll, dann soll es die werte praktisch einfach in der datei anhängen und nicht den bereits vorhandenen teil mit den neuen eingaben überschreiben. wenn ich noch rausfinde, wie ma das anstellen kann, dann bin ich schon zu frieden. evtl. noch einige kleinere schönheitskorrekturem unter anderem an der ausgegebenen html datei, das war´s dann. soll ja nur für mich persönlich sein, will das ja nicht verkaufen oder so. dafür dass ich mich jetzt erst seit 5 tagen mit vb beschäftige denke ich ist es schon recht gelungen. obwohl ich selbst sowas am schlechtesten beurteilen kann (weiss ja nicht, wie weit man ist, wenn man "fertig" gelernt hat...).

mfg und thx nochmal an alle, die sich den tress machem um mir da evtl. mal weiterzuhelfen (und natürlich auch an die, die sich nur meine probleme durchlesen...*g*)

c ya: ck


----------



## bartman336 (25. Februar 2002)

falls du es doch weiter mit der html datei machen willst ersetz
mal das 
Open "c:\arbeitszeit\red.html" For Output As #1 
mit
Open "c:\arbeitszeit\red.html" For *Append* As #1

außerdem würd ich die datei red.html vielleicht besser mit nem relativen pfad öffnen also 
Open app.path & "\red.html" For Append As #1"

dann wird die datei immer aus deinem programm verzeichnis geöffnet (app.path) und das was du ausgibst mit print wird an die datei angehängt (append)


----------



## cyberking (25. Februar 2002)

jupp, danke. habe das problem gelöst. des mit der relativen pfadangabe wusste ich vorher nicht, habe es soeben geändert und es funktioniert. das mit append ist eine gute idee, ich habe  es mittlerweile zwar anders gelöst (viel umständlicher), aber es funktioniert:

ein zusätzliches textfeld erstellt, beim ladem des formulares den inhalt der red.html in das textfeld geladen und dann beim speichern hinterher wieder das textfeld in die datei reingeschrieben + die zusätzlichen neu hinzugefügten daten. das neue textfeld habe ich hinter dem alten "versteckt". ausserdem wird beim klicken auf eintragen der inhalt des neuen textfeldes geleert und wieder neu geladen.

wie gesagt, habe es gelöst aber viiel umständlicher als die methode von dir. werde ich gleich mal ausprobieren.


zhx @ all


----------



## Daniel Toplak (25. Februar 2002)

@cyberking also zu erstens ausgelernt hat man nie *g*. Aber ich kann da nur sagen für 5 Tage VB Hut ab. Bezüglich Thema Datenbanken kann ich dir schon etwas behilflich sein. Aber da du das ganze jetzt schon fast fertig mit der Ausgabe in eine HTML-Datei hast, lohnt es sich fast nicht mehr das Ding großartig zu ändern, denn du müßtest das Ganze neu aufbauen. Aber wenn du mal irgendwelche Fragen bezüglich Datenbanken haben solltest, dann kann ich dir schon helfen. Ich kann dir nur empfehlen, ließ mal viel über das System von relationalen Datenbanken durch, denn das ist die Vorraussetztung um mit Datenbanken umzugehen, ganz egal in welcher Umgebung und mit welcher Programmiersprache. Dann wenn du das System verstanden hast, kannst du dich ranmachen an das Programmieren und dir semtliche Infos bezüglich DAO, ADO und SQL holen. Und dann wirst du sehen, daß man damit ganz tolle Dinge machen kann *g*. Wenn du ACCESS haben solltest, dann kannst du ganz schnell etwas vernünftiges machen.( Nicht das, das was du gerade machst unvernünftig ist, aber es ist hald ein wenig umständlich und kommt sehr schnell an die Grenzen). Aber ich wäre froh gewesen, wenn ich nach 5 Tagen als ich angefangen habe, schon solche Ergebnisse erziehlt hätte.

Gruß Homer


----------

