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


Emne lukketGenerere unik id v. hjælp af tesktstreng

 Besvar Besvar
Forfatter
Simsalabim Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 04-09-2014
Land: DK
Status: Offline
Point: 3
Direkte link til dette indlæg Emne: Generere unik id v. hjælp af tesktstreng
    Sendt: 04-09-2014 kl. 20:25
Kære alle

Jeg er ny bruger her og beskæftigede mig for ca. 20 år siden en del med access vers. 2.0 Big smile. Desværre har jeg ikke rigtig holdt min viden opdateret, da jeg fik anden beskæftigelse og derfor ikke havde brug for at arbejde med databaser.

Nu står jeg imidlertid med en opgave, hvor jeg skal bruge en databaseløsning og er selvfølgelig straks løbet ind i en masse problemer idet MS selvfølgelig også har forandret Access til noget næsten ukendeligt, ligesom de har gjort med stort set alle de øvrige programmer. Så jeg kan desværre ikke rigtig bruge ret meget af min tidligere erhvervede viden til noget udover selve forståelsen af opbygningen af databaser.

Jeg skal genere en unik værdi til en post i forbindelse med at den indtastes, ved at sammenlægge flere felter. Jeg har oprettet en autonummerering, som skal sammenlægges med 2 andre felter "Selskab" og Afdeling" for at skabe en unik værdi i feltet "Uniknøgle"der er nem identificerbar.

Felterne "Selskab" og afdeling er tekstfelter og autonummer er tal. Det færdige resultat skulle gerne se ud om dette: 01-78-245 (selskab-afdeling-autonummer). værdien skal automatisk lægges over i feltet "uniknøgle" når feltet Afdeling opdateres (hændelsen "efter opdatering").

Jeg mener at have styr på tekststrenge fra excel, men jeg kan knagme ikke huske, hvordan jeg får selve hændelsen til at foregå, håber der er nogen der kan hjælpe mig.

På forhånd tak
allan s
Til top



Til top
Simsalabim Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 04-09-2014
Land: DK
Status: Offline
Point: 3
Direkte link til dette indlæg Sendt: 04-09-2014 kl. 20:35
PS. jeg bruger Access 2007

allan s
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: 04-09-2014 kl. 22:19
Citat: Simsalabim Simsalabim skrev:


Felterne "Selskab" og afdeling er tekstfelter og autonummer er tal. Det færdige resultat skulle gerne se ud om dette: 01-78-245 (selskab-afdeling-autonummer). værdien skal automatisk lægges over i feltet "uniknøgle" når feltet Afdeling opdateres (hændelsen "efter opdatering").

Jeg ved ikke om jeg har forstået dig korrekt, men hvis det drejer sig om at få samlet felterne i et nyt felt med den viste formatering, kunne det gøres sådan.

Function Opret_Unik_Key()
if nz(me!selskab)<> "" then
   msgbox "Selskab er ikke oplyst!"
   me!selskab.setfocus
   exit sub
end if

if nz(me!Afdeling)<> "" then
   msgbox "afdelinger ikke oplyst!"
   me!afdeling.setfocus
   exit function
end if

me!uniknøgle=right("00" & me!selskab,2) & "-" & right("00" & me!afdeling,2) & "-" & right("000" & me!autonummer,3)
end function


Først kontrolleres om selskab eller afdeling er indtastet. Hvis ikke afbrydes og focus flyttes til feltet.

uniknøgle er feltet der skal indeholde resultatet.
right("00" & selskab,2) sikrer, at der bliver foranstillet nul i selskabsnummeret, hvis det er nødvendigt.
right("00" & afdeling,2) sikrer, at der bliver foranstillet nul i afdelingsnummeret, hvis det er nødvendigt.
right("000" & autonummer,3) sikrer, at der bliver foranstillet nuller i autonummeret, hvis det er nødvendigt.

Koden kan oprettes i en function eller sub rutine
hvis der benyttes en function kan følgende benyttes i felterne selskab og afdelings efter opdatering.
=Function Opret_Unik_Key()

funktionen skal ligge i formularens kode, ellers skal formularens henvisning med i stedet for me!

Som udgangspunkt, syntes jeg det er en dårlig ide, ikke at bruge autonummer som nøglefelt, men for at gøre feltet tydeligere for brugerne kan det fungere.
I tabellen bag bør uniknøgle være indekseret og unikt, i feltets uniknøgle før opdatering kan evt. oprettes en fejlkontrol.
Hans
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

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