Avatar billede florint Nybegynder
10. januar 2004 - 17:10 Der er 23 kommentarer og
1 løsning

Stort begyndelsesbogstav - resten med småt

Hej,
Jeg mangler et tip til, hvordan jeg får en hel kolonne med navne "oversat" fra store bogstaver til stort begyndelsesbogstav, og resten med småt.

Jeg kender godt måden at gøre det på - "normalt", men i det her tilfælde så ser alle navnene sådan her ud:
'ETNAVN'
Hvordan slipper jeg uden om '' i starten og enden af navnet ? - De SKAL forøvrigt blive stående.

På forhånd tak.
Avatar billede kabbak Professor
10. januar 2004 - 19:42 #1
Hvis du har navnene i A kolonnen fra A2 af.
Lav en tom kolonne ved siden af
skriv =STORT.FORBOGSTAV(B2)
Træk den ned af

Vælg kopier på den nye kolonne
vælg sæt ind special cærdier, så er det i orden
Avatar billede kabbak Professor
10. januar 2004 - 19:42 #2
=STORT.FORBOGSTAV(A2)

sorry
Avatar billede mugs Novice
10. januar 2004 - 19:56 #3
Har jeg misforstået noget, eller er dette ikke Access :o)

[FELTNAVN].Value = StrConv([FELTNAVN].Value, vbProperCase)
Avatar billede kabbak Professor
10. januar 2004 - 19:58 #4
Undskyld forkert katogori, jeg troede det var Excel
Avatar billede mugs Novice
10. januar 2004 - 19:59 #5
:o)
Avatar billede florint Nybegynder
10. januar 2004 - 20:16 #6
Hej mugs,
Virker ikke helt rigtig...SQL ser således ud:UPDATE tblSort SET [Bet].Value = StrConv([Bet].Value,vbProperCase);

Medmindre jeg har lavet en fejl. Feltet Bet er textfelt. Der spørges efter en value på Bet ?, og desuden brokker den sig over brugen af kantede paranteser.

mvh
Avatar billede mugs Novice
10. januar 2004 - 20:18 #7
Jeg har lavet det i VBA og ikke SQL. Er det noget du skal bruge flere gange eller kun een gang, i givet fald kan det gøres med en løkke.
Avatar billede florint Nybegynder
10. januar 2004 - 20:22 #8
kun den ene gang - tror jeg :-)

hvis du har lavet det i vba - hvor sætter du det ind henne ? på en form og en knap eller ?
Avatar billede mugs Novice
10. januar 2004 - 20:37 #9
Jeg bruger det i formularens VedAktuel.
Avatar billede mugs Novice
10. januar 2004 - 20:43 #10
Sæt denne ind i en kommandoknap:

Do Until Me.NewRecord = True
[FELTNAVN].Value = StrConv([FELTNAVN].Value, vbProperCase)
DoCmd.GoToRecord acForm, "FORMULARNAVN", acNext, 1
Loop
Avatar billede florint Nybegynder
11. januar 2004 - 08:34 #11
Hej mugs,
Endnu engang imponerer du , mig ! Det virker - næsten. Det kan godt være mig der ikke fik foklaret det hele eller ikke grundigt nok.
Hvis der står 'ETNAVN' så bliver hele ordet lavet om til små bogstaver. Hvis der står 'ETNAVN ETELLERANDET' , bliver første ord lavet om til små bogstaver, og andet ord med stort begyndelsesbogstav og resten med småt.

Forøvrigt så hedder det acDataForm istedet for acForm - det forslår Access selv.
Avatar billede mugs Novice
11. januar 2004 - 08:39 #12
Ikke her. Uanset hvor mange ord der er i feltet bliver hvert ord stavet med stort begyndelsesbogstav. Koden er afprøvet og jeg kan sende den.
Avatar billede mugs Novice
11. januar 2004 - 08:41 #13
PETER > Peter
peter > Peter

SØRINE SØRENSEN > Sørine Sørensen
sørine sørensen > Sørine Sørensen
Avatar billede florint Nybegynder
11. januar 2004 - 09:03 #14
Jeg tror du overser tegnene ' ' der omslutter NAVN
Avatar billede mugs Novice
11. januar 2004 - 09:06 #15
Ja - Det er korrekt
Avatar billede mugs Novice
11. januar 2004 - 10:08 #16
Dim Streng As String, a As String, længde As Integer, længde1 As Integer, b
Do Until Me.NewRecord = True
længde = Len(felt1)
længde1 = længde - 1
b = Right(felt1, længde1)
Me.felt1 = b
[felt1].Value = "'" & StrConv([felt1].Value, vbProperCase)
DoCmd.GoToRecord acForm, "form1", acNext, 1
Loop

eksempel er sendt
Avatar billede florint Nybegynder
11. januar 2004 - 11:16 #17
Den virker perfekt - Den gav en lille fejl, da den var nået igennem halvdelen af posterne, men det er jo ikke din fejl at der var 4 tomme poster midt i det hele. Fjernede de tomme og så kørte den det hele igennem upåklageligt.
MANGE tak for hjælpen. - Så blev det alligevel en god Søndag.
Avatar billede mugs Novice
11. januar 2004 - 11:19 #18
Selv tak - Og fortsat god Søndag. Skal du bruge koden mere, skal vi lige se på, om den ikke kan forenkles lidt :o)
Avatar billede fkj Juniormester
28. juni 2006 - 15:03 #19
Hvordan ændres koden


Do Until Me.NewRecord = True
[FELTNAVN].Value = StrConv([FELTNAVN].Value, vbProperCase)
DoCmd.GoToRecord acForm, "FORMULARNAVN", acNext, 1
Loop

til kun at ændre det første bogstav i et felt hvor der kan stå flere ord?

På forhånd tak
Avatar billede mugs Novice
28. juni 2006 - 15:16 #20
Er det kun det første ord af flere der skal starte med stort bogstav?
Avatar billede fkj Juniormester
28. juni 2006 - 15:19 #21
Ja ligesom denne sætning: Jeg har det godt
Avatar billede mugs Novice
28. juni 2006 - 16:34 #22
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE TABEL SET [FELT] = UCase(Left([FELT],1)) & LCase(Mid([FELT],2))"
Me.Requery
DoCmd.SetWarnings True

idet du erstatter ordet TABEL med navnet på din tabel og ordet FELT med navnet på dit felt.
Avatar billede fkj Juniormester
29. juni 2006 - 08:58 #23
Det virked.

Tak for hjælpen.
Avatar billede mugs Novice
29. juni 2006 - 09:03 #24
Selv tak :o)
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