Avatar billede sigurd_h Praktikant
18. august 2010 - 15:38 Der er 26 kommentarer og
1 løsning

Hent data fra ekstern side og smid i lokal database

Hej

Jeg har et problem, som jeg håber at i kan hjælpe med.
På en ekstern side er der noget data jeg gerne vil have smidt i min lokale access database.
Data ligger i en tabel på siden, altså kan identificeres med <table> osv. Der er ikke andet end denne tabel på siden.
Det vil jeg gerne smide i min lokale access database, men hvordan gør jeg så det?

Håber at i kan hjælpe.

Sigurd
Avatar billede claes57 Ekspert
18. august 2010 - 15:49 #1
du laver en side med fx det mellem stregerne
--------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title></title>
</head><body>
<%
  On Error Resume Next
  linket="http://www.el-salg.com/test.asp"
  Set whttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  whttp.Open "GET",linket
  whttp.Send

  If whttp.Status <> 200 Then
    Response.Write "Der opstod en fejl :<hr>" & vbCrLf
    Response.Write "<P>fejlkode " & whttp.Status & "<Br>" & whttp.StatusText & "<hr>"
  Else
    helesiden = whttp.ResponseText
' hvis du vil se siden, så brug denne linje
      response.write helesiden
' hvis du vil se koden, så brug denne linje
'      response.write Server.HTMLEncode(helesiden)
    else
      response.write "Der er ændret på sitet - koden skal rettes..."
    end if
  End If
  On Error Goto 0
%>
</body>
</html>
--------

ret linjen
  linket="http://www.el-salg.com/test.asp"
til dit brug. Derefter skal du bare finde og aflæse data, og skrive det i databasen. Når jeg ikke ved, hvilken side du vil aflæse, så må du selv lave den del.
Avatar billede sigurd_h Praktikant
18. august 2010 - 15:56 #2
Hej claes57

Tak for dit svar.
Siden jeg vil aflæse vil ligne denne:
http://www.nationalliga.dk/test.asp
blot med flere linier :-)

Kan du hjælpe mig med det?

Sigurd
Avatar billede claes57 Ekspert
18. august 2010 - 17:07 #3
data på databasen? tabel og feltnavne?
for man kan nemt ud fra dit eksempel lave en rutine, der løber linjerne igennem, og skriver en post pr linje.
Avatar billede sigurd_h Praktikant
18. august 2010 - 18:04 #4
Det er en access databaser, lad os kalde den livefeeddata.mdb.
Tabellen hedder livedata og feltnavne er det samme som headeren på data-siden.
Avatar billede claes57 Ekspert
20. august 2010 - 13:49 #5
jeg har rettet lidt i feltnavne pga æøå og mellemrum - og det er utestet kode, så du må evt selv tilrette lidt.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title></title>
</head><body>
<%
Function findfelt(pos)
  start = instr(pos,helesiden,"<td") +4
  slut = instr(start,helesiden,"</td") -1
  findfelt = mid(helesiden, start, slut-start)
End Function

  On Error Resume Next
  linket="http://www.el-salg.com/test.asp"
  Set whttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  whttp.Open "GET",linket
  whttp.Send

  If whttp.Status <> 200 Then
    Response.Write "Der opstod en fejl :<hr>" & vbCrLf
    Response.Write "<P>fejlkode " & whttp.Status & "<Br>" & whttp.StatusText & "<hr>"
  Else
    helesiden = whttp.ResponseText
    Set Connect = Server.CreateObject("ADODB.Connection")
    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../db/livefeeddata.mdb")
' starter læsning fra efter første linjen med overskrifter
    start=instr(1,helesiden,"</tr")
' returnerer 0 hvis ikke flere <tr...
    fleredata=instr(start,helesiden,"<tr")
    while fleredata > 0
      felt=fleredata
      Product-Id    =CInt(findfelt(felt))
      Title            =findfelt(felt)
      Status        =CInt(findfelt(felt))
      Quantity        =CInt(findfelt(felt))
      Price            =CDbl(findfelt(felt))
      From-price    =CDbl(findfelt(felt))
      Savings        =CDbl(findfelt(felt))
      Shipping        =CDbl(findfelt(felt))
      Orders        =CInt(findfelt(felt))
      Quantity-ordered=CInt(findfelt(felt))
      Ordertypes    =findfelt(felt)
      Promo-code    =findfelt(felt)
      Supplier-name    =findfelt(felt)
      Supplier-mail    =findfelt(felt)
      Category        =findfelt(felt)
      Created        =CDate(findfelt(felt))
      Updated        =CDate(findfelt(felt))
      First-transaction=CDate(findfelt(felt))
      Last-transaction=CDate(findfelt(felt))
      Avance-pct    =CDbl(findfelt(felt))
      Omsaetning-tilfalder=findfelt(felt)
      Ansvarlig-saelger=findfelt(felt)
      Omsaetningsgruppe=findfelt(felt)
      KiC-gruppe    =findfelt(felt)
      Overkategori    =findfelt(felt)
      Underkategori    =findfelt(felt)
      SQL = "INSERT INTO livedata (Product-Id, Title, Status, Quantity, Price, From-price, Savings, Shipping, Orders, Quantity-ordered, Ordertypes, Promo-code, Supplier-name, Supplier-mail, Category, Created, Updated, First-transaction, Last-transaction, Avance-pct, Omsaetning-tilfalder, Ansvarlig-saelger, Omsaetningsgruppe, KiC-gruppe, Overkategori, Underkategori) VALUES(Product-Id & ',"' & Title & '",' Status & ',' & Quantity & ',' & Price & ',' & From-price & ',' & Savings & ',' & Shipping & ',' & Orders & ',' & Quantity-ordered &',"' & Ordertypes & '","' & Promo-code & '","' & Supplier-name & '","' & Supplier-mail & '","' & Category & ',#' & Created & '#,#' & Updated & '#,#' & First-transaction & '#,#' & Last-transaction & '#,' & Avance-pct & ',"' & Omsaetning-tilfalder & '","' & Ansvarlig-saelger & '","' & Omsaetningsgruppe & '","' & KiC-gruppe & '","' & Overkategori & '","' & Underkategori & '"')"
      Connect.Execute(SQL)
      fleredata=instr(felt,helesiden,"<tr")
    wend
    Connect.close
    set Connect = nothing
    response.write "Databasen er overført."
  End If
  On Error Goto 0
%>
</body>
</html>
Avatar billede sigurd_h Praktikant
23. august 2010 - 09:49 #6
Hej claes57

Mange tak for din tid.
Desværre får jeg en script timeout når jeg forsøger din kode:
Active Server Pages error 'ASP 0113'

Script timed out

/test/testExp.asp

The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.

Har du mulighed for at hjælpe mig? :-)

På forhånd tak.
Avatar billede sigurd_h Praktikant
23. august 2010 - 10:15 #7
Hej igen

Selve teksten der skal hentes ligger her:
http://www.nationalliga.dk/test/test.asp
Din kode ligger her:
http://www.nationalliga.dk/test/testExp.asp

Tak igen :-)
Avatar billede claes57 Ekspert
23. august 2010 - 10:45 #8
vi skal lige køre et par tests, så vi ser at den får hentet de enkelte linjer, og at den bevæger sig i tabellen (dvs ikke bare står og læser linje 1 hele tiden)
Du får en modificeret kode lidt senere i dag.
Avatar billede sigurd_h Praktikant
23. august 2010 - 10:53 #9
Det lyder godt,
det vil jeg se frem til :-)
Avatar billede claes57 Ekspert
23. august 2010 - 12:19 #10
her vil den bare læse linje 1, og udskrive sql-sætningen (dvs ikke database-kald)
Når den er på plads, så tager vi loopet, og derefter database-kaldet.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title></title>
</head><body>
<%
LANGUAGE=VBScript LCID=1030

Function findfelt(pos)
  start = instr(pos,helesiden,"<td") +4
  slut = instr(start,helesiden,"</td") -1
  findfelt = mid(helesiden, start, slut-start)
End Function

  On Error Resume Next
  linket="http://www.nationalliga.dk/test/test.asp"
  Set whttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  whttp.Open "GET",linket
  whttp.Send

  If whttp.Status <> 200 Then
    Response.Write "Der opstod en fejl :<hr>" & vbCrLf
    Response.Write "<P>fejlkode " & whttp.Status & "<Br>" & whttp.StatusText & "<hr>"
  Else
    helesiden = whttp.ResponseText
'    Set Connect = Server.CreateObject("ADODB.Connection")
'    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../db/livefeeddata.mdb")
' starter læsning fra efter første linjen med overskrifter
    start=instr(1,helesiden,"</tr")
' returnerer 0 hvis ikke flere <tr...
    fleredata=instr(start,helesiden,"<tr")
'    while fleredata > 0
      felt=fleredata
      Product-Id    =CInt(findfelt(felt))
      Title            =findfelt(felt)
      Status        =CInt(findfelt(felt))
      Quantity        =CInt(findfelt(felt))
      Price            =CDbl(findfelt(felt))
      From-price    =CDbl(findfelt(felt))
      Savings        =CDbl(findfelt(felt))
      Shipping        =CDbl(findfelt(felt))
      Orders        =CInt(findfelt(felt))
      Quantity-ordered=CInt(findfelt(felt))
      Ordertypes    =findfelt(felt)
      Promo-code    =findfelt(felt)
      Supplier-name    =findfelt(felt)
      Supplier-mail    =findfelt(felt)
      Category        =findfelt(felt)
      Created        =CDate(findfelt(felt))
      Updated        =CDate(findfelt(felt))
      First-transaction=CDate(findfelt(felt))
      Last-transaction=CDate(findfelt(felt))
      Avance-pct    =CDbl(findfelt(felt))
      Omsaetning-tilfalder=findfelt(felt)
      Ansvarlig-saelger=findfelt(felt)
      Omsaetningsgruppe=findfelt(felt)
      KiC-gruppe    =findfelt(felt)
      Overkategori    =findfelt(felt)
      Underkategori    =findfelt(felt)
      SQL = "INSERT INTO livedata (Product-Id, Title, Status, Quantity, Price, From-price, Savings, Shipping, Orders, Quantity-ordered, Ordertypes, Promo-code, Supplier-name, Supplier-mail, Category, Created, Updated, First-transaction, Last-transaction, Avance-pct, Omsaetning-tilfalder, Ansvarlig-saelger, Omsaetningsgruppe, KiC-gruppe, Overkategori, Underkategori) VALUES(Product-Id & ',"' & Title & '",' Status & ',' & Quantity & ',' & Price & ',' & From-price & ',' & Savings & ',' & Shipping & ',' & Orders & ',' & Quantity-ordered &',"' & Ordertypes & '","' & Promo-code & '","' & Supplier-name & '","' & Supplier-mail & '","' & Category & ',#' & Created & '#,#' & Updated & '#,#' & First-transaction & '#,#' & Last-transaction & '#,' & Avance-pct & ',"' & Omsaetning-tilfalder & '","' & Ansvarlig-saelger & '","' & Omsaetningsgruppe & '","' & KiC-gruppe & '","' & Overkategori & '","' & Underkategori & '"')"
response.write sql & "<hr>"
'      Connect.Execute(SQL)
      fleredata=instr(felt,helesiden,"<tr")
'    wend
'    Connect.close
'    set Connect = nothing
    response.write "Databasen er ajourført."
  End If
  On Error Goto 0
%>
</body>
</html>
Avatar billede sigurd_h Praktikant
23. august 2010 - 12:57 #11
Tak, jeg prøver det.
Webserveren er lige nede, så det bliver så snart den er retur.
Avatar billede sigurd_h Praktikant
23. august 2010 - 20:18 #12
Så er serveren tilbage, og med følgende resultat:

http://www.nationalliga.dk/test/testExp.asp
Avatar billede claes57 Ekspert
24. august 2010 - 17:07 #13
ok - den har ikke fat i data, men får
VALUES(Product-Id & ',
i stedet for data.
Det virker som om den ikke kan finde/søge på < tegnet. Skifter lige, så < vises som &#60; istedet


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title></title>
</head><body>
<%
LANGUAGE=VBScript LCID=1030

Function findfelt(pos)
  start = instr(pos,helesiden,"&#60;td") +4
  slut = instr(start,helesiden,"&#60;/td") -1
  findfelt = mid(helesiden, start, slut-start)
End Function

  On Error Resume Next
  linket="http://www.nationalliga.dk/test/test.asp"
  Set whttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  whttp.Open "GET",linket
  whttp.Send

  If whttp.Status <> 200 Then
    Response.Write "Der opstod en fejl :<hr>" & vbCrLf
    Response.Write "<P>fejlkode " & whttp.Status & "<Br>" & whttp.StatusText & "<hr>"
  Else
    helesiden = whttp.ResponseText
    helesiden = Server.HTMLEncode(helesiden)
'    Set Connect = Server.CreateObject("ADODB.Connection")
'    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../db/livefeeddata.mdb")
' starter læsning fra efter første linjen med overskrifter
    start=instr(1,helesiden,"&#60;/tr")
' returnerer 0 hvis ikke flere <tr...
    fleredata=instr(start,helesiden,"&#60;tr")
'    while fleredata > 0
      felt=fleredata
      Product-Id    =CInt(findfelt(felt))
      Title            =findfelt(felt)
      Status        =CInt(findfelt(felt))
      Quantity        =CInt(findfelt(felt))
      Price            =CDbl(findfelt(felt))
      From-price    =CDbl(findfelt(felt))
      Savings        =CDbl(findfelt(felt))
      Shipping        =CDbl(findfelt(felt))
      Orders        =CInt(findfelt(felt))
      Quantity-ordered=CInt(findfelt(felt))
      Ordertypes    =findfelt(felt)
      Promo-code    =findfelt(felt)
      Supplier-name    =findfelt(felt)
      Supplier-mail    =findfelt(felt)
      Category        =findfelt(felt)
      Created        =CDate(findfelt(felt))
      Updated        =CDate(findfelt(felt))
      First-transaction=CDate(findfelt(felt))
      Last-transaction=CDate(findfelt(felt))
      Avance-pct    =CDbl(findfelt(felt))
      Omsaetning-tilfalder=findfelt(felt)
      Ansvarlig-saelger=findfelt(felt)
      Omsaetningsgruppe=findfelt(felt)
      KiC-gruppe    =findfelt(felt)
      Overkategori    =findfelt(felt)
      Underkategori    =findfelt(felt)
      SQL = "INSERT INTO livedata (Product-Id, Title, Status, Quantity, Price, From-price, Savings, Shipping, Orders, Quantity-ordered, Ordertypes, Promo-code, Supplier-name, Supplier-mail, Category, Created, Updated, First-transaction, Last-transaction, Avance-pct, Omsaetning-tilfalder, Ansvarlig-saelger, Omsaetningsgruppe, KiC-gruppe, Overkategori, Underkategori) VALUES(Product-Id & ',"' & Title & '",' Status & ',' & Quantity & ',' & Price & ',' & From-price & ',' & Savings & ',' & Shipping & ',' & Orders & ',' & Quantity-ordered &',"' & Ordertypes & '","' & Promo-code & '","' & Supplier-name & '","' & Supplier-mail & '","' & Category & ',#' & Created & '#,#' & Updated & '#,#' & First-transaction & '#,#' & Last-transaction & '#,' & Avance-pct & ',"' & Omsaetning-tilfalder & '","' & Ansvarlig-saelger & '","' & Omsaetningsgruppe & '","' & KiC-gruppe & '","' & Overkategori & '","' & Underkategori & '"')"
response.write sql & "<hr>"
'      Connect.Execute(SQL)
      fleredata=instr(felt,helesiden,"&#60;tr")
'    wend
'    Connect.close
'    set Connect = nothing
    response.write "Databasen er ajourført."
  End If
  On Error Goto 0
%>
</body>
</html>
Avatar billede sigurd_h Praktikant
24. august 2010 - 18:10 #14
Hej

Fortsat intet data:
http://www.nationalliga.dk/test/testExp.asp

Vil blot lige sige mange tak for din tid og hjælp endnu engang!

Sigurd
Avatar billede claes57 Ekspert
24. august 2010 - 18:36 #15
det er fordi < kan hedde både &#60; og &lt;
Jeg brugte den første, og åbenbart er det den anden. Så en gang til

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title></title>
</head><body>
<%
LANGUAGE=VBScript LCID=1030

Function findfelt(pos)
  start = instr(pos,helesiden,"&lt;td") +11
  slut = instr(start,helesiden,"&lt;/td") -1
  findfelt = mid(helesiden, start, slut-start)
End Function

  On Error Resume Next
  linket="http://www.nationalliga.dk/test/test.asp"
  Set whttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  whttp.Open "GET",linket
  whttp.Send

  If whttp.Status <> 200 Then
    Response.Write "Der opstod en fejl :<hr>" & vbCrLf
    Response.Write "<P>fejlkode " & whttp.Status & "<Br>" & whttp.StatusText & "<hr>"
  Else
    helesiden = whttp.ResponseText
    helesiden = Server.HTMLEncode(helesiden)
'    Set Connect = Server.CreateObject("ADODB.Connection")
'    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../db/livefeeddata.mdb")
' starter læsning fra efter første linjen med overskrifter
    start=instr(1,helesiden,"&lt;/tr")
' returnerer 0 hvis ikke flere <tr...
    fleredata=instr(start,helesiden,"&lt;tr")
'    while fleredata > 0
      felt=fleredata
      Product-Id    =CInt(findfelt(felt))
      Title            =findfelt(felt)
      Status        =CInt(findfelt(felt))
      Quantity        =CInt(findfelt(felt))
      Price            =CDbl(findfelt(felt))
      From-price    =CDbl(findfelt(felt))
      Savings        =CDbl(findfelt(felt))
      Shipping        =CDbl(findfelt(felt))
      Orders        =CInt(findfelt(felt))
      Quantity-ordered=CInt(findfelt(felt))
      Ordertypes    =findfelt(felt)
      Promo-code    =findfelt(felt)
      Supplier-name    =findfelt(felt)
      Supplier-mail    =findfelt(felt)
      Category        =findfelt(felt)
      Created        =CDate(findfelt(felt))
      Updated        =CDate(findfelt(felt))
      First-transaction=CDate(findfelt(felt))
      Last-transaction=CDate(findfelt(felt))
      Avance-pct    =CDbl(findfelt(felt))
      Omsaetning-tilfalder=findfelt(felt)
      Ansvarlig-saelger=findfelt(felt)
      Omsaetningsgruppe=findfelt(felt)
      KiC-gruppe    =findfelt(felt)
      Overkategori    =findfelt(felt)
      Underkategori    =findfelt(felt)
      SQL = "INSERT INTO livedata (Product-Id, Title, Status, Quantity, Price, From-price, Savings, Shipping, Orders, Quantity-ordered, Ordertypes, Promo-code, Supplier-name, Supplier-mail, Category, Created, Updated, First-transaction, Last-transaction, Avance-pct, Omsaetning-tilfalder, Ansvarlig-saelger, Omsaetningsgruppe, KiC-gruppe, Overkategori, Underkategori) VALUES(Product-Id & ',"' & Title & '",' Status & ',' & Quantity & ',' & Price & ',' & From-price & ',' & Savings & ',' & Shipping & ',' & Orders & ',' & Quantity-ordered &',"' & Ordertypes & '","' & Promo-code & '","' & Supplier-name & '","' & Supplier-mail & '","' & Category & ',#' & Created & '#,#' & Updated & '#,#' & First-transaction & '#,#' & Last-transaction & '#,' & Avance-pct & ',"' & Omsaetning-tilfalder & '","' & Ansvarlig-saelger & '","' & Omsaetningsgruppe & '","' & KiC-gruppe & '","' & Overkategori & '","' & Underkategori & '"')"
response.write sql & "<hr>"
'      Connect.Execute(SQL)
      fleredata=instr(felt,helesiden,"&lt;tr")
'    wend
'    Connect.close
'    set Connect = nothing
    response.write "Databasen er ajourført."
  End If
  On Error Goto 0
%>
</body>
</html>
Avatar billede sigurd_h Praktikant
24. august 2010 - 19:51 #16
Avatar billede claes57 Ekspert
24. august 2010 - 20:41 #17
det er pudsigt - jeg vil lave en version på mit site til test, så jeg ikke sidder og dummer mig mere end højest nødvendigt.
Kommer tilbage...
Avatar billede sigurd_h Praktikant
24. august 2010 - 22:05 #18
Det er helt i orden :-)
Avatar billede claes57 Ekspert
25. august 2010 - 15:52 #19
så skulle det køre - det er lige lagt lidt test ind på at den ikke kommer til at starte forfra (fx ved manglende data i en linje).
Jeg har rette i feltnavne (det er noget tid siden, jeg lavede noget i asp): åbenbart når jeg har fx product-id så trækker den id fra product - så der er ikke bindestreger mere.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1">
<title></title>
</head><body>
<%
LANGUAGE = VBScript
LCID = 1030

Function findfelt(felt,slutdata)
  start = instr(felt,helesiden,"<td") +4
  slut = instr(start,helesiden,"</td")
  if slut < felt or slut > slutdata then
    findfelt = ""
  else
    findfelt = trim(mid(helesiden, start, slut-start))
  end if
End Function

  On Error Resume Next
  linket = "http://www.nationalliga.dk/test/test.asp"
  Set whttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  whttp.Open "GET",linket
  whttp.Send

  If whttp.Status <> 200 Then
    Response.Write "Der opstod en fejl :<hr>" & vbCrLf
    Response.Write "<P>fejlkode " & whttp.Status & "<Br>" & whttp.StatusText & "<hr>"
  Else
    helesiden = whttp.ResponseText
    helesiden = replace(helesiden,"&nbsp;"," ")
    helesiden = replace(helesiden,"&#160;"," ")
    Set Connect = Server.CreateObject("ADODB.Connection")
    Connect.Open "driver = {Microsoft Access Driver (*.mdb)};dbq = " &Server.MapPath("../db/livefeeddata.mdb")
' starter læsning fra efter første linjen med overskrifter
    start = instr(1,helesiden,"</tr")
' returnerer 0 hvis ikke flere <tr...
    fleredata = instr(start,helesiden,"<tr")
    while fleredata > 0
      slutdata = instr(fleredata,helesiden,"</tr")
      felt = instr(fleredata,helesiden,vbCrLf)
      ProductId = CInt(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Title = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Status = CInt(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Quantity = CInt(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Price = CDbl(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Fromprice = CDbl(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Savings = CDbl(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Shipping = CDbl(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Orders = CInt(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Quantityordered = CInt(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Ordertypes = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Promocode = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Suppliername = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Suppliermail = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Category = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Created = CDate(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Updated = CDate(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Firsttransaction = CDate(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Lasttransaction = CDate(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Avancepct = CDbl(findfelt(felt,slutdata))
      felt = instr(felt+2,helesiden,vbCrLf)
      Omsaetningtilfalder = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Ansvarligsaelger = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Omsaetningsgruppe = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      KiCgruppe = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Overkategori = findfelt(felt,slutdata)
      felt = instr(felt+2,helesiden,vbCrLf)
      Underkategori = findfelt(felt,slutdata)

      SQL = "INSERT INTO livedata (ProductId, Title, Status, Quantity, Price, Fromprice, Savings, Shipping, Orders, Quantityordered, Ordertypes, Promocode, Suppliername, Suppliermail, Category, Created, Updated, Firsttransaction, Lasttransaction, Avancepct, Omsaetningtilfalder, Ansvarligsaelger, Omsaetningsgruppe, KiCgruppe, Overkategori, Underkategori) VALUES(" & ProductId & ",'" & Title & "'," & Status & "," & Quantity & "," & Price & "," & Fromprice & "," & Savings & "," & Shipping & "," & Orders & "," & Quantityordered & ",'" & Ordertypes & "','" & Promocode & "','" & Suppliername & "','" & Suppliermail & "','" & Category & "',#" & Created & "#,#" & Updated & "#,#" & Firsttransaction & "#,#" & Lasttransaction & "#," & Avancepct & ",'" & Omsaetningtilfalder & "','" & Ansvarligsaelger & "','" & Omsaetningsgruppe & "','" & KiCgruppe & "','" & Overkategori & "','" & Underkategori & "')"
      Connect.Execute(SQL)
      fleredata = instr(fleredata+5,helesiden,"<tr")
    wend
    Connect.close
    set Connect = nothing
    response.write "Databasen er ajourført.<hr>"
  End If
  On Error Goto 0
%>
</body>
</html>
Avatar billede sigurd_h Praktikant
25. august 2010 - 17:31 #20
Hmm, jeg får ingen fejl.
Men der kommer ikke noget data i databasen...
Avatar billede sigurd_h Praktikant
25. august 2010 - 17:36 #21
Mystisk, jeg har prøvet at slette databasen og den melder ikke engang fejl når den ikke eksisterer...
Hvad kan være galt?
Avatar billede claes57 Ekspert
25. august 2010 - 18:30 #22
database skal ligge her
Server.MapPath("../db/livefeeddata.mdb")
ellers ret koden - og der skal jo være skriveadgang til mappen, og tabellen skal findes med de valgte navne på felter.
Avatar billede claes57 Ekspert
25. august 2010 - 18:32 #23
fjern evt linjen
  On Error Resume Next
så vil du få fejlkoder frem.
Avatar billede sigurd_h Praktikant
25. august 2010 - 20:32 #24
Hej

Jeg får en fejl, som du kan se her:
http://www.nationalliga.dk/test/testExp.asp

Type mismatch: 'CDbl'

Sigurd
Avatar billede claes57 Ekspert
25. august 2010 - 20:48 #25
linje 54 er
Savings = CDbl(findfelt(felt,slutdata))
jeg har valgt at opfatte feltet som tal (derfor CDbl()) - er der tekst, så går det galt - eller hvis du har oprettet feltet som tekst/note/dato i databasen, så vil den ikke.
Avatar billede sigurd_h Praktikant
25. august 2010 - 22:29 #26
Ah, jeg prøver at rette igennem
Jeg rejser og er først hjemme mandag, så du vil ikke høre fra mig indtil da.
Tak for hjælpen!!!!
Avatar billede sigurd_h Praktikant
08. december 2010 - 11:26 #27
Aldrig løst.
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