Supportnet / Forum / Datenbanken
Dateneingabe
Frage
Hallo,
ich bastel immer noch an meinem Wartungsprogramm,
ich habe ein Formular erstellt in dem stehen die zu erledigenten aufgaben, wenn eine aufgabe abgearbeitet wurde dann soll ein name ausgewählt werden ´"müssen". wie kann ich das tun???
Kerstin
Antwort 1 von disco
moin
was für ein name? wo kommt der her? und warum steht "müssen" in anführungszeichen?
g,
disco
was für ein name? wo kommt der her? und warum steht "müssen" in anführungszeichen?
g,
disco
Antwort 2 von RalfH
Hallo Kerstin,
In der Tabelle ein Feld mit " Erledigt von"
Im Formular dann vor der Aktualisierung
Hier erhält der User eine MessageBox, wenn kein Name eingetragen wurden ist, und nach Klick auf dem OK Button wird das entsprechende Textfeld focussiert.
Gruß Ralf
In der Tabelle ein Feld mit " Erledigt von"
Im Formular dann vor der Aktualisierung
If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me"[Erledigt von].SetFocusHier erhält der User eine MessageBox, wenn kein Name eingetragen wurden ist, und nach Klick auf dem OK Button wird das entsprechende Textfeld focussiert.
Gruß Ralf
Antwort 3 von Kerstin.Kl
Hallo Ralf,
ich bin dir mal wieder zu Dank verpflichtet, werde es morgen gleich ausprobieren.
P.S. Hast du auch ein Lösung für folgendes Problem?
Ich habe ein Art Kalender mittels Buttons erstellt und da sollen die täglichen Wartungsaufgaben drin stehen. Nun kann es aber vorkommen das nicht alles erledigt wird. wie kann ich es anstellen das z.B. die nicht erledigten aufgaben vom 1.1 in den plan vom 2.1 stehen?
Nochmal tausend Dank
ich bin dir mal wieder zu Dank verpflichtet, werde es morgen gleich ausprobieren.
P.S. Hast du auch ein Lösung für folgendes Problem?
Ich habe ein Art Kalender mittels Buttons erstellt und da sollen die täglichen Wartungsaufgaben drin stehen. Nun kann es aber vorkommen das nicht alles erledigt wird. wie kann ich es anstellen das z.B. die nicht erledigten aufgaben vom 1.1 in den plan vom 2.1 stehen?
Nochmal tausend Dank
Antwort 4 von RalfH
Hallo Kerstin,
beschreib doch bitte mal den Aufbau Deines Kalenders.
Gruß Ralf
beschreib doch bitte mal den Aufbau Deines Kalenders.
Gruß Ralf
Antwort 5 von Kerstin.Kl
Ich habe ja tägliche, wöchentliche, monatliche, vierteljährliche,... Wartungsintervalle und ich muss dafür sorgen das alle eingehalten werden und da habe ich die Aufgaben noch unterteilt in welcher Woche und an welchem wochentag diese zu lösen sind. und da nach habe ich den kalender aufgebaut.
z.b. Sichtkontrolle = Monatlich = Woche 1 = Samstag
dies habe ich als abfrage formuliert und dann das kalenderformular damit verknüpft. finde ich aber keine andere lösung heißt das ja das ich 356 Abfragen habe. und das kanns auch nichts sein
vielleicht gibt es ja noch eine andere lösung
z.b. Sichtkontrolle = Monatlich = Woche 1 = Samstag
dies habe ich als abfrage formuliert und dann das kalenderformular damit verknüpft. finde ich aber keine andere lösung heißt das ja das ich 356 Abfragen habe. und das kanns auch nichts sein
vielleicht gibt es ja noch eine andere lösung
Antwort 6 von RalfH
Antwort 7 von Kerstin.Kl
Hallo Ralf,
irgendwie funktioniert das trotzdem nicht:
If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me"[Erledigt von].SetFocus
ich kann auf erledigt klicken ohnen einen namen einzugeben.
Kerstin
irgendwie funktioniert das trotzdem nicht:
If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me"[Erledigt von].SetFocus
ich kann auf erledigt klicken ohnen einen namen einzugeben.
Kerstin
Antwort 8 von RalfH
Hallo Kerstin,
1. Alles wird gut ;-)
2.If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me"[Erledigt von].SetFocus
Sollte:
If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me![Erledigt von].SetFocus
lauten.
Ich habe das mal hier nachgebaut und bei mir läuft das ohne Probleme.
Im Formular ist wie oben besprochen das Feld " Erledigt von", sobald ich den Datensatz speichern möchte, ohne das ein Name eingegeben wurde, kommt die Messagebox.
Gruß Ralf
1. Alles wird gut ;-)
2.If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me"[Erledigt von].SetFocus
Sollte:
If isnull(me![Erledigt von]) = True Then
msgbox " Sie haben noch keinen Namen eingetragen!",vbInformation
me![Erledigt von].SetFocus
lauten.
Ich habe das mal hier nachgebaut und bei mir läuft das ohne Probleme.
Im Formular ist wie oben besprochen das Feld " Erledigt von", sobald ich den Datensatz speichern möchte, ohne das ein Name eingegeben wurde, kommt die Messagebox.
Gruß Ralf
Antwort 9 von Kerstin.Kl
Hallo Ralf,
vielen Dank probier es gleich aus.
Hast du vielleicht auch einen Vorschlag wie ich das mit den Wartungsplänen machen könnte? Mir ist noch nichts gescheites eingefallen. Ich würde die Zeit wann etwas zu warten ist, gern "berechnen/abfragen" lassen.
Kerstin
vielen Dank probier es gleich aus.
Hast du vielleicht auch einen Vorschlag wie ich das mit den Wartungsplänen machen könnte? Mir ist noch nichts gescheites eingefallen. Ich würde die Zeit wann etwas zu warten ist, gern "berechnen/abfragen" lassen.
Kerstin
Antwort 10 von Kerstin.Kl
Nochmal Hallo!
Funktioniert trotzdem nicht:
Private Sub Erledigt_Click()
Me![erledigt am] = Now
Me.Requery
End Sub
Private Sub erledigt_durch_BeforeUpdate(Cancel As Integer)
If IsNull(Me![erledigt durch]) = True Then
MsgBox "Sie haben noch keinen Namen eingetragen!", vbInformation
Me![erledigt durch].SetFocus
End Sub
Kerstin
Funktioniert trotzdem nicht:
Private Sub Erledigt_Click()
Me![erledigt am] = Now
Me.Requery
End Sub
Private Sub erledigt_durch_BeforeUpdate(Cancel As Integer)
If IsNull(Me![erledigt durch]) = True Then
MsgBox "Sie haben noch keinen Namen eingetragen!", vbInformation
Me![erledigt durch].SetFocus
End Sub
Kerstin
Antwort 11 von Kerstin.Kl
Es geht !!!!!!!!!!
Bin endlich auch mal allein auf die Lösung gekommen. Hab des END IF vergessen.
Kerstin
Bin endlich auch mal allein auf die Lösung gekommen. Hab des END IF vergessen.
Kerstin
Antwort 12 von RalfH
Siehste, alles wird gut !
Antwort 13 von Kerstin.Kl
So nun die nächsten Probleme,
das mit dem Namen eingeben funktionoiert ich gehe auf erledigt dann kommt die Messagebox "Bitte Namen eingeben" und wenn ich dann nochmal erledigt drücke ohne einen Namen einzugeben geht der Datensatz trotzdem weg.
was kann ich dagegen tun?
kerstin
das mit dem Namen eingeben funktionoiert ich gehe auf erledigt dann kommt die Messagebox "Bitte Namen eingeben" und wenn ich dann nochmal erledigt drücke ohne einen Namen einzugeben geht der Datensatz trotzdem weg.
was kann ich dagegen tun?
kerstin
Antwort 14 von RalfH
Hallo Kerstin,
Durch den Klick auf erledigt, wird ja die folgende Prozedur aufgerufen:
Private Sub Erledigt_Click()
Me![erledigt am] = Now
Me.Requery
End Sub
- Me![erledigt am] = Now setzt den Jetzt Wert, also Datum Inkl Uhrzeit in das Feld erledigt am.
- Me.Requery = Mit der Methode Requery werden die Datensätze erneut abgefragt, so als ob Du das Formular schliessen und wieder öffnen würdest.
Hier müsste nun Eigentlich die Prozedur greifen.
Private Sub erledigt_durch_BeforeUpdate(Cancel As Integer)
If IsNull(Me![erledigt durch]) = True Then
MsgBox "Sie haben noch keinen Namen eingetragen!", vbInformation
Me![erledigt durch].SetFocus
End Sub
Das tut sie aber nicht, weil das a)Feld erledigt durch ja nicht aktualisiert wird und b) das Feld ja auch keinen Focus hat.
Am besten packst Du die Prozedur mal in das Formular Ereignis Vor Aktuallisierung rein.
Dann wird bei der Requery Methode jedesmal überprüft, ob das entsprechende Feld gefüllt ist oder eben nit.
Gruß Ralf
Durch den Klick auf erledigt, wird ja die folgende Prozedur aufgerufen:
Private Sub Erledigt_Click()
Me![erledigt am] = Now
Me.Requery
End Sub
- Me![erledigt am] = Now setzt den Jetzt Wert, also Datum Inkl Uhrzeit in das Feld erledigt am.
- Me.Requery = Mit der Methode Requery werden die Datensätze erneut abgefragt, so als ob Du das Formular schliessen und wieder öffnen würdest.
Hier müsste nun Eigentlich die Prozedur greifen.
Private Sub erledigt_durch_BeforeUpdate(Cancel As Integer)
If IsNull(Me![erledigt durch]) = True Then
MsgBox "Sie haben noch keinen Namen eingetragen!", vbInformation
Me![erledigt durch].SetFocus
End Sub
Das tut sie aber nicht, weil das a)Feld erledigt durch ja nicht aktualisiert wird und b) das Feld ja auch keinen Focus hat.
Am besten packst Du die Prozedur mal in das Formular Ereignis Vor Aktuallisierung rein.
Dann wird bei der Requery Methode jedesmal überprüft, ob das entsprechende Feld gefüllt ist oder eben nit.
Gruß Ralf

