Avatar billede hanne-rk Nybegynder
30. marts 2005 - 00:08 Der er 11 kommentarer og
1 løsning

replace funktion

jeg skal importere en .txt fil til min database, og det går fint.
.txt filen er ; separeret

MEN når jeg overfører data, "glemmer" den alle tal efter . hvis et tal er tusind skilt fx. 1.223 bliver til 1

Jeg har prøvet med denne replace funktion, men det virker desværre ikke.

Function replace3(VAR)
    VAR = replace("" & VAR,"kr","")
    VAR = replace("" & VAR,"kr.","")
    VAR = replace("" & VAR,"","")
    VAR = replace("" & VAR,"",".")
    VAR = trim(VAR)
    replace3 = VAR
End Function

selve indsætningen ser sådan ud :
replace3(CONTENTSPLIT(1))

Hvorfor sker der intet?

CONTENTSPLIT(1) er fordi jeg splitter den semikolen separerde fil ad i split's

Burde det ikke erstatte et . med ingenting?
Avatar billede cpccorp Juniormester
30. marts 2005 - 00:31 #1
du skal bytte dem om
Avatar billede baitianlong Nybegynder
30. marts 2005 - 00:42 #2
Hvad sker der her ? :    VAR = replace("" & VAR,"","")  :)
Avatar billede cpccorp Juniormester
30. marts 2005 - 00:45 #3
ja virker lidt omsonst
Avatar billede hanne-rk Nybegynder
30. marts 2005 - 00:58 #4
Hvordan vil i have den til at se ud?

Function replace3(VAR)
    VAR = replace("" & VAR,"kr","")
    VAR = replace("" & VAR,"kr.","")
    VAR = replace("" & VAR,"","")
    VAR = replace("" & VAR,"",".")
    VAR = trim(VAR)
    replace3 = VAR
End Function
Avatar billede cpccorp Juniormester
30. marts 2005 - 01:16 #5
replace(strengen, det der skal findes, det der skal erstatte det)

VAR = replace("" & VAR,"","") erstat ingenting med ingenting
Avatar billede fennec Nybegynder
30. marts 2005 - 08:11 #6
Jeg vil mene det skal være sådan, men jeg er ikke sikker på "kr" delen. Går ud fra at nogle af tallene har kr efter/før tallet og det også skal fjernes.

Function replace3(VAR)
    VAR = replace("" & VAR,"kr","")
    VAR = replace("" & VAR,"kr.","")
    VAR = replace("" & VAR,".","")
    VAR = trim(VAR)
    replace3 = VAR
End Function
Avatar billede nubi19 Nybegynder
30. marts 2005 - 10:41 #7
Function replace3(VAR)
tmp = CStr(VAR)
tmp = replace(tmp, "kr", "")
tmp = replace(tmp, ".", "")
replace3 = trim(tmp)
End Function

Det er nok, "kr." fjernes automatisk, da først "kr" fjernes og dernæst "."

Hvis den skal smide det tilbage som tal, kan du evt. erstatte
replace3 = trim(tmp)
med
replace3 = CInt(tmp)
Avatar billede hanne-rk Nybegynder
30. marts 2005 - 23:20 #8
linien som skal sættes ind ser fx sådan ud :
51999;200;0;200;0;300;0;0;1.400;0;1.400;0;2.100;0;0

jeg har prøvet alle jeres forslag, men alle "glemmer" de sidste 3 tal efter et . :-(

Det skal ind i en access database.

Hvorfor pokker virker det ikke :-(
Avatar billede baitianlong Nybegynder
30. marts 2005 - 23:58 #9
<%
Dim tal
tekst = "51999;...200;0;200;.kr0;300;0;0;Kr.1.400;0;1.400;0;2.100;0;kr0"
tal = Split(tekst, ";")
talsize = (UBound(tal) - LBound(tal))
for i=0 to talsize
    hest = Replace(tal(i), ".", "")
    hest1 = Replace(hest, "Kr", "")
    hest2 = Replace(hest1, "kr", "")
    Response.Write(hest2&"<br>")
Next
%>

Værsågod :)
Avatar billede baitianlong Nybegynder
31. marts 2005 - 00:02 #10
så kan du jo ellers bare skifte min Response.Write linie ud med hvad du vil. Der har du tallet stripped i variablen hest2 :)
Avatar billede hanne-rk Nybegynder
31. marts 2005 - 00:26 #11
okay ..... der stod jeg helt af....
Jeg forhøjer lige til 200 point, da det åbenbart kræver lidt mere end blot en hjælpende hånd, da jeg er ret fatsvag med dette (jeg kan simpelthen ikke se logikken)
Jeg ved godt det er meget at bede om, men pleeeaze help me...

jeg kan se på .txt filen at jeg faktisk aldrig skal skifte andet end "." og ikke kr.

men min  indsæt fil ser sådan ud:

Function replace3(VAR)
tmp = CStr(VAR)
tmp = replace(tmp, "kr", "")
tmp = replace(tmp, ".", "")
replace3 = CInt(tmp)
End Function

Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dyreenheder.mdb")

SQL = "DELETE * FROM admintal"
conn.execute(SQL)

Set fso = CreateObject("Scripting.FileSystemObject")
    MYFILE = Server.Mappath("index.txt")
    Set CONTENT = fso.OpenTextFile(MYFILE,1)
        COUNTER = 1
        Do While not CONTENT.AtEndOfStream
            CONTENTLINE = CONTENT.readline
            CONTENTSPLIT = split(CONTENTLINE,";")
            SQL = "INSERT INTO admintal(avlernr, indexmandag, indextirsdag, indexonsdag, indextorsdag, indexfredag, indexlørdag, indexsøndag, mængdemandag, mængdetirsdag, mængdeonsdag, mængdetorsdag, mængdefredag, mængdelørdag, mængdesøndag) VALUES (" & replace3(CONTENTSPLIT(0)) & ", " & replace3(CONTENTSPLIT(1)) & ", " & replace3(CONTENTSPLIT(2)) & ", " & replace3(CONTENTSPLIT(3)) & ", " & replace3(CONTENTSPLIT(4)) & ", " & replace3(CONTENTSPLIT(5)) & ", " & replace3(CONTENTSPLIT(6)) & ", " & replace3(CONTENTSPLIT(7)) & ", " & replace3(CONTENTSPLIT(8)) & ", " & replace3(CONTENTSPLIT(9)) & ", " & replace3(CONTENTSPLIT(10)) & ", " & replace3(CONTENTSPLIT(11)) & ", " & replace3(CONTENTSPLIT(12)) & ", " & replace3(CONTENTSPLIT(13)) & ", " & replace3(CONTENTSPLIT(14)) & ")"
            conn.execute(SQL)
            COUNTER = COUNTER + 1
        Loop
    CONTENT.Close
set fso = Nothing

conn.Close
Set conn = Nothing
Avatar billede jsc Nybegynder
02. april 2005 - 21:21 #12
er det sådan?

<%

Function replace3(VAR)
temp = VAR
temp = replace(temp, "kr", "")
temp = replace(temp, ".", "")
temp = replace(temp, ",", "")
replace3 = temp
End Function

Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dyreenheder.mdb")

SQL = "DELETE * FROM admintal"
conn.execute(SQL)

Set fso = CreateObject("Scripting.FileSystemObject")
    MYFILE = Server.Mappath("index.txt")
    Set CONTENT = fso.OpenTextFile(MYFILE,1)
        COUNTER = 1
        Do While not CONTENT.AtEndOfStream
            CONTENTLINE = CONTENT.readline
            CONTENTSPLIT = split(CONTENTLINE,";")
            SQL = "INSERT INTO admintal(avlernr, indexmandag, indextirsdag, indexonsdag, indextorsdag, indexfredag, indexlørdag, indexsøndag, mængdemandag, mængdetirsdag, mængdeonsdag, mængdetorsdag, mængdefredag, mængdelørdag, mængdesøndag) VALUES (" & replace3(CONTENTSPLIT(0)) & ", " & replace3(CONTENTSPLIT(1)) & ", " & replace3(CONTENTSPLIT(2)) & ", " & replace3(CONTENTSPLIT(3)) & ", " & replace3(CONTENTSPLIT(4)) & ", " & replace3(CONTENTSPLIT(5)) & ", " & replace3(CONTENTSPLIT(6)) & ", " & replace3(CONTENTSPLIT(7)) & ", " & replace3(CONTENTSPLIT(8)) & ", " & replace3(CONTENTSPLIT(9)) & ", " & replace3(CONTENTSPLIT(10)) & ", " & replace3(CONTENTSPLIT(11)) & ", " & replace3(CONTENTSPLIT(12)) & ", " & replace3(CONTENTSPLIT(13)) & ", " & replace3(CONTENTSPLIT(14)) & ")"
            conn.execute(SQL)
            COUNTER = COUNTER + 1
        Loop
    CONTENT.Close
set fso = Nothing

conn.Close
Set conn = Nothing

%>

/jsc
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