Juli 02, 2022, 19:12:37

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Gültigkeitsregel andere Tabelle

Begonnen von AccessTOSQL, April 01, 2022, 21:22:38

⏪ vorheriges - nächstes ⏩

AccessTOSQL

Hallo,
ich habe folgendes Problem:
Ich habe die Tabelle Nummern und die Tabelle Artikel. Ich dem Feld Artikelnummer der Tabelle Artikel sollen nur Werte zugelassen werden, die in der Tabelle Nummern enthalten sind.
Wie kann ich mit dem Ausdrucksgenerator auf die Tabelle Nummern zugreifen? so etwas wie:

Artikel.Artikelnummer IN Nummern.Werte

Ich habe schon viel gesucht, aber da sind nur beispiele die sich auf logische Operatoren beschränken.

Jede hilfe ist willkommen :-)

MzKlMu

Hallo,
nimm ein Kombinationsfeld zur Auswahl der Nummern dann kannst du nur vorhandene Werte auswählen.
Das ist die übliche und einfachste Vorgehensweise.
Gruß
Klaus

PhilS

Zitat von: AccessTOSQL am April 01, 2022, 21:22:38Ich habe die Tabelle Nummern und die Tabelle Artikel. Ich dem Feld Artikelnummer der Tabelle Artikel sollen nur Werte zugelassen werden, die in der Tabelle Nummern enthalten sind.
Das ist der Standardfall für einen Fremdschlüssel mit Referenzieller Integrität.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

AccessTOSQL

Vielen Dank für die superschnelle Hilfe, das hatte ich nicht erwartet!!!
Weil wir unser Büro umgezogen haben, bin ich erst jetzt wieder an dem Thema.

Zitat von: PhilS am April 01, 2022, 22:13:36
Zitat von: AccessTOSQL am April 01, 2022, 21:22:38Ich habe die Tabelle Nummern und die Tabelle Artikel. Ich dem Feld Artikelnummer der Tabelle Artikel sollen nur Werte zugelassen werden, die in der Tabelle Nummern enthalten sind.
Das ist der Standardfall für einen Fremdschlüssel mit Referenzieller Integrität.
Das ist genau was ich gesucht hatte! ich hatte die Tabellen/Felder auch schon so verknüpft, war mich aber nicht sicher ob es richtig ist.

Zitat von: MzKlMu am April 01, 2022, 21:50:14Hallo,
nimm ein Kombinationsfeld zur Auswahl der Nummern dann kannst du nur vorhandene Werte auswählen.
Das ist die übliche und einfachste Vorgehensweise.
Das werde ich bei den Formularen nutzen um Daten von alten Karteikarten eintragen zu lassen, Danke!


Somit war mein Problem eigentlich schon nach 51min gelöst :-) Danke!

AccessTOSQL

Wo ist der Knopf " sag Danke" ? ist es der "Gefällt mir" Button?

Und wo kann ich das Thema als gelöst markieren?

Beaker s.a.

Hallo,
Ich halte das noch nicht für "gelöst".
So kannst du ja mehreren Artikeln die gleiche Nummer zuweisen. Ist
das gewollt?
Wenn nicht müsste der FK einen eindeutigen Index bekommen. Dann
hast du aber eine 1:1-Beziehung, die hier IMO keinen Sinn macht; -
will sagen, dann kannst du die Nummer auch gleich direkt in der
Artikel-Tabelle anlegen.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

AccessTOSQL

Hallo ekkehard

Zitat von: Beaker s.a. am April 08, 2022, 14:44:45Hallo,
Ich halte das noch nicht für "gelöst".
So kannst du ja mehreren Artikeln die gleiche Nummer zuweisen. Ist
das gewollt?
Wenn nicht müsste der FK einen eindeutigen Index bekommen. Dann
hast du aber eine 1:1-Beziehung, die hier IMO keinen Sinn macht; -
will sagen, dann kannst du die Nummer auch gleich direkt in der
Artikel-Tabelle anlegen.

gruss ekkehard


Danke für dein aufmerksames Mitlesen. Wenn ich in der Tabelle Artikel eine Nummer eingebe, die nicht in der Tabelle Nummern enthalten ist, kommt eine Fehlermeldung. Somit ist mein Problem eigentlich gelöst.
Der Sinn dahinter ist für mich, dass ich in der Tabelle Nummern, alle verfügbaren Nummern hinterlegt habe, aber nur die wirklich in gebraucht sind, sind mit einem Artikel in der Tabelle Artikel vorhanden.

DF6GL

Mai 17, 2022, 14:31:43 #7 Letzte Bearbeitung: Mai 17, 2022, 14:37:58 von DF6GL
Hallo,
ZitatSomit ist mein Problem eigentlich gelöst.


sehe ich, wie Ekkehard auch, nicht so....


Es ist schon möglich einem Artikel nur eine der Nummern zu vergeben, die in der Nummern-Tabelle enthalten sind.

Was ist aber, wie Ekkehard wohl meint, wenn dieselbe Nummer auch einem anderen Artikel zugewiesen wird?
 Hierbei kommt dann keine Fehlermeldung.


Was für eine Bedeutung hat denn eine solche "Nummer" überhaupt?

Beaker s.a.

Hallo,
Es geht auch mit dem was du hast. Die Beziehung zwischen Artikel und
Nummern würde ich entfernen. Die Letztere dient nur der Wertevorhaltung.
Da entsteht zwar eine Redundanz, die ich aber für vertretbar halte.
Der Tabelle "Artikel" würde ich auf jeden Fall einen PK vom Typ AutoWert
(LongInteger) spendieren, um nur über diesen alle nötigen Beziehungen
herzustellen. Das Feld "Artikelnummer" bekommt einen eindeutigen Index.
Zur Auswahl im Artikel-Formular richtest du ein Kombi ein, gebunden an
"Artikelnummer". Als DS-Herkunft
SELECT
    DeineNummer 'anpassen!
FROM Nummern
WHERE DeineNummer NOT IN
     (SELECT Artikelnummer FROM Artikel)

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.