Avatar billede pwn Forsker
10. august 2004 - 12:24 Der er 10 kommentarer og
2 løsninger

automatisk gentagelse af feltet ovenfor

kan man få feltet gentaget automatisk (står som forslag) fra den ovenstående celles indhold. Det skal altså ikke bare være ved brug af CTRL+'.
Kan man også få programmet til at ændre første bogstav i cellen til stort bogstav (man skriver fx henriette og det bliver automatisk ændret til Henriette)?
Avatar billede overchord Nybegynder
10. august 2004 - 12:54 #1
Mht gentagelse af et felt. Du kan saette default value i tabel-design til den gentagede vaerdi (med mindre du vil have det dynamisk saa den altid tager resultatet fra posten foer).
Avatar billede pwn Forsker
10. august 2004 - 13:07 #2
det er den dynamiske gentagesle jeg søger:-)
Avatar billede mugs Novice
10. august 2004 - 13:53 #3
Default values fra sidste post:

Private Sub Form_Current()
Dim rs As DAO.Recordset
If Me.NewRecord Then
Set rs = Me.RecordsetClone
rs.MoveLast
Me!felt1.DefaultValue = "'" & rs!felt1 & "'"
Me!felt2.DefaultValue = "'" & rs!felt2 & "'"
Me!felt3.DefaultValue = "'" & rs!felt3 & "'"
rs.Close
End If
End Sub

Kræver en reference til DAO
Avatar billede mugs Novice
10. august 2004 - 13:55 #4
Alle ord i et felt med stort bergyndelsesbogstav:

Private Sub felt1_AfterUpdate()
[felt1].Value = StrConv([felt1].Value, vbProperCase)
End Sub

Idet du udskifter [felt1] med navnet på dit akruelle felt.
Avatar billede pwn Forsker
10. august 2004 - 14:05 #5
- hvor indsætter jeg dine funktioner?
Avatar billede mugs Novice
10. august 2004 - 14:10 #6
Som det fremgår af 1. linie i procedürerne:

Private Sub Form_Current()

og

Private Sub felt1_AfterUpdate()
Avatar billede pwn Forsker
10. august 2004 - 22:06 #7
- jeg er desværre ikke helt med og forventer heller ikke du med 30 points skal guide mig igennem processen. Det ligner VB-modul, og det kender jeg intet til. Hvis du har et par tip om, i hvilket hjørne jeg skal starte med at udvide min access-horisont, vil det være fint.

mvh
p
Avatar billede mugs Novice
11. august 2004 - 05:43 #8
Det er VBA.

Lad os starte med denne:

Private Sub Form_Current()
Dim rs As DAO.Recordset
If Me.NewRecord Then
Set rs = Me.RecordsetClone
rs.MoveLast
Me!felt1.DefaultValue = "'" & rs!felt1 & "'"
Me!felt2.DefaultValue = "'" & rs!felt2 & "'"
Me!felt3.DefaultValue = "'" & rs!felt3 & "'"
rs.Close
End If
End Sub

Som det fremgår af første linie (Private Sub Form_Current()
), skal denne kode indsættes i formularens VedAktuel. Dette er en tilstand der opstår, når du åbner formularen eller skifter post.

1. Åbn din formular i Designvinsning
2. Helt nederst under gitteret højreklikker du.
3. Du får nu en undermenu og nederst vælger du egenskaber.
4. Et nyt vindue kommer op, og her klikker du på fanen Hændelser
5. Nu får du en række muligheder i vinduets højre side. Find den der hedder VedAktuel (engelske versioner: Current), der er nok den øverste.
6. Sæt markøren på linien ud for Current og du får nu 3 små ... i højre side
7. Klik på de 3 små ...
8. Du kommer nu ind i VBA-editoren, og markøren står og blinker mellem disse 2 linier:

Private Sub Form_Current()
MARKØREN BLINKER HER
End Sub

9. Kopier min kode undtagen den første og den sidste linie, og sæt koden ind hvor markøren står og blinker. Koden skal se således ud:

Private Sub Form_Current()
Dim rs As DAO.Recordset
If Me.NewRecord Then
Set rs = Me.RecordsetClone
rs.MoveLast
Me!felt1.DefaultValue = "'" & rs!felt1 & "'"
Me!felt2.DefaultValue = "'" & rs!felt2 & "'"
Me!felt3.DefaultValue = "'" & rs!felt3 & "'"
rs.Close
End If
End Sub

10. Du har disse 3 linier der begynder med Me!Felt1 (2 og 3). Det er navnene på dine felter i formularen. De skal nu rettes til navnene på de aktuelle felter. Af ovenstående kan du se, at Me!felt1 får data fra rs!felt1. Det er disse 2 feltnavne der skal rettes.

11. For nemheds skyld, så nøjes med eet felt til at begynde med.
12. Referencen til DAO sætter du således: Bliv stående inde i VBA-editoren og klik øverst på menuen Tools og derefter i undermenuen References (danske versioner: Funktioner > Referencer). Browse ned igennem bibliotekerne og find det der hedder Microsoft DAO 3,6 Object Library eller noget i den stil, blot det starter med Microsoft DAO. Sørg for at der i venstre side er et checkmærke i venstre side.
13. Luk VBA-editoren ved at klikke på øverste X i øverste højre hjørne.
14. Du er nu tilbage i formulardesign og klik på Vis > Formularvisning og afprøv koden.

Afprøv koden.
Avatar billede mugs Novice
11. august 2004 - 05:48 #9
Den anden kode med de store bogstaver laver du på samme måde. Her skal du dog højreklikke på det felt der indeholder dine navne. Og i stedet for Current skal du finde den hændelse der hedder AfterUpdate (danske versioner: EfterOpdatering). og på samme måde som før indsætter du koden:

Private Sub felt1_AfterUpdate()
[felt1].Value = StrConv([felt1].Value, vbProperCase)
End Sub

Idet du passer på kun at kopiere og indsætte den linie, der starter med [felt1]. [felt1] er navnet på det felt, der indeholder dine navne. og det feltnavn skal du nu udskifte med navnet på dit aktuelle felt. Bemærk at det skal rettes 2 steder, og du skal beholde de 4-kantede paranteser.

Håber det hjalp dig et stykke på vej. Koderne er hentet fra 2 testdatabaser i Access2000. Jeg kan sende dem til dig som zip-filer, når jeg er hjemme fra arbejde. Blot læg din e-mail.
Avatar billede pwn Forsker
11. august 2004 - 22:33 #10
Tak for hurtigt svar:-) - nu har jeg en idé om, hvordan det skal laves. Du må meget gerne sende de 2 testbaser til pwn@byport.dk
Du skal nok få en tilbagemelding, når jeg får det til at virke:-)
mvh

p
Avatar billede mugs Novice
12. august 2004 - 05:42 #11
3 testdb er sendt.
Avatar billede pwn Forsker
25. august 2004 - 09:27 #12
Tak for det tilsendte, jeg har endnu ikke fået det til at fungere. Jeg skal først have sat mig lidt mere ind i VBA - men tak så langt:-)
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