Hi,
ich bin leider wohl schon zu lange aus Access „raus“ um den Fehler zu erkennen.
Was mein Code tun sollte:
im Formular zum ersten Datensatz springen
beim durchlaufen der Datzensätze die Felder leeren und den Hintergrund auf WEISS setzen
beim letzten Datensatz aufhören
Was er macht:
den aktuellen Datensatz leeren und den Hintergrund auf WEISS
Ich Arbeite mit einem Formular das mit der Abfrage a4_vokabeln Vokabeln anbietet die dann in den Feldern „…ueben“ ausgefüllt werden. Bei RICHTIG wird die Farbe grün beim FALSCH wird die Hintergrundfarbe rot. Der Code soll einfach alles zurücksetzen.
Ich habe einen Button erstellt der den nachfolgenden Code starten soll.
Private Sub Befehl52_Click()
_ Dim zaehler As Integer _
_ Dim db As DAO.Database _
_ Dim rs As DAO.Recordset2 _
_ Set db = CurrentDb _ Set rs = db.OpenRecordset(„a4_vokabeln“ )
ich bin leider wohl schon zu lange aus Access „raus“ um den
Fehler zu erkennen.
„den“ Fehler?? Hier gibt es NUR Fehler … Sorry
Was mein Code tun sollte:
im Formular zum ersten Datensatz springen
beim durchlaufen der Datzensätze die Felder leeren und den
Hintergrund auf WEISS setzen
beim letzten Datensatz aufhören
Dann müsste man ganz anders an die Sache herangehen…
Was er macht:
den aktuellen Datensatz leeren und den Hintergrund auf WEISS
das ist nicht falsch …
Ich Arbeite mit einem Formular das mit der Abfrage a4_vokabeln
Vokabeln anbietet die dann in den Feldern „…ueben“
ausgefüllt werden. Bei RICHTIG wird die Farbe grün beim FALSCH
wird die Hintergrundfarbe rot. Der Code soll einfach alles
zurücksetzen.
Wie lautet der SQL-String der Abfrage (Abfrageentwurf/SQL-Ansicht) ?
und um welche Formular-Art handelt es sich (Einzelform, Endlosform)?
Ich habe einen Button erstellt der den nachfolgenden Code
starten soll.
Private Sub Befehl52_Click()
_ Dim zaehler As Integer _ ’ immer LONG benutzen
_ Dim db As DAO.Database _
_ Dim rs As DAO.Recordset2 _ ’ Recordset2 ist für Anlagenfelder, bzw. die dafür benutzten internen Tabellen vorgesehen.
_ Set db = CurrentDb _ Set rs = db.OpenRecordset(„a4_vokabeln“ )
_ rs.MoveFirst _ 'überflüssig
_ Do While Not rs.EOF _
_ t4_englisch1_ueben = Null _ 'ab hier werden die Formular-Textfelder (des akt. angezeigten Datensatzes) angesprochen und nicht die Recordset-Felder
_ t4_englisch2_ueben = Null _
_ t4_englisch3_ueben = Null _
_ t4_englisch4_ueben = Null _
_ t4_deutsch1_ueben = Null _
_ t4_deutsch2_ueben = Null _
_ t4_deutsch3_ueben = Null _
_ t4_deutsch4_ueben = Null _
Danke dass Du mir hilfst,
Das Formular ist ein Einzelformular
der Code lautet
SELECT t4_vokabeln.t4_id, t4_vokabeln.t4_englisch1,
t4_vokabeln.t4_englisch2, t4_vokabeln.t4_englisch3,
t4_vokabeln.t4_englisch4, t4_vokabeln.t4_deutsch1,
t4_vokabeln.t4_deutsch2, t4_vokabeln.t4_deutsch3,
t4_vokabeln.t4_deutsch4, t4_vokabeln.t4_englisch1_ueben,
t4_vokabeln.t4_englisch2_ueben,
t4_vokabeln.t4_englisch3_ueben,
t4_vokabeln.t4_englisch4_ueben, t4_vokabeln.t4_deutsch1_ueben,
t4_vokabeln.t4_deutsch2_ueben, t4_vokabeln.t4_deutsch3_ueben,
t4_vokabeln.t4_deutsch4_ueben, t4_vokabeln.t4_ueben,
t4_vokabeln.t4_dauerhaft_erledigt
FROM t4_vokabeln
WHERE (((t4_vokabeln.t4_ueben)=„x“))
ORDER BY t4_vokabeln.t4_id;
Neben der Missachtung der essentiell nötigen Normalisierung bei Datenbanken ist mir nicht klar, welche Bedeutung die einzelnen Felder(aufzählungen) haben…
Vermutlich soll in (z. B. ) „t4_deutsch4_ueben“ die deutsche Übersetzung der englischen Vokabel stehen, die im Feld „t4_englisch4“ angezeigt wird.
resp. soll in (z. B. ) „t4_englisch4_ueben“ die englische Übersetzung der deutschen Vokabel stehen, die im Feld „t4_deutsch4“ angezeigt wird.
Es könnte mit der Bedingten Formatierung bei jeweils allen der zutreffenden Feldern gelöst werden, wenn die „Übungs“-Vokabel („t4_englisch4_ueben“) mit der „Soll“-Vokabel („t4_englisch4“) verglichen und dadurch das entspr. Feld passend formatiert wird.
Es könnte mit der Bedingten Formatierung bei jeweils allen der
zutreffenden Feldern gelöst werden, wenn die „Übungs“-Vokabel
(„t4_englisch4_ueben“) mit der „Soll“-Vokabel („t4_englisch4“)
verglichen und dadurch das entspr. Feld passend formatiert
wird.
Gruß
Franz,DF6GL
Hallo Franz,
das funktioniert auch. Ich nutze dass, wenn die 4 Vokabeln pro Datensatz nochmal geübt werden sollen. Also bei dem aktuellen Datensatz kann ich auf Knopfdruck das Feld leeren und zurücksetzen auf weiß, aber wenn er nicht nur 4 sondern 12 Vokabeln lernen muss sind das 3 Datensätze. Da hätte ich gerne auf „Knopfdruck“ die 3 Datensätze zurückgesetzt und keine Fehlermeldung wenn der letzte Datensatz überschritten wird. Daher habe ich es mit einem EOF versucht.