arbeitszeiterfassung

cyberking

Grünschnabel
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
 
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
 
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
 
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
 
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
Print #1, Daten
Close #1
End Sub

Private Sub butreset_Click()
work.Text = ""
End Sub

Private Sub butseefile_Click()
Call Shell("C:\Programme\Internet Explorer\IEXPLORE.EXE c:\arbeitszeit\red.html", 1)
End Sub

Private Sub Command1_Click()
End
End Sub

Private Sub command2_Click()
work.Text = work.Text & "<br>"
End Sub

Private Sub Command3_Click()
work.Text = work.Text & "<li>"
End Sub

Private Sub Command4_Click()
Form02.Show
End Sub

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
 
Zuletzt bearbeitet:
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
 
...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 :)
 
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)
 
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
 

Neue Beiträge

Zurück