WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Access: per Makro Checkboxen zurücksetzen (http://www.wcm.at/forum/showthread.php?t=232099)

Chrisi99 03.12.2008 07:55

Access: per Makro Checkboxen zurücksetzen
 
Hallo Leute!

ich würde gerne in einer recht große Tabelle alle Checkboxen mit einem Makro zurücksetzen können.

Leider habe ich seit Jahren nichts mehr mit Access geschweige denn VB gemacht, würde also eure Hilfe benötigen!


Lg
Chris

wbendl 03.12.2008 09:48

Hi!

Meinst du jetzt in den Datensätzen oder im Formular?


mfg

WB

Chrisi99 03.12.2008 12:49

Hi WB!

in den Datensätzen! Da gibt es da Hakerl "Mitgliedsbeitrag entrichtet", das würde ich beim Übergang ins neue Jahr gerne kollektiv entfernen!

Lg

wbendl 03.12.2008 16:06

Hi!

Schau in die Hilfe des VBA-Editors. Suche nach Execute-Methode.

Information über das SQL-Statement findest du hier:
http://sql.1keydata.com/de/sql-update.php

Vergiß nicht die WHERE-Klausel, sonst Ändert du alle Datensätze!!!


mfg

WB

Chrisi99 03.12.2008 17:38

habs per "UPDATE" in der Abfrage gemacht... funktioniert ausgezeichnet!


UPDATE Table1
SET Beitr=no
WHERE Beitr = yes;

Ich hoffe, es gibt keine bösen Überraschungen ;.)

Lg
Chris

FranzK 04.12.2008 03:22

Im Prinzip funktioniert es, aber du verlierst bei dieser Lösung die Information, ob jemand heuer den Mitgliedsbeitrag überhaupt bezahlt hat. Ich würde also keinen Boolean-Wert sondern einen Integer für eine Jahreszahl nehmen. Dort steht das Jahr der letzten Bezahlung drin und wird mit jedem Mitgliedsbeitrag um eins erhöht. Zur leichteren Handhabung könntest du ein zusätzliches berechnetes Boolean-Feld verwenden, das immer dann auf True gesetzt wird, wenn das Jahr des letzten geleisteten Mitgliedsbeitrags gleich dem aktuellen Kalenderjahr ist...

Martin_H3G 04.12.2008 21:52

auch möglich: Feld in der Tabelle welches beim Bezahlen automatisch mit dem Jahr versorgt wird:
FeldName = Year(now())
als Code wenn das Feld "Bezahlt" auf True gesetzt wird (im Formular zb setzbar)

Chrisi99 05.12.2008 09:08

Martin, die Idee gefällt mir sehr gut...

wie kann ich das konkret umsetzen, hatte leider zuletzt in der Schule mit Access zu tun, bin etwas eingerostet...

Danke für eure Tipps!

lg
Chris

Martin_H3G 06.12.2008 20:44

Beispiel:

Tabelle:
MitgliedsName (Text)
Bezahlt (Ja/Nein)
BezahltDatum (Zahl / Integer / Standardzahl)

Formular:
Eingabefelder für Mitgliedsname, Bezahlt und BezahltDatum
Eigenschaften bei "Bezahlt":
Ereignisprozedur bei "Nach Aktualisierung":
Code:
Dim A As Integer
If Bezahlt = True Then
A = Year(Now())
BezahltDatum = A
Else
MsgBox ("Nicht bezahlt!")
End If
Repaint


Das REPAINT sorgt dafür, dass das Jahr auch sofort im Formular sichtbar wird.

Hoffe ich konnte helfen.

LG Martin


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag