11. marts 2004 - 10:52Der er
13 kommentarer og 1 løsning
Excel lignende feature i access
Jeg har en formular som er i dataarkvisning for at det mest muligt ligner et excelark og fordi mine brugere lægger mange tlfnumre i denne tabel.
Mine brugere er vant til at de i excel kan udfylde to felter i en kolonne hvis det er en nummerserie, hvorefter de kan "trække" dem videre. Hvis de to første f.eks. hedder:
21212121 21212122 så kan de trække dem videre ned med 21212123 21212124 osv.
Er det muligt at lave en lignende funktion i access?
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.
Der er ikke indbygget en lignende funktion i Access (undtagen når du hopper til ny post, så kan Access godt finde ud at at sætte 4 ind, hvis du har skrevet 1, 2, 3 i de forrige poster. Men ikke mellem kolonnerne)
Så hvis du skal have tilsvarende funktionalitet, så skal den programmeres!
Og tilsvarende funktionalitet som i Excel er ret kompleks, da den skal kunne genkende alle mulige 'lister'.
WeaponX, du snakkede om, at det skulle når brugeren gik fra en kolonne til en anden (altså vandret). Juks snakker om at gå til næste post (altså lodret). Er det lodret, du vil have lagt én til den forrige?
Hvis det er tilfældet skulle dette eks løse problmet:
Læg denne kode i formens VedAktuel (Form_Current): Dim rs As DAO.Recordset If Me.NewRecord Then Set rs = Me.RecordsetClone rs.MoveLast Me!tlfnummer.DefaultValue = "'" & val(rs!tlfnummer) & +1 "'" rs.Close End If
NB: hvis tlfnummer er nummerisk, skal de 2 gange "'" væk: Me!tlfnummer.DefaultValue = rs!tlfnummer + 1
hmm, ja det kunne du godt....men for brugeren vil der jo ikke være nogen forskel - bortset fra at han kan se f.eks. 10 nye poster. Men indtastningsmæssigt er der jo ingen forskel, da brugeren oplever at den næste post allerede er klar lige så snart en post er oprettet.
Forestil at du skal tilføje en nummerserie på 100 numre. Vil du så helst klikke på en knap, som laver 100 rækker eller trykke pil ned 100 gange? ;) Jeg synes dit script er super for det har næsten opfyldt det jeg søgte, jeg ville bare gerne have det andet som valgfrit alternativ.
Dim rs as ADODB.Recordset Dim cn as ADODB.Connection Dim Antal as String Dim CurNumber as Long Dim n as Long Antal = Inputbox("Angiv hvor mange poster, du ønsker at oprette!") If Antal = "" or not IsNummeric(Antal) then Exit sub
Set cn = currentproject.connection set rs = new ADODB.recordset rs.Open "Dintabel", cn, adOpenkeyset, adLockoptimistic curNumber = Me!tlfnummer For N = 1 to Antal curNumber = curNumber + 1 rs.Addnew rs!Tlfnummer = curNumber rs.Update Next n Me.Requery rs.Close Set rs = nothing cn.Close Set cn = Nothing
Koden skal nok pudses lidt af, da jeg ikke har afprøvet den. Den er skrevet direkte her. Men princippet burde være i orden.
Den første del af koden er lige i øjet. Den sidste kodestump skal jeg have skrevet om efter behov, men jeg kan godt se ideen i den.
Jeg kunne godt tænke mig at lave en formular, hvor man vælger hvilke felter der skal laves som new record. Og hvor man vælger om feltet skal lægge 1 til den foregående, eller blot gentages.
Men jeg synes at dit første svar er godt og dækkede det som jeg først spurgte til så du får point. Hvis du tror at ovenstående kan lade sig gøre, vil jeg gerne oprette det som et nyt spørgsmål.
Alt kan jo som udgangspunkt lade sig gøre (og dette burde ikke være det store problem). Jeg tror bare, at det bliver svært at beskrive her. Men prøv at opret spørgsmålet med en udførlig beskrivelse, og lad os se, om der ikke kommer nogle bud...Jeg er selv hængt en del op i dag, så jeg ved ikke om jeg har mulighed for at svare.
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.