Dansk Access Forum
  Hjælp Hjælp  Søg i forum   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketMakro med Sletning i to tabler

 Besvar Besvar
Forfatter
Jones Se dropdown
Bronze bruger
Bronze bruger


Medlem: 16-12-2015
Land: DK
Status: Offline
Point: 6
Direkte link til dette indlæg Emne: Makro med Sletning i to tabler
    Sendt: 16-12-2015 kl. 12:18
Hej.

Jeg er ny inde for access, og stå nu og mangler lidt hjælp med makro.

Jeg har en formular, hvor jeg indtaster noget information, som så bliver Gemt i mine to tabler "OrdersheetSamples" og "TransportInfo" - Når der bliver trykket på knappen "Save Record"

Udover det har jeg en "Delete Record" knap, som sletter den record som lige er blevet oprettet, i tabellen "OrderSheetSamples".

Her kommer så mit spørgsmål:
Hvordan får jeg den til at slette den record som også bliver oprettet i "TransportInfo". De to tabler har en relation til hinanden, fra "OrdersheetSamples" - Felt "TransportInfo" til "ID" i tablen "transportInfo". Det vil sige at den skal slette den som matcher hinanden. (Hvis det giver nogen mening:)


Til top



Til top
hkh Se dropdown
Sølv bruger
Sølv bruger


Medlem: 15-08-2012
Status: Offline
Point: 320
Direkte link til dette indlæg Sendt: 16-12-2015 kl. 12:41
Nu skriver du ikke noget om dine tabellers struktur, men hvis opretter en relation mellem tabellerne med kaskadevis sletning, skulle det gå af sig selv.

Der er også en anden vej hvis du vil gøre det selv.
docmd.setwarning false
DoCmd.RunSQL "DELETE DIN_TABEL.FELT_I_TABEL FROM DIN_TABEL WHERE (((DIN_TABEL.FELT_I_TABEL )=" & Indhold_af_fællesnævner & "));"
docmd.setwarning true

Først slås advarsler fra.
posten slettes
advarsler aktiveres igen.

koden skal placeres i en hændelsesprocedure som følge af klik på en knap.
Hans
Til top
Jones Se dropdown
Bronze bruger
Bronze bruger


Medlem: 16-12-2015
Land: DK
Status: Offline
Point: 6
Direkte link til dette indlæg Sendt: 16-12-2015 kl. 12:46
Tak for dit hurtige svar.

Tabellen OrderSheetSamples har en relation til TransportInfo, skrev jeg også før. Men ved ikke lige hvordan man laver med kaskadevis sletning? :)


- Lige meget, jeg fandt ud af det. Jeg vil lige ændre det, også se om det ikke fungere. Mange tak :)
Til top
hkh Se dropdown
Sølv bruger
Sølv bruger


Medlem: 15-08-2012
Status: Offline
Point: 320
Direkte link til dette indlæg Sendt: 16-12-2015 kl. 12:53
Du har en knap i din Access der hedder 'Relationer' der kan du trække en forbindelse fra et felt i en tabel til et andet felt i en anden tabel. Så har du oprettet en relation, ved at højreklikke på stregen mellem de to felter kan du vælge egenskaber og ændre indstillinger for relationen.

Felterne skal være af samme type og mindst et felt skal være unikt, dvs. der må ikke forekomme dubbletter.
Hans
Til top
Jones Se dropdown
Bronze bruger
Bronze bruger


Medlem: 16-12-2015
Land: DK
Status: Offline
Point: 6
Direkte link til dette indlæg Sendt: 16-12-2015 kl. 13:53
Fandt frem til hvordan det skulle ændres, og de to havde allerede en relation til hinanden.

Jeg har tilvalgt "Kaskadevis sletning af relaterede poster" - Men den vil stadig ikke slette posten i "transportInfo", den sletter kun den post i "OrdersheetSamples"

Kan det være selve relationstypen, som skal ændres eller kan det være selve den makro som deleten knappen har?

Min Makro til Delete knappen kan ses her.
uploads/151/makro.png
Til top
hkh Se dropdown
Sølv bruger
Sølv bruger


Medlem: 15-08-2012
Status: Offline
Point: 320
Direkte link til dette indlæg Sendt: 16-12-2015 kl. 15:58
Jeg er ikke helt sikker, men hvilken tabel indeholder det unikke felt i relationen?
Hvilke tabel har du på skærmen når du sletter?

Hans
Til top
Jones Se dropdown
Bronze bruger
Bronze bruger


Medlem: 16-12-2015
Land: DK
Status: Offline
Point: 6
Direkte link til dette indlæg Sendt: 18-12-2015 kl. 10:39
Jeg fandt frem til fejlen og fik det løst. Jeg havde vendt relationen forkert, så da jeg fik vendt den om fungeret alt som det skulle :)

Learning by doing. Mange tak for hjælpen :)
Til top
hkh Se dropdown
Sølv bruger
Sølv bruger


Medlem: 15-08-2012
Status: Offline
Point: 320
Direkte link til dette indlæg Sendt: 18-12-2015 kl. 10:43
Super!
Du spørger bare igen hvis der er noget andet vi kan hjælpe med.
Hans
Til top
Jones Se dropdown
Bronze bruger
Bronze bruger


Medlem: 16-12-2015
Land: DK
Status: Offline
Point: 6
Direkte link til dette indlæg Sendt: 05-01-2016 kl. 10:15
Hej,

Er så endt i et ny problem, stadig relationer Ouch

Problemet er stadig det samme som før, den sletter kun fra den ene TABLE når jeg trykker slet og ikke den anden.

Den gør det fint, når jeg står inde i tablen, men ikke i min forms.

Her er SQL Query for min form, den kommer med fejlen at "JOIN-udtrykket understøttes ikke";

SELECT OrderSheetSamples.*, ReceiverAddress.Receiver, ReceiverAddress.[Contact person], ReceiverAddress.Email, ReceiverAddress.[Tlf/Fax], ReceiverAddress.Address1, ReceiverAddress.Address2, ReceiverAddress.Address3, ReceiverAddress.Country, OrderSheetSamples.[No Reference], TransportInfo.*, TransportInfo.[No Reference]
FROM (ReceiverAddress INNER JOIN OrderSheetSamples ON ReceiverAddress.[ID Receiver] = OrderSheetSamples.Reciever) RIGHT JOIN TransportInfo ON OrderSheetSamples.Id = TransportInfo.OrderSheetID;

Kan godt forstår, at man ikke kan have en INNER JOIN og en RIGHT JOIN sammen, men uanset hvad jeg sætter dem til (to LEFT eller RIGHT). Så sletter den kun fra den ene table når jeg trykker på min makro DELETE knap..


Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2013 - 2024 Dansk Access Forum - en del af Excel-regneark.dk