relatie schema en/of query probleem

  • Onderwerp starter Onderwerp starter tetn
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

tetn

Gebruiker
Lid geworden
25 sep 2003
Berichten
8
hallo, zie relatieschema bijgevoegd.

ik heb dus een device tabel met daaronder
naam
soort
plaats
.....
type



soort is ofwel router/switch/terminal/bridge

nu dan heb ik een tabel type deze bevat
de naam, de fabrikant , de soort

dus bij device zou ik alleen alle namen van de types waar van de soort gelijk is aan de soort in de tabel van de devices.

Nu ik denk dat mijn relatie schema fout omdat ik het met queries gelijk nie gemaakt krijg.

help
 

Bijlagen

Ik weet niet precies wat je wilt doen, maar ik denk dat ik je wel kan helpen.

Voordat je een database gaat maken, maak je eerst een schema van de entiteiten en relaties daartussen.

dan maak je eerst je tabellen en daarna definieer je de relaties in access.

Ik zie in je relatieschema dat je een ronde relatie hebt, een kringverwijzing, dus device komt weer bij zichzelf uit. dat is nooit goed.

Het komt er ongeveer op neer dat je een device database maakt, elke device is van één soort en van één type (kan ook meer zijn.)\

soort is hier redundant, hij komt twee keer voor. m.a.w.; device>soort>type dus je relatie leg je tussen device en type en tussen type en soort.

Dan kan je querys gaan schrijven.

Ik zal 'm aangepast bijlagen. Kijk maar niet naar die ene type toewijzing

tip: maak bij het tabel ontwerpen veel gebruik van de wizard opzoeken.
 
merci om het eens te bekijken en merci voor je antwoord. Ik wist inderdaad dat die lus niet echt kan, maar ik wist anders gelijk geen oplossing. want het is zo dat de naam van de device gecontroleerd moet worden met de soort van de device. wat ik daarmee wil zeggen dat als ik dus als soort een router heb, dat de naam van de device zeker met een r moet beginnen. dat moet ik dus controleren. Nu bij mn vorig schema deed ik dat dus met vb-code. maar nu weet ik niet goe ik da zou doen. ?
 
Eigenlijk hoort die controle niet thuis in je database relatie schema.

Als ik het goed begrijp tenminste.

Je zou ingewikkeld kunnen doen met een aantal joins en weet ik veel wat. Slimmer is om je invoerformulier op een query te baseren, waarin je de tabel soorten toevoegd (relatie komt vanzelf in beeld)

Dan voeg je de velden soort en type toe

dan zet je in code:
Private Sub naam_BeforeUpdate(Cancel As Integer)
If Left(naam.Text, 1) <> "r" And [soorten_naam] = "router" Then
MsgBox "naam van dit object moet beginnen met een r!"
Cancel = True
End If
End Sub

Maar ik heb ff gauw gekeken in je db, maar je moet je form wel ff redesignen. op basis van een nieuwe query
 
tip: maak bij het tabel ontwerpen veel gebruik van de wizard opzoeken.

Dit moet je nooit doen. Dit werkt volgens mij alleen binnen een msaccess database. Wil je ooit overschakelen naar een andere database kom je ongetwijfeld in de problemen.

Het opzoeken doe je binnen in een FORMULIER (keuzelijst/keuzelijst met invoervak); deze oplossing vind je eigenlijk al in de eerdere reactie op je vraag.
 
ja kheb nog een vraagje:

Nu kheb dus gedaan zoals gezegd, relatie schema aangepast. Nu ik heb ook mijn formulier device aangepast. zie bijlage,
het is dus de bedoeling dat wanneer ik bijvoordeeld in de "combobox van soort" een router selecteer zodat ik bij het veld types alleen de types krijg die een bv een router zijn. of als ik een bij soort een switch selecteer dus ook alleen deze types krijg die een switch zijn.

Moet ik da oplossen met een query of vbscript? hoe?
 
Laatst bewerkt:
Geplaatst door tetn
aja hier is file

Zo nou, dat is het hoor.

Maar je zet primary keys op de gekste plaatsen.

Afijn. Zoals je zult zien (bijlage) heb ik de controls soort en type een andere rowsource gegeven en heb ik een klein stukje code in soort_afterupdate waar dan een sql instructie in staat, die de rowsource van type wijzigt. Het is toch wel net anders dan access97 waar in gewoonlijk mee werk. Maar vooruit, een gaspedaal is en blijft een gaspedaal.

Veel plezier ermee

Hij is wel in rar, hoop dat je dat kan openen
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan