Avatar billede martin_moth Mester
29. oktober 2002 - 20:46 Der er 7 kommentarer og
1 løsning

VB og database via DAO - hjæælp

Jeg har en database med en tabel SOVS. I tabellen er der 99 poster, hvis navne jeg har gemt i et array dbFELTArray(). I et andet array, SvarArray(), ligger de værdier jeg vil smide ind i tabellen.

Eksempel:

dbFETLArray(0) = "Fornavn"
dbFETLArray(1) = "Alder"
...
SvarArray(0) = "Anders"
SvarArray(1) = "57 år"
...

Udpluk af min kode:

  Set dbWs = DBEngine.Workspaces(0)
  Set dbSOVS = dbWs.OpenDatabase(Text2.Text)
  Set dbSOVSrec = dbSOVS.OpenRecordset("SELECT * _
FROM SOVS", dbOpenDynaset)
  For i = 0 To 99
    With dbSOVSrec
      .AddNew
      !dbFELTArray(i) = SvarArray(i) '<-- FEJL
      .Update
    End With
  Next i

Problemet er, at jeg åbenbart ikke kan kalde feltnavnene ved at bruge arrayet - hvis jeg i stedet skriver:

  !Navn = SvarArray(i)
  !Alder = SvarArray(i)

virker det fint- men den løsning kan jeg ikke bruge, jeg VIL have at den skal læse feltnavnet fra mit array...

Hjæælp - hvordan kan man gøre det jeg vil?
Avatar billede tubber Juniormester
29. oktober 2002 - 21:03 #1
hvad med :

bare lige et forslag:

! & dbFELTArray(i) = SvarArray(i)
Avatar billede martin_moth Mester
29. oktober 2002 - 21:10 #2
Nop - desværre. ! [dbFELTArray(i)] = SvarArray(i) virker heller ikke :-(

Kom endelig med flere forslag - når den nød er knækket, er programmet færdigt...:o)
Avatar billede martin_moth Mester
29. oktober 2002 - 21:29 #3
Jeg droppede array-funktionen, og skrev feltnavnene (100 stk!) i stedet - det skulle gå lidt hurtigt. Der stadig point af hente hvis en har løsningen, selvom jeg ikke har desperat brug for den længere.
Avatar billede tubber Juniormester
29. oktober 2002 - 21:40 #4
! + dbFELTArray
! & 'dbFELTArray'
!" & dbFELTArray & "
! & "'dbFELTArray'"
! & "" & dbFELTArray & ""
! & "' & dbFELTArray & '"
Avatar billede martin_moth Mester
30. oktober 2002 - 15:03 #5
Jeg kan ikke få nogen af dem til at virke - og jeg droppede somsagt array-funktionen og skrev navnene manuelt i stedet :o(
Avatar billede p65 Nybegynder
30. oktober 2002 - 15:11 #6
Jeg kender ikke svaret på dit spørgsmål, men vil blot sige at jeg ville have lageret data på en anden måde.
Du har valgt at lave database posten med 99 felter.

Jeg ville have lavet posten med 2 felter:
1. DataNavn     
2. DataIndhold

DataNavn skal så indholde navnet på den ønskede data type, f.eks Fornavn, Alder osv.
DataIndhold skal indeholde det data du arbejder med, f.eks Anders, 57 år osv.

Tabel udseende
ID        DataNavn      DataIndhold
0          Fornavn      Anders
1          Alder        57 år
Avatar billede kjeld_klit Nybegynder
30. oktober 2002 - 16:00 #7
Man kan normalt godt læse feltnavnet selv om man refererer til det gennem et index, ved at tilføje >.Name<
Har du prøvet følgende?
!dbFELTArray(i).Name = SvarArray(i) '<-- FEJL
Avatar billede martin_moth Mester
02. september 2003 - 16:45 #8
Nop - ikke forsøgt, et gammelt projekt nu. Men skal nok huske tippet :o)
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
Kurser inden for grundlæggende programmering

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