Avatar billede Callesk Nybegynder
04. september 2012 - 17:41 Der er 2 kommentarer og
1 løsning

Copy paste en record når status ændres

Jeg er temmelig ny til Access og derfor ikke specielt god til.

Jeg har indtil videre lavet en masse tables med al den baggrund data der skal være til rådighed

Udfra det har jeg blandt andet 2 tables (fixture list and cargo list) som indeholder alle  de fields der skal bruges i en Query eller Form.

Mit spørgsmål er når jeg har min cargo list, som b.la. indeholder  følgende felter: " Vessel, Charterer, Quantity, status , mfl"
når jeg så opretter en cargo her vil den blive oprettet som inquiry under status. Når jeg så efterfølgende vil forbinde denne cargo med et skib som denne cargo skal på, vil jeg på en eller anden måde kunne trykke på den last jeg har oprettet og ændre dens status fra inquiry til subs, hvormed der skal komme en box op hvor der kan udfylde nogen flere detaljer/fields som der findes under fixture listen, så som vessel name, rate m. fl.
Altså skal cargoen forblive i cargo list men nu stå som subs mens der skal kommen kopi af cargoen over i fixture list hvor der endvidere er nogen flere felter som så skal være fyldt ud som fixture list indeholder.

Jeg har ikke oprettet nogen Query eller form endnu. Skal jeg derfor først starte med at oprettet en query ud fra mine 2 tables (cargo og fixture list), og i så fald hvordan skal de oprettes for at jeg kan få en form der kan udføre det ovenævnte?

Dette er muligvis beskrevet på en dårlig måde så lad mig vide hvis jeg skal give yderligere info for at få hjælp til dette problem.

Mvh. En Access Dummy
Avatar billede mugs Novice
04. september 2012 - 18:39 #1
Det kan du ikke gøre på hverken tabel- eller Queryniveau. Du er nødt til at lave dine queries og forms først. Derefter kan du programmere dig ud af problemet.

Du kan lave en kommandoknap der ændrer status fra inquire til subs således:

Me.dit felt = "Subs"

Så følger flere linier der viser en Inputbox og tildeler tekststrengen fra boxen til et felt:

Me.dit felt = InputBox(Prompt:="Indtast tekststreng.", Title:="Her kan du skrive en overskrift til boxen", Default:="Her kan du skrive en standardværdi")
Avatar billede Slettet bruger
05. september 2012 - 09:13 #2
Du er velkommen til at sende din db til spg.eksperten@gmail.com så skal jeg tage et kig på din datastruktur og give dig et skub i den rigtige retning!~)
Avatar billede Callesk Nybegynder
26. september 2012 - 14:54 #3
Tak for svarene. Det virker dog umiddelbart for kompliceret for mig endnu til at udrette dette. Så svært for mig at sige om det virker.
Jeg vil nu forsøge mig via et workaround.
Hvor jeg har en cargo table, som jeg har opettetet en cargo query udfra og udfra quert en cargo continuous form. I den her form har jeg følgende felyter created on / Created By / Area / Charterer / Status / Load area med flere.
Her vil jeg gerne skabe en form for sortering filtering baseret udfra værdien der er i status feltet. Der er følgende værdier at vælge imellem i status feltet: Fixed, Failed, Subs, Cancelled og Inquiry. Jeg vil derfor skabe en VBA eller macro hvad der nu end er nemmest der gør at når værdien i status feltet for hver enekelt row er enten fixed eller cancelled så skal hele den row/række ikke vises ud af til men være skjult.

Jeg har forsøgt under design view markere status feltet, og under event i property sheet, skab en code event ud fra After Update der hedder

Private Sub Status_AfterUpdate()
If [Status] = "fixed" Then
Selection.Entire.Row.Hidden = False
End If
End Sub

Og den virker absolut ikke.
Som sagt er meget rookie i det her
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester