Jeg mener at dette har været diskuteret fleregange men jeg prøver alligevel.
Hvordan ændres 1. bogstav automatisk i hvert ord i et felt til Stort bogstav i en eksisterende tabel. Dette også selv om nogle felter er tomme.
Jeg har prøvet med i en formular:
Dim Streng As String, a As String, længde As Integer, længde1 As Integer, b Do Until Me.NewRecord = True længde = Len(BETEGNELSE) længde1 = længde - 1 b = Right(BETEGNELSE, længde1) Me.BETEGNELSE = b [BETEGNELSE].Value = "'" & StrConv([BETEGNELSE].Value, vbProperCase) DoCmd.GoToRecord acForm, "form1", acNext, 1 Loop
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
"Tæller" er et numerisk felt i din tabel. felt1 er det felt i formularen der skal have stort bergyndelsesbogstav. form1 er navnet på din formular.
Dim MaxUd, K Dim a As String MaxUd = DMax("[Tæller]", "Tabel1") For K = 1 To MaxUd [felt1].Value = StrConv([felt1].Value, vbProperCase) DoCmd.GoToRecord acForm, "Form1", acNext, 1 Next KDim MaxUd, K Dim a As String MaxUd = DMax("[Tæller]", "Tabel1") For K = 1 To MaxUd [felt1].Value = StrConv([felt1].Value, vbProperCase) DoCmd.GoToRecord acForm, "Form1", acNext, 1 Next K
Nu er der flere måder at gøre tingene på, hvad der er bedst skal jeg ikke gøre mig klog på. Men for at følge op på min kode, kan denne kode altid sikre stort begyndelsesbogstav i felt1:
Private Sub felt1_AfterUpdate() [felt1].Value = StrConv([felt1].Value, vbProperCase) End Sub
Jeg syntes bare det var meget kode for så lidt, men måske er der mere i det end som så, det skal jeg heller ikke gøre mig klog på, jeg ville bare tilbyde et alternativ. :-)
For øvrigt, så ser det for mig ud som om du har "fordoblet" din kode fra 16:19:10, hvilket selvfølgelig gør den endnu mere "opsvulmet" end den behøvede at være. ;-)
Private Sub Kommandoknap8_Click() Dim MaxUd, K Dim a As String MaxUd = DMax("[Tæller]", "Tabel1") For K = 1 To MaxUd [felt1].Value = StrConv([felt1].Value, vbProperCase) DoCmd.GoToRecord acForm, "Form1", acNext, 1 Next K End Sub
Også min kode kan naturligvis køres med StrConv funktionen i stedet for UCase:
currentdb.Execute "UPDATE tabel1 SET BETEGNELSE = StrConv(BETEGNELSE, 3) WHERE Len(BETEGNELSE) > 0"
Hvis betegnelse kun indeholder ét ord, skulle der ikke være nogen forskel, men indeholder feltet flere ord, som alle skal begynde med et stort bogstav, vil det være bedre at bruge StrConv.
kjulius > Lige nøjagtig. hvorfor skrive 9 linier, hvis man kan nøjes med 2 :o)
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.