• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Acces - Feldeintrag erzwingen

DerLadendieb

White and Nerdy

Registriert
23 Juli 2013
Beiträge
303
Ort
Yellow Submarine
Hallo zusammen,

weiß jemand von euch wie ich, wenn ein bestimmter Wert gewählt wird einen Feldeintrag in Acces erzwingen kann?
Zum Beispiel Feld 4 hat 3 Auswahlmöglichkeiten - und wenn die 2. gewählt wird soll Feld 5 eine Eingabe erfordern, allerdings soll dies wenn 1. oder 3. gewählt wird nicht passieren.

Also eine Art IF-Anweisung wird benötigt - Ist dies ohne VBA realisierbar?
Wenn Nein, wie ist es mit VBA realisierbar?

Danke im voraus für eure Hilfe,
DerLadendieb
 

tophirsch

erster Hirsch am Platze

Registriert
6 Aug. 2013
Beiträge
929
Ort
hinterm Wald
Bekommt Feld 5 einen default Wert, wenn keine Möglichkeit mit Eingabe gewählt wurde? Oder was kommt dann rein?
Ging da vielleicht was mit einem Berechnungsfeld, das eine IF-Anweisung nutzt?

edit:
Oder in der Design-Ansicht des Formulars das Eingabefeld mit ner bedingten Formatierung versehen. Man konnte damit glaub ich auch die Eigenschaft "enable" steuern, also ob Eingaben möglich sind oder nicht.

edit2:
Gerade gelesen, das das Feld dann eine Eingabe erfordern soll. Wenn das heißt, das Leerlassen keine gültige Eingabe ist, müsste man das noch in einer Validierungsregel verwursten.
 
Zuletzt bearbeitet:

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.754
Ort
in der Zukunft
Das dürfte glaube ich nur mit VBA gehen - außer dafür ist ein Feature ab Access2010 hinzu gekommen - die genauen neuen Features von Access habe ich noch nicht gebraucht ;D

[src=vb]Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Combobox.selected(1) = True AND Me.Textfeld.text = "" Then
MsgBox "Bemerkung muss ausgefüllt werden!", , ""
Cancel = True 'Speichern abbrechen
Me!Textfeld.SetFocus
End If
End Sub[/src]

könnte funktionieren.
 

DerLadendieb

White and Nerdy

Registriert
23 Juli 2013
Beiträge
303
Ort
Yellow Submarine
  • Thread Starter Thread Starter
  • #4
@tophirsch

Bekommt Feld 5 einen default Wert, wenn keine Möglichkeit mit Eingabe gewählt wurde? Oder was kommt dann rein?

Feld 5 ist als Datum deklariert und soll dementsprechend ein bestimmtes Datum beinhalten.
Wenn Feld 4 die Auswahlmöglichkeit 1 oder 3 wählt wäre ein Datum sinnlos, aber bei Auswahlmöglichkeit 2 ist es unbedingt notwendig.

müsste man das noch in einer Validierungsregel verwursten.

Ist das kompliziert?


@drfuture

Wie genau muss ich so einen VBA Code deklarieren? Als neues Modul in VB Editor?
Und wie greife ich aus der Tabelle darauf zu?


Danke an euch beide für die Antworten.
 
Zuletzt bearbeitet:

tophirsch

erster Hirsch am Platze

Registriert
6 Aug. 2013
Beiträge
929
Ort
hinterm Wald
Im deutschen Access nennt sich das Gültigkeitsregel. Je nach Version musst du mal schauen, wo du die definieren kannst. Bei 2010 gehts unter Felder>Überprüfung>Datensatz Gültigkeitsregel

Klimper da mal sowas rein:
[src=text](([auswahlfeld]=1 Oder [auswahlfeld]=3) Und IstNull([datum])) Oder ([auswahlfeld]=2 Und IstDatum([datum]))[/src]

Er bringt dann eine Meldung, wenn bei [auswahlfeld] =1 oder =3 etwas im Datumsfeld steht, muss also leer bleiben. Er beschwert sich auch, wenn das Datumsfeld leer bleibt, wenn [auswahlfeld] = 2 ist. Wenn du mehr als 3 mögliche Werte im Auswahlfeld hast, musste das auch noch mit einer weiteren Klammer verodern. Kann ich dir dann auch nochma helfen, wenns klemmt. Bildet das grundsätzlich erstmal das gewünschte Verhalten ab?
 
Zuletzt bearbeitet:

DerLadendieb

White and Nerdy

Registriert
23 Juli 2013
Beiträge
303
Ort
Yellow Submarine
  • Thread Starter Thread Starter
  • #6
Danke für die schnelle Antwort.
Sieht theoretisch sehr gut aus - werde das jetzt testen und dann ein Feedback geben.

/edit:

Ich muss das mal zu Hause testen - habe in der Firma nur Zugriff auf Acces 2002.
Das ist wie ein Schlag ins Gesicht wenn du Access 2013 gewohnt bist.

Feedback folgt.
 
Zuletzt bearbeitet:

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.754
Ort
in der Zukunft
Der Code müsste direkt "hinter" das Formular gelegt werden, also im VBA-Editor das Formular auswählen, aber die Lösung vom Hirsch ist eh viel besser :)
 

DerLadendieb

White and Nerdy

Registriert
23 Juli 2013
Beiträge
303
Ort
Yellow Submarine
  • Thread Starter Thread Starter
  • #8
So, bin heute endlich dazu gekommen den Vorschlag von tophirsch umzusetzen.

Nachdem ich fälschlicherweise versucht habe das ganze als Feld Gültigkeitsregel, anstatt als Datensatz Gültigkeitsregel zu definieren hat es dann doch tadellos funktioniert.
Bei Access 2013 findet man die Einstellung ebenfalls unter "Felder>Überprüfung>Datensatz Gültigkeitsregel".

Da ich mich mit VBA ehrlich gesagt noch gar nicht auskenne habe ich den Lösungsvorschlag von drfuture aussen vorgelassen.
Muss mich aber in nächster Zeit wohl sowieso damit beschäftigen.


Danke nochmals an euch beide für die Hilfe.
 
Oben