10. august 2004 - 12:24Der 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)?
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.
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).
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
- 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.
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.
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.
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
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:-)
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.