Avatar billede weaponx Nybegynder
11. marts 2004 - 10:52 Der 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?
11. marts 2004 - 11:09 #1
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'.

Mindre kan formentlig gøre det i dit tilfælde?
Avatar billede weaponx Nybegynder
11. marts 2004 - 12:26 #2
Det som du beskriver er det det som kaldes udtryksforudsigelse?

Jeg ville meget gerne have et eksempel hvis det er muligt.

NOSPAMrolf@veinoe.dkNOSPAM udelad NOSPAM

pf tak
Avatar billede juks Novice
11. marts 2004 - 16:40 #3
kan du ikke "bare" lave en funktion der ligger  1 til  når man går til posten nede under
Avatar billede weaponx Nybegynder
11. marts 2004 - 18:25 #4
Juks det ville løse problemet. Er det muligt at få et kodeeksempel?
11. marts 2004 - 19:38 #5
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?
11. marts 2004 - 19:43 #6
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
Avatar billede weaponx Nybegynder
11. marts 2004 - 21:28 #7
Det skal være lodret. Koden ser fin ud. Jeg leger lige lidt men jeg tror at du har løst problemet.
Avatar billede weaponx Nybegynder
12. marts 2004 - 12:49 #8
Thomas den kode du har skrevet virker fint. Kunne man evt lave koden om så man kunne lave en knap der tilføjer X rækker og lagde 1 til i det felt?
12. marts 2004 - 12:54 #9
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.
Avatar billede weaponx Nybegynder
12. marts 2004 - 13:43 #10
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.
12. marts 2004 - 14:00 #11
ok, jeg prøver at skrive noget ned:

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.

/Thomas
15. marts 2004 - 12:27 #12
Fik du kigget på dette, WeaponX?
Avatar billede weaponx Nybegynder
15. marts 2004 - 17:45 #13
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.
16. marts 2004 - 09:04 #14
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.
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