Avatar billede vanni Nybegynder
23. oktober 2003 - 21:33 Der er 12 kommentarer og
1 løsning

Udfyld felter via løkke

Jeg har 10 felter benævnt 0, 1, 2, 3 ... 9

'pseudo kode

for t = 0 to 9
[t]=t
next

Kan det lade sig gøre med str/val funktioner eller hvad?
Avatar billede kabbak Professor
23. oktober 2003 - 22:43 #1
Public Sub IndsaetData()
Dim dbs As DAO.Database, rst As DAO.Recordset
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("TalTabel")
      With rst
      .AddNew
          For t = 0 To 9
          .Fields(t) = t
          Next
      .Update              ' Gem ændringer.
    End With
    dbs.Close

End Sub
Avatar billede vanni Nybegynder
24. oktober 2003 - 08:14 #2
Det havde jeg ikke formuleret ret godt: Felterne er tekstfelter på form og jeg har benævnt 0, 1, 2, 3 ... 9 for at kunne indsætte værdier fra en løkke. :o)
Avatar billede kabbak Professor
24. oktober 2003 - 08:41 #3
.Fields(t) , er ikke navnet på feltet, det er feltets kolonne nummer.

hvis det ikke er det du vil, så må du uddybe det lidt mere.
Avatar billede vanni Nybegynder
24. oktober 2003 - 08:56 #4
Har en testdb - kan jeg sende den?
Avatar billede kabbak Professor
24. oktober 2003 - 08:58 #5
kabbak@tiscali.dk
Avatar billede kabbak Professor
24. oktober 2003 - 09:18 #6
Når det kun er på formularen, hvis den altid skal have disse værdier ved opstart er det nemmere at gå i feltegenskaber og sæt standardværdien der.
Avatar billede vanni Nybegynder
24. oktober 2003 - 09:27 #7
Desværre skal værdierne ændres af og til. Nogen gange skal værdier være fra 0 til 9 andre gange 17 til 25 o.s.v.
Avatar billede kabbak Professor
24. oktober 2003 - 10:13 #8
Private Sub Form_Load()
Dim T As Integer
T = 100
  [0] = T
  [1] = T + 1
  [2] = T + 2
  [3] = T + 3
  [4] = T + 4
  [5] = T + 5
  [6] = T + 6
  [7] = T + 7
  [8] = T + 8
  [9] = T + 9
   
End Sub
Avatar billede vanni Nybegynder
24. oktober 2003 - 12:51 #9
Jeg har desværre mange af den slags felter i forskellige formularer. Måske nogen med enumerate, men jeg har ikke erfaring med den slags.
Tænkte om ikke en løkke på en eller anden måde, kunne forenkle/lette dette omstændenlige arbejde.
Avatar billede kabbak Professor
24. oktober 2003 - 13:49 #10
Lav et nyt tekstfelt i formularen, du kan kalde det T, det har jeg gjort i dette tilfælde og sæt så denne kode ind

Private Sub Form_Load()
  [T] = 1
  [0] = [T]
  [1] = [T] + 1
  [2] = [T] + 2
  [3] = [T] + 3
  [4] = [T] + 4
  [5] = [T] + 5
  [6] = [T] + 6
  [7] = [T] + 7
  [8] = [T] + 8
  [9] = [T] + 9
   
End Sub

Private Sub T_Exit(Cancel As Integer)
  [0] = [T]
  [1] = [T] + 1
  [2] = [T] + 2
  [3] = [T] + 3
  [4] = [T] + 4
  [5] = [T] + 5
  [6] = [T] + 6
  [7] = [T] + 7
  [8] = [T] + 8
  [9] = [T] + 9
  Me.Refresh
End Sub
Avatar billede vanni Nybegynder
26. oktober 2003 - 13:36 #11
Virker fint, men hvad bruger du T_Exit proceduren til, da det tilsyneladende fungerer uden?
Avatar billede kabbak Professor
26. oktober 2003 - 17:11 #12
Private Sub T_Exit(Cancel As Integer)
bruges når du har ændrer værdi i feltet T,
mens formen er aktiv

Private Sub Form_Load()
Standardværdi ved åbning
Avatar billede vanni Nybegynder
26. oktober 2003 - 17:24 #13
hmm - har oprettet en procedure, der via parameter ændrer indholdet i felterne og uden refresh fra knapper.
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