Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Moderator: ModerationP

Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon Raubgraf » 03. Jul 2019, 11:41

Hallo liebe community,

Wenn ich eine tbl_vertrag habe mit den Feldern, idvertrag, vertragsbeginn und vertragsende sowie eine tbl_miete mit den Feldern idmiete, mieteab, mietebis, kaltmiete...

Wie stelle ich sicher, das in miete ab nur Daten eingegeben werden können die auch innerhalb der Vertragdauer liegen ?

Geht das auf Tabellenebene oder muss ich eine VBA-Lösung beforeupdate stricken ?


Besten Dank
Raubgraf
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 207
Registriert: 13. Feb 2017, 11:18

Re: Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon Bitsqueezer » 03. Jul 2019, 14:02

Hallo,

Du kannst auf Tabellenebene im Design eine Gültigkeitsregel einstellen, ebenso eine Meldung, die erscheinen soll, wenn die Regel verletzt wird. Solange sich die Regel auf Felder im gleichen Datensatz beziehen.

Im Fall eines Datenbankservers als Backend könntest Du einen Constraint erstellen, der dann auch Funktionen verwenden kann, die sich auch auf andere Tabellen/Datensätze beziehen könnten, wenn erforderlich.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7035
Registriert: 21. Jun 2007, 12:17

Re: Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon Raubgraf » 15. Jul 2019, 17:19

Wie könnte eine VBA Prüfung before update aussehen ?

tbl_vertrag
idvertrag
vertragab

tbl_miete
id_vertrag
mieteab

Ich möchte also mieteab bei eingabe in tbl_miete prüfen ob mieteab>=vertragab des über idvertrag verbundenen DS in der tbl_vertrag

Vielen DANK
Raubgraf
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 207
Registriert: 13. Feb 2017, 11:18

Re: Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon knobbi38 » 15. Jul 2019, 17:36

OT:
Bitsqueezer hat geschrieben:Im Fall eines Datenbankservers als Backend könntest Du einen Constraint erstellen, der dann auch Funktionen verwenden kann, die sich auch auf andere Tabellen/Datensätze beziehen könnten, wenn erforderlich.

Zur Info am Rande:
Vom einem MVP habe ich mir zeigen lassen, daß das auch eingeschränkt bei Access-Tabellen (nur per ADO und DDL!) geht. Allerdings werden diese Constraints dann nicht in der Access-Oberfläche angezeigt und können auch nur per DDL bearbeitet werden.
Habe ich gleich wieder vergessen, weil absolut nicht maintenierbar. :(

Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1210
Registriert: 02. Jul 2015, 14:23

Re: Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon Raubgraf » 16. Jul 2019, 18:23

Deshalb ja meine Frage nach einer VBA Anweisung per SQL String ?
Raubgraf
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 207
Registriert: 13. Feb 2017, 11:18

Re: Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon Bitsqueezer » 16. Jul 2019, 21:47

Hallo,

alles eine Frage der Formularsteuerung. Um das zu machen, muß der User ja wenigstens schon den Vertrag gewählt und ein Mieteab-Datum eingegeben haben. Im Regelfall kann der User aber jedes Feld zuerst ansteuern - es sei denn, man zwingt ihn dazu, indem man alle Felder außer VertragsID erst mal deaktiviert.

Andere Möglichkeit ist, eben das auch in Form_BeforeUpdate zu validieren, das ja bekanntermaßen einen Cancel-Parameter hat, den man nach einer Fehlermeldung auf True setzt, dann kann der Datensatz nicht gespeichert werden.

Hier kannst Du also erst mal prüfen, ob beide Felder eingegeben wurden. Wenn Du das hast, kannst Du mit DLookup den Wert für VertragAb anhand der VertragsID aus der Vertragstabelle lesen und prüfen, ob alles stimmt.

Eine weitere Alternative wäre eine mehrspaltige Kombobox: Wenn Du eine Kombobox zur Auswahl der VertragsID hast, kannst Du dort auch die benötigten Informationen als Zusatzspalten einbauen. Beim Validieren in Form_BeforeUpdate brauchst Du dann keinen Extra-Lookup, sondern nimmst den Wert aus der entsprechenden Spalte der Kombobox.

Ja, und coden darfst Du das jetzt selbst...;-)
Learning by doing.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7035
Registriert: 21. Jun 2007, 12:17

Re: Datumsgültigkeit in Tbelle A von Daten in Tabelle B

Beitragvon Raubgraf » 18. Aug 2019, 18:36

Christian - tausend DANK das bringt mich weiter !
Raubgraf
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 207
Registriert: 13. Feb 2017, 11:18


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste

cron