Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Eingegebenes Datum soll ein Ja/Nein-Feld steuern
zurück: Übergabe Parameter aus Listenfeld an Abfrage weiter: Datensatz mit ID per E-Mail versenden! Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
TZ.
Office-Beginner


Verfasst am:
13. Okt 2009, 14:35
Rufname:

Eingegebenes Datum soll ein Ja/Nein-Feld steuern - Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Liebe Access-Gemeinde,

folgede Angelegenheit: Durch Eingabe eines Datums soll ein Ja/Nein-Feld automatisch auf "Ja" gesetzt werden (Mit Eingabe des Datums wird der Patient als Studienpatient identifiziert, ohne Eingabe eines Datum ist er gewöhlicher Patient). Dies soll im Hintergrund geschehen, also keine manuelle Betätigung eines Ja/Nein-Feldes auf dem Formular erfolgen.

Dieser Code hier funktioniert nicht
(Felder: - "Studienbeginn" ist das Datum, als Textfeld gesetzt
- "Studienpatient" ist das Ja/Nein Feld, wird einmal auf True bzw. False gesetzt):
Code:
Private Sub StudienpatientJN()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
   
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Patient") 'Haupttabelle "Patient"
    Select Case MsgBox("Ist der Patient ein Studienpatient? -" _
                     & "Studienbeginn eintragen?" _
                     , vbQuestion + vbYesNoCancel, "Studienpatient?")
      Case vbYes
        Forms![Hauptformular]![Studienbeginn].Visible = True
        Forms![Hauptformular]![Studienbeginn].SetFocus
        rs.Edit
        rs!Studienpatient = True
      Case vbNo
        Forms![Hauptformular]![Name].SetFocus
        Forms![Hauptformular]![Studienbeginn].Visible = False
        rs.Edit
        rs!Studienpatient = False
        rs!Studienbeginn = ""
    End Select
End Sub
Dank schon mal jetzt für Eure Tipps und Hinweise.

Lieben Gruß
Thomas

Das ganze wird angesteuert über ein Makro (mit der Aktion AusführenCode); die AusführenCode-Aktion steuert eine Funktion, die wiederum die oben stehende Prozedur aufruft. (wahrscheinlich gehts auch einfacher, ?)
Gast



Verfasst am:
13. Okt 2009, 16:22
Rufname:


AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo,
dieses Ja/Nein-Feld ist (eigentlich) unnötig/redundant, wenn das vorhandene Datum das (einziges) Kriterium ist.

Du kannst eine Abfrage erstellen, mit einem Ja/Nein Feld
Code:
SP: Wenn([DeinDatum] Ist Null;Falsch;Wahr)
oder auch das Datum zum ensprechenden Filtern nutzen.

Gruß Mike
TZ.
Office-Beginner


Verfasst am:
13. Okt 2009, 16:43
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo Mike,

ich habe bereits ein "Ist Null" verwendet: dies steuert mir die vorhandene Prozedur an (über Makro, Funktion, Prozedur - sie letzter Eintrag von mir ganz unten).

Der Code von mir gibt das an, was passieren soll, wenn "Ist Null" bereits geprüft wurde.

Es soll: Entschieden werden können, ob ein Datum eingegeben werden muss (vbYes, weil es ein Studienpatient ist) oder nicht (vbNo, weil es kein Studienpatient ist) -(oder Abbrechen). Daher diese Prozedur mit Select Case.

Was nicht funktioniert ist: es wird die Zuweisung
Code:
    rs!Studienpatient = True
und analog für = False
nicht in die Tabelle geschrieben, sodass es dort gespeichert wird und abgefragt werden kann.

Ich verstehe nicht, wieso diese Zuweisung nicht funktioniert.

Verstehst du, was ich meine?

Gruß
Thomas

_________________
Gruß
TZ.
------------
Der Dank ist immer da,
auch wenn er nicht ausgesprochen wird.
Gast



Verfasst am:
13. Okt 2009, 16:52
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Verstehst du, was ich meine?
Ich verstehe was du meinst, dass ändert aber nichts daran, dass dein Vorgehen (im Sinne einer rationalen Datenbank) meiner Meinung nach falsch ist.
Formulare sollten ohnehin auf Abfragen, satt Tabellen zugreifen, also mach das zusätzliche Abfragefeld.

Zitat:
Das ganze wird angesteuert über ein Makro (mit der Aktion AusführenCode); die AusführenCode-Aktion steuert eine Funktion, die wiederum die oben stehende Prozedur aufruft. (wahrscheinlich gehts auch einfacher, ?)
Versichte komplett auf Makros.

Zitat:
Ich verstehe nicht, wieso diese Zuweisung nicht funktioniert.
Es fehlt die Update-Anweisung:
Code:
        rs.Edit
        rs!Studienpatient = False
        rs.Update

Gruß Mike
MissPh!
Office-VBA-Programmiererin


Verfasst am:
13. Okt 2009, 16:53
Rufname:
Wohnort: NRW


AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo,

es fehlt sowohl das rs.Update wie auch das Positionieren auf den aktuellen Datensatz.

_________________
Gruß MissPh!
Gast



Verfasst am:
13. Okt 2009, 17:08
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo,
die Bemerkung von MissPH hat mich drauf gebracht, wozu das Recordset? Du kannst direkt das Formularfeld füllen:
Code:
    Forms![Hauptformular]![Studienpatient] = True
Das macht auch gleich noch mal die "Sinnfreiheit" deines Ansatzes deutlich Wink.

Gruß Mike
TZ.
Office-Beginner


Verfasst am:
13. Okt 2009, 17:41
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Puh, tatsächlich, damit funktioierts (fast) wie es soll, es wird das Feld der Tabelle gefüllt. Nur "mein" erster Datensatz mit der ID=1 wird nicht mehr von dem Makro nicht mehr angesprochen. Widme mich morgen dieser Sache.

Danke zunächst vielmals Exclamation

Übrigens: Ich gehöre nicht zu den Vertretern der Philosophie "Verwende keine Makros!". Ich finde die nämlich (noch) recht nützlich.

Apropos Sinnfreiheit: Freiheit ist Sinn. Und in Sinn findet sich Freiheit. Freiheit und Sinn sind nicht zu trennen. "Sinnfreiheit" ist also so gesehen eine Tautologie. Es gibt keinen Sinn ohne Freiheit und keine Freiheit ohne Sinn. Was du meintest ist: Sinnfreiheit gleich Abwesenheit von Sinn. Das hab ich schon verstanden. Rolling Eyes

Schönen Abend zusammen.

Lieben Gruß
Thomas

_________________
Gruß
TZ.
------------
Der Dank ist immer da,
auch wenn er nicht ausgesprochen wird.
Gast



Verfasst am:
13. Okt 2009, 19:29
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo Thomas,
Zitat:
Was du meintest ist: Sinnfreiheit gleich Abwesenheit von Sinn. Das hab ich schon verstanden.
Nein das ist nicht die Wahrheit, du hast es gelesen, du hast es gesehen aber sicher nicht verstanden Laughing.
Ich wollte eigentlich sinnlos schreiben, aber das war mir zu hart.

Also jetzt was unverfängliches:
Es ist nach meiner Meinung falsch was du da tust. Und was falsch ist entscheidet bei einer Datenbank die Datenbanktheorie und die vermute ich auf meiner Seite Wink.

Gruß Mike
TZ.
Office-Beginner


Verfasst am:
14. Okt 2009, 09:14
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Guten Morgen Mike,

Was genau meinst du ist falsch? (heißt es übrigens nicht "relationale" statt "rationale" Datenbank?).

Gruß
Thomas

P.S. Wenn du über Wahrheit sprechen möchtest, dann müssten wir das in einem anderen Forum tun. Sinnlosigkeit *ist* Abwesenheit von Sinn.

_________________
Gruß
TZ.
------------
Der Dank ist immer da,
auch wenn er nicht ausgesprochen wird.
Gast



Verfasst am:
14. Okt 2009, 09:25
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Was genau meinst du ist falsch?
Zitat:
dieses Ja/Nein-Feld ist (eigentlich) unnötig/redundant, wenn das vorhandene Datum das (einziges) Kriterium ist.

Du kannst eine Abfrage erstellen, mit einem Ja/Nein Feld
Code:
SP: Wenn([DeinDatum] Ist Null;Falsch;Wahr)
oder auch das Datum zum ensprechenden Filtern nutzen.

Zitat:
heißt es übrigens nicht "relationale" statt "rationale" Datenbank
Wohl wahr, du merkst aber auch (fast) alles Embarassed .

Mit rational wollte ich darauf hinweisen, das dein Tabellenaufbau logisch (richtig) sein sollte Laughing .

Gruß Mike
TZ.
Office-Beginner


Verfasst am:
14. Okt 2009, 10:18
Rufname:

AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo,

Ich denke ich sehe was du meinst. Mit der Abfrage
Code:
SP: Wenn([DeinDatum] Ist Null;Falsch;Wahr)
erscheint das "Problem" viel eleganter gelöst. Das ist was ich meinte, das meine Lösung vielleicht zu umständlich ist (Marko --> Funktion --> Prozedur). Es ist dennoch hart, dies gleich als "falsch" zu bezeichnen, findest du nicht? Es funktioniert ja so wie wir es gestern dann gelöst haben, ich brauchte nur deinen Hinweis
Code:
    Forms![Hauptformular]![Studienpatient] = True
umzusetzen und schon bin ich zufrieden damit, es ist wie ich es mir vorgestellt habe.

"Falsch;Wahr" bezeichnet dann die jeweiligen Aktionen, die bei Nichterfüllung bzw. Erfüllung der Bedingung "[DeinDatum] Ist Null" ausgeführt werden sollen? - O.k. ich werde mir diesen Abfragebefehl, der ein If und ein Ja/Nein beinhaltet merken und vielleicht, wenn ich mich dann erinnern werden, in der Zukunft verwenden. Für jetzt, bin ich mit der Lösung zufrieden, da ich "nur" Datenbankpraktiker bin (und dazu noch Beginner).

Herzlichen Dank. -
Gruß
Thomas
Gast



Verfasst am:
14. Okt 2009, 11:02
Rufname:


AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern - AW: Eingegebenes Datum soll ein Ja/Nein-Feld steuern

Nach oben
       Version: Office 2003

Hallo Thomas,
Zitat:
(Marko --> Funktion --> Prozedur). Es ist dennoch hart, dies gleich als "falsch" zu bezeichnen, findest du nicht?
Als falsch bezeichne ich nur die geplante zusätzliche Spalte.
Die Konstellation :
Makro --> Funktion --> Prozedur
bezeichne ich eher als umständlich, unschön, wartungsunfreudlich.

Wenn eine Lösung funktioniert ist sie noch lang nicht gut. "Schlechte" Lösungen können sich nur Profis erlauben, denn sie wissen (normalerweise) was sie tun.
Beginner sollten grundsätzlich beste Lösungen im Rahmen ihrer Fähigkeiten anstreben.

Gruß Mike
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Datum in Tabelle bzw. Abfrage umsetzen 3 Wolfe 721 14. Feb 2005, 17:52
Pino Datum in Tabelle bzw. Abfrage umsetzen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-String mit Datum .... !? 2 DoMe 1128 07. Feb 2005, 14:03
DoMe SQL-String mit Datum .... !?
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinierte Abfrage (Datensatz mit neuestem Datum) 16 Gelezun 2163 05. Feb 2005, 19:53
Gelezun Kombinierte Abfrage (Datensatz mit neuestem Datum)
Keine neuen Beiträge Access Tabellen & Abfragen: Datum im Formularkopf 6 didide 821 06. Jan 2005, 17:19
lothi Datum im Formularkopf
Keine neuen Beiträge Access Tabellen & Abfragen: Alter auf Basis akt. Datum ausrechnen 2 jomei 1634 22. Dez 2004, 09:15
jomei Alter auf Basis akt. Datum ausrechnen
Keine neuen Beiträge Access Tabellen & Abfragen: Datum nur als Monat und Jahr aus geben? 6 IV 1142 17. Dez 2004, 10:54
IV Datum nur als Monat und Jahr aus geben?
Keine neuen Beiträge Access Tabellen & Abfragen: Datum erreicht 54 umbroboy 5114 10. Dez 2004, 19:09
dumpfbacke Datum erreicht
Keine neuen Beiträge Access Tabellen & Abfragen: Vom Datum nur das Jahr in eine neue Spalte kopieren 1 peinberger 1652 10. Dez 2004, 17:11
Skogafoss Vom Datum nur das Jahr in eine neue Spalte kopieren
Keine neuen Beiträge Access Tabellen & Abfragen: Wie Wochentag aus Datum "berechnen"? 2 Gast 1447 15. Nov 2004, 07:37
Thomasro Wie Wochentag aus Datum "berechnen"?
Keine neuen Beiträge Access Tabellen & Abfragen: Datum abfragen bericht anzeigen // Artikel usw. suchen 2 mr@ 1259 10. Okt 2004, 20:03
mr@ Datum abfragen bericht anzeigen // Artikel usw. suchen
Keine neuen Beiträge Access Tabellen & Abfragen: filter nach datum 9 Piet 1046 30. Aug 2004, 17:14
Willi Wipp filter nach datum
Keine neuen Beiträge Access Tabellen & Abfragen: änderungsabfrage mit datum läuft nicht 1 gast 829 05. Aug 2004, 16:23
Willi Wipp änderungsabfrage mit datum läuft nicht
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Macromedia Dreamweaver