30. september 2000 - 16:49Der er
14 kommentarer og 1 løsning
oprettelse af ny post i begge tabeller
Jeg har et system hvor jeg har en database over klubmedl. Jeg har 2 tabeller og 2 formulare. 1 tabel : Navn_tab 2 tabel : adresse_tab 1 formular : Navn_form 2 formular : (tadaaaa) adresse_form
Når jeg bruger min DB, bruger jeg navn_form og der er oplysninger om medlemets navn og telefonnr. der er også en knap der hedder adresse. Når jeg klikker på den åbnes adresse_form. her står så adressen på det aktuelle medl.
Nu kommer så det jeg gerne vil kunne : Når jeg vil oprtte et nyt medl. så går jeg til sidste element i tabellen og skriver oplysningerne, men når jeg så klikker på adresse så kan jeg ikke linke de to ting sammen og det er fordi at der ikke findes et id i adresse som der findes i navn.
ID\'et i navn bliver oprettet så snart jeg skriver i navn_form men ikke i adresse
ALTSÅ, for at gøre en ret lang historie kort, så vil jeg gerne have at når jeg opretter en ny post i navn så skal den oprette en ny post i adresse samtidig.....
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Man opretter en tabel for hvert objekt man vil beskrive. En person, en hændelse, en tidsregistrering eller, hvad det nu kan være. Du deler et og samme objekts egenskaber op i to tabeller, derfor får du problemer. Adressen er da en egenskab ved personene med det navn, der står i tabel 1 ?!?!?! Så skal det også stå i samme tabel. Der er jo ikke noget i vejen for, at du bruger den samme tabel i to formularer !! I adresseformularen vil du så kun benytte id feltet og adresse felterne. Så er den potte ude. Søg eventuelt på internettet under \"+normalform +Access\" eller \"+normalform +database\", det vil sikkert give nogle aha\'er.
Det senario er et eksempel.... Det er ikke noedvendigvis adresser der er tale om, mit spg. gaar paa hvordan man naar man opretter et emne i den ene tabel saa opretter den pr. definition ogsaa et emne i den anden, men med samme id.....
Hver gang en person er syg, oprettes der en ny record i Tabel 2, med personens ID og datoen.
Her sikrer du dig ID feltet ved at lave en relation i mellem de to PersonID felter og samtidig lave en lookup til personID feltet i tabel 2 til samme felt i tabel 1 (eventuelt til PersonID og Navne feltet). Så skal du også lige huske at sætte \"Limit to list\" til Yes.
lav en forespørgsel hvor du medtager begge tabeller. Du linker et Autonummer ( ID ) til hindanden. formularen skal basers på denne forespørgsel.
Når du opretter et nyt medlem i tabellen medlemmer vil denne få det næste ledige ID (måske 134) når du så ligeledes opretter en adresse i den anden tabel vil den ligeledes få ID 134.
( dette kræver selvfølgelig at de to tabeller liniemæssigt følges ad.....et navn pr linie samt en adresse pr linie... )
HVIS MIT SVAR MIT SVAR MINDER OM TIDLIGERE BESVAREDE SKAL JEG NATURLIGVIS IKKE HAVE NOGLE POINT....så det er ikke for at \' stjæle \' andres besvarelser...
Denne løsningmåde ville jeg dog anse som let og overskuelig
<region> Ja det er måske sådan noget zeus er ude efter - lad os se, hvad han reply\'er. MEN det er da skørt og risikabelt at styre de ID-felter manuelt. Det giver slet ikke nogen mening, fordi det slet ikke giver nogen fordel - tværtimod, så giver det ikke andet en bøvl under oprettelsen, bøvl under driften og bøvl ved nedbræk, for det kommer det nemlig til.
Moses & region : Det er ikke sådan det skal fungere, jeg er fint klar over de risici som jeg løber med denne opstilling, men det er nødvendigt for at tabellerne ikke skal være alt alt for store, så deler jeg dem lidt ind ( Husk at det jeg har beskrevet ikke er præcis det jeg skal lave, men idéen er den samme ).... Jeg tror dog at det som moses har forslået er noget der vil fungere, så jeg må lige fifle lidt med det, så vender jeg tilbage med et resultat senere, nok først om et par dage (sorry)
Det er sådan set underordnet for at forstå eksemplet. Normalt er disse ID-felter udelukkende til for at kunne identificere en record entydigt. Derfor er de oftest bare autonumre.
FORSTÅ MIG NU RET: [Tabel1]![PersonID] er autonummer OG [Tabel2]![PersonID] er kun en Long Integer. Den skal jo bare vise, hvem det nu er, der er syg. Det kan kun være en af de allerede oprettede personer, så derfor er den bundet til at skulle være et opslag fra Tabel 1. Det kan dog godt være at en person er syg mange gange. Det er en 1-til-mange relation.
PRÆCIS sådan er basen også opbygget, jeg er bare ikke så stærk ud i definitionerne af tabellerne, så har jeg ikke sat mine parametre korrekt, altså limit to list og den slags...... Jeg prøver......vender forhåbentlig snart tilbage
OK ok jeg er åbentbart meget svag til det her.... moses : Jeg har prøvet det du har skrevet men kan ikke lige finde ud af det, hvordan laver jeg denne lookup, hvilke parametre skal der stå i alle de attributter der er i f.eks. en kobinationsboks.
UPS UPS !! Siger du \"dele en tabel op fordi den er for stor\" ????
Så skal du dele tabellens kolonner, som du nu finder det nemmest og mest praktisk. ID feltet, som beskrevet ovenfor skal være den samme i begge tabeller for de to linier, som hører sammen. Inden du putter data i, skal du lave en \"1 til 1\" relation med \"referential integrity\" imellem de to ID-felter. Så hænger linierne uløseligt sammen imellem de to tabeller.
Jamen det har jeg ogsaa..... Problemet kommer naar jeg forsoeger at oprette en ny post i navn_form, saa brokker access sig over at det ikke kan lade sig goere da der ogsaa skal vaere en post med samme id i adresse....OG det er praecis det der er problemet, og loesningen er saa at oprette en tom post med samme id i adresse saa snart man opretter en post i navn, MEN hvordan goer man det ?????
Tabel 1 med felterne: ID (Autonumber), PRIMARY KEY Navn (Text)
og
tabel 2: ID (Number: Long Integer), PRIMARY KEY Adresse (Tekst)
Laver en referentiel intgritet imellem de to ID-felter (bliver til en En-til-En relation)
Lægger alle 4 felter ind i en form:
RecordSource= SELECT Table3.ID AS Table3_ID, Table3.Navn, Table4.ID AS Table4_ID, Table4.Resultat FROM Table3 INNER JOIN Table4 ON Table3.ID = Table4.ID
Herefter Sætter du Enabled = False for de to ID felter.
Dernlæst kan du altid oprette data i felterne, der tilhører tabel3, selvom du ikke i første omgang lægger noget ind i felterne fra tabel4. MEn omvendt går ikke, så du skal finde ud af, hvilket/Hvilke datafelt, der altid indtastes først. De skal ligge i tabel3.
Sådan !!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.