Avatar billede carparknorth Nybegynder
11. august 2003 - 19:16 Der er 10 kommentarer og
1 løsning

Lægge data fra LOOP ind i en variabel.

Hejsa.

Jeg har et problem med et loop. Lige nu læser jeg data fra en txt-fil. Jeg bruger SPLIT funktionen to gange.

Eks på data:

1G; Bent Andersen

Første funktion splitter (;)
Anden funktion splitter ( ) - altså mellemrum.

Dette gør jeg, fordi jeg skal have delt navnet op, da jeg skal have lagt efternavnet ind i en kolonne, mens resten af navnet skal ind i en anden.

Eks af min kode

Do While Not TS.AtendOfStream 

  strLine = TS.ReadLine ' Read one line at a time
  strelev2 = split(strLine,";")
  elev = strelev2(1)
  efter2 = split(elev," ")
  efter = ubound(efter2)
  elever = elever + 1

  klasse = strelev2(0)


for I = 0 to efter-1
response.write efter2(I) &" "
next

response.write efter2(efter)
response.write "<br>"

 
 
Loop



Efternavnet er defineret..

Hvordan får jeg alt, hvad (for I = 0 to efter-1) LOOP'ET retunerer ind i en database?

Det kan sikkert gøres meget nemt, men det her er den måde jeg kan finde ud af.
Avatar billede mm12010 Nybegynder
11. august 2003 - 19:23 #1
for I = 0 to efter-1
connObj.Execute("INSERT INTO dintabel (kolonne) VALUES('" & efter2(I) & "')")
next
Avatar billede carparknorth Nybegynder
11. august 2003 - 19:38 #2
nej... det var ikke helt det jeg mener. Hvis jeg gør det sådan som du skriver vil jeg jo få flere rækker i min database til et navn.

Min database:

ID, Klasse, Efternavn, Navn, Nummer, Email

Efternavnet er defineret. Nu skal jeg have resten af navnet ind i kolonnen Navn.

En elev må kun fylde en række!
Avatar billede mm12010 Nybegynder
11. august 2003 - 19:44 #3
jeg er ikke lige så hård i VB men lige 2 sek så skal jeg prøve :o)
Avatar billede mm12010 Nybegynder
11. august 2003 - 19:52 #4
Sådan?

Do While Not TS.AtendOfStream 
    strLine = TS.ReadLine ' Read one line at a time
    strelev2 = split(strLine,";")
    elev = strelev2(1)
    efter2 = split(elev," ")
    efter = ubound(efter2)
    elever = elever + 1
    klasse = strelev2(0)
   
    connObj.Execute("INSERT INTO dintabel (Klasse, Efternavn, Navn) VALUES('" & klasse & "','" & efter2(0) & "','" & efter2(1) & "')")
Loop
Avatar billede carparknorth Nybegynder
11. august 2003 - 19:55 #5
vil det virke hvis nu eleven fx hedder

Bent Juul Hansen Nielsen?

altså fire navne?
Avatar billede mm12010 Nybegynder
11. august 2003 - 19:58 #6
både ja og nej

der bliver kun indsat de 2 første navne: Bent Juul
Avatar billede carparknorth Nybegynder
11. august 2003 - 19:59 #7
ja... og det duer jo ikke... desværre!
Avatar billede Slettet bruger
11. august 2003 - 20:13 #8
Hvad med det her:
Do While Not TS.AtendOfStream 
    fornavn=""
    strLine = TS.ReadLine ' Read one line at a time
    strelev2 = split(strLine,";")
    elev = strelev2(1)
    efter2 = split(elev," ")
    efter = ubound(efter2)
    for i=0 to ubound(efter2) - 1
      fornavn = fornavn + efter(i)
    next
    elever = elever + 1
    klasse = strelev2(0)
   
    connObj.Execute("INSERT INTO dintabel (Klasse, Efternavn, Navn) VALUES('" & klasse & "','" & efter2(0) & "','" & fornavn & "')")
Loop
Avatar billede mm12010 Nybegynder
11. august 2003 - 20:24 #9
Do While Not TS.AtendOfStream 
    strLine = TS.ReadLine  'Read one line at a time
    strelev2 = split(strLine,";")
    elev = strelev2(1)
    names = split(elev," ")
    if UBound(names) > 2 then
        fornavn = names(0)
        efternavn = ""
        for i=1 to UBound(names)
            efternavn = efternavn & " " & names(i)
        next
    end if
    elever = elever + 1
    klasse = strelev2(0)
    'response.Write(fornavn&"<br>"&efternavn&"<br>"&klasse)
    connObj.Execute("INSERT INTO dintabel (Klasse, Efternavn, Navn) VALUES('" & klasse & "','" & efternavn & "','" & fornavn & "')")
Loop
Avatar billede carparknorth Nybegynder
13. august 2003 - 21:10 #10
tak skal du have. Jeg blev nødt til at rette meget i scriptet, men du gav mig idéen.

Tak
Avatar billede mm12010 Nybegynder
13. august 2003 - 23:11 #11
jeg koder ikke selv i VB :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