2016-08-04 25 views
-1

Ich habe zwei Tabellen in Access ich versuche zu beziehen: Produkte & Preise.MS Access - Verknüpfen Feld Wert mit Spalte

Es folgt ein vereinfachtes Beispiel

ProductCode ProductName 
    A    Sugar 
    B    Salt 
    C    Bread 


Date   A   B   C 
01/02/2016  $1  $2  $3 

Ich will nicht die Preise Tabelle wie folgt aufgeteilt:

Date   Code Price 
01/02/2016  A  $1  
01/02/2016  B  $2 
01/02/2016  C  $3 

meine Unwissenheit entschuldigen, wie ich für den Zugriff auf neu bin.

Danke für den Rat.

Antwort

2

Wahrscheinlich nicht die Antwort, die Sie erwarten, aber hier ist es trotzdem:
Access ist eine relationale Datenbank, und wenn es zu benutzen Sie sollen einige Design-Regeln für Ihre Tabellen folgen. Suchen Sie im Internet nach "Datenbanknormalisierung" (eventuell normali z).

Zum Beispiel ist Ihre Prices Tabelle nicht richtig entworfen: Sollten Sie jemals ein viertes Produkt haben, würde es eine Änderung der Tabellenstruktur erfordern. Ein besseres Design wäre so etwas wie:

PriceId as AutoNumber 
dtReplaced as date 'leave Null for 'active' prices 
ProductCode as string 
Price as Currency 

mit einem PK auf PriceId und eindeutigen Index für Produktcode + dtReplaced zu avoid mit 2 aktiven Preisen für das gleiche Produkt.

Beachten Sie auch, dass Date ein reserviertes Wort ist und nicht als Feldname verwendet werden sollte, es sei denn, Sie suchen wirklich nach Ärger.

+2

http://r937.com/relational.html – Fionnuala

+0

@Fionnuala netter Link. Aber es ist so gut versteckt, dass ich es nicht finden konnte, indem ich von oben auf der Seite navigiere. –